none
credenziali utente RRS feed

  • Domanda

  • Ciao a tutti,
    ho sviluppato una pagina aspx sul mio pc che si connette ad un server remoto su cui c'è installato sql server.
    E fin qui tutto ok.. la pagina preleva dal webconfig la user e la password e si connette al db.

    Ma come posso fare per non far viaggiare in chiaro user e password dalla mia pagina locale al db remoto?

    Ho provato la crittografia.. in locale funziona ma in remoto no.. perché non ci sono i permessi...

    Oppure, come posso creare un utente (con il minimo dei permessi) in modo che anche se mi intercettino le credenziali non succeda niente?


    Grazie per l'aiuto
    Saluti
    • Modificato duppino sabato 12 novembre 2011 23:44
    sabato 12 novembre 2011 23:41

Risposte

  • salve,

    prova a vedere http://www.sqlservercentral.com/Forums/Topic860688-146-1.aspx per l'utilizzo di criptazione delle trasmissioni... l'utilizzo di SSL e/o di certificati potrebbe risultare complicato se non sei proprietario del database server...

    saluti


    http://www.asql.biz - DbaMgr2k - DbaMgr and further SQL Tools http://www.hotelsole.com/
    • Contrassegnato come risposta duppino venerdì 18 novembre 2011 10:49
    • Contrassegno come risposta annullato duppino venerdì 18 novembre 2011 13:04
    • Contrassegnato come risposta duppino lunedì 20 febbraio 2012 09:46
    domenica 13 novembre 2011 16:16
    Moderatore
  • ti rispondo per la seconda domanda visto che hai già un indicazione per la criptazione.

    In sql server sempre che tu sia amministratore, puoi creare degli utenti e specificare in maniera molto granulare i vari privilegi su gli oggetti sql , tabelle viste stored etc.

    Puoi garantire solo lettura su di una tabella, oppure lettura e update delete etc.

    E' cmq mooolto consigliabile (perdona l'italiano) che il sito web acceda al db, non con account amministratore, ma con account dedicato considereando i privilegi massimi di lettura update e delete che possono risultare da un qualsiasi account web.

    Dopo rimarrebbe il problema di passare questa autenticazione:

    Autenticazione sql  (fornendo usern e password)

    autenticazione windows che probabilmente è più sicura.

     

    Ricorda cmq che anche con quella sql, non è che intercettando il traffico della pagina web (iis - verso client e viceversa) leggi criptato o no le credenziali di accesso sql.

     

     

    • Contrassegnato come risposta duppino venerdì 18 novembre 2011 10:49
    • Contrassegno come risposta annullato duppino venerdì 18 novembre 2011 13:03
    • Contrassegnato come risposta duppino lunedì 20 febbraio 2012 09:46
    lunedì 14 novembre 2011 07:29
  • so che c'è la possibilità di criptare alcune sezioni del web config come mostrato qui

    http://www.aspitalia.com/script/802/Criptare-Decriptare-Stringa-Connessione-ASP.NET-2.0.aspx

    ma io non l'ho mai fatto.

    Come dicevi tu, se sito web e db sono sulla stessa rete di a...a non ci sono problemi, nel caso del tuo pc personale, ok le info viaggeranno in qualche modo tra il tuo pc e il db ma non credo sia così semplice intercettarle e soprattutto farlo nel momento in cui tu testerai il tuo sito con questa configurazione.

     

    Per il fatto di essere assolutamente certi che la stringa di connessione anche criptata non venga letta dal tuo hosting, qui faccio appello ad un pò di intuito

    - ma se io sono aruba, che me ne frega di leggere la tua stringa di connessione per vedere cosa c'è nel db ? sono amministratore del db guardo quello che mi pare in tutti i db se voglio

    no ?

    cripta le informazioni nel db in caso

    quando le leggi le decripti.  Ma anche qui volendo vedere, la chiave per decriptare sarà nella dll del tuo sito web che in qualche modo si può anche "smontare"... dovresti metterci allora anche o obfuscator ma non sò quanto tenga nemmeno quello.

    insomma che c'è in questo db ?

    se veramente le info sono così importanti, allora non lo metto su aruba, non ti pare ?

     

     

     

     

     

    • Contrassegnato come risposta duppino venerdì 18 novembre 2011 10:49
    • Contrassegno come risposta annullato duppino venerdì 18 novembre 2011 13:03
    • Contrassegnato come risposta duppino lunedì 20 febbraio 2012 09:46
    giovedì 17 novembre 2011 07:01
  • è un server virtuale remoto quale ? quello dove c'è sql server ? boh sarà anche virtuale etc ma ci sarà una consolle e un amministratore (questo per la paura che qualcuno dell'hosting sbirci dentro) quindi ... nella sostanza non cambia

    per il problema dell'intercettare i dati tra il tuo pc e il server, anche li penso poco importi come sia, se fisico virtuale etc tanto la login deve passare.

     

     

    • Contrassegnato come risposta duppino venerdì 18 novembre 2011 10:49
    • Contrassegno come risposta annullato duppino venerdì 18 novembre 2011 13:03
    • Contrassegnato come risposta duppino lunedì 20 febbraio 2012 09:47
    giovedì 17 novembre 2011 16:11
  •  ciao, beh qui la faccenda comincia a prendere la piega del "sistemistico" e sul forum ci sono altri utenti molto più preparati di mè in questo campo.

    Credo che se hai una macchina virtuale tutta tua, quindi per capirci entri con il tuo remote desktop, ti sei installato il tuo sql server  di cui sei amministratore (crei tutti i db che vuoi, tutti i permessi etc) allora anche se questa risiede presso un mantainer/provider dovresti essere abbastanza tranquillo.

    Dico abbastanza perchè poi nella sostanza la macchina virtuale è ospitata sui loro sistemi dove saranno amministratori, non sò cosa sia possibile fare.

    Se sei amministratore della macchina (anche se virtuale) credo puoi fare una vpn forse per passare i dati criptati. Praticamente se hai esigenza di avere un canale protetto dalla tua macchina virtuale X al tuo pc Y , fai questa rete vpn e i dati viaggiano sicuri.

    Però come ti dicevo qui la cosa diventa più per tecnici sistemistici

    Ciaoo !

     

     

    • Contrassegnato come risposta duppino lunedì 20 febbraio 2012 09:47
    venerdì 18 novembre 2011 19:51

Tutte le risposte

  • salve,

    prova a vedere http://www.sqlservercentral.com/Forums/Topic860688-146-1.aspx per l'utilizzo di criptazione delle trasmissioni... l'utilizzo di SSL e/o di certificati potrebbe risultare complicato se non sei proprietario del database server...

    saluti


    http://www.asql.biz - DbaMgr2k - DbaMgr and further SQL Tools http://www.hotelsole.com/
    • Contrassegnato come risposta duppino venerdì 18 novembre 2011 10:49
    • Contrassegno come risposta annullato duppino venerdì 18 novembre 2011 13:04
    • Contrassegnato come risposta duppino lunedì 20 febbraio 2012 09:46
    domenica 13 novembre 2011 16:16
    Moderatore
  • ti rispondo per la seconda domanda visto che hai già un indicazione per la criptazione.

    In sql server sempre che tu sia amministratore, puoi creare degli utenti e specificare in maniera molto granulare i vari privilegi su gli oggetti sql , tabelle viste stored etc.

    Puoi garantire solo lettura su di una tabella, oppure lettura e update delete etc.

    E' cmq mooolto consigliabile (perdona l'italiano) che il sito web acceda al db, non con account amministratore, ma con account dedicato considereando i privilegi massimi di lettura update e delete che possono risultare da un qualsiasi account web.

    Dopo rimarrebbe il problema di passare questa autenticazione:

    Autenticazione sql  (fornendo usern e password)

    autenticazione windows che probabilmente è più sicura.

     

    Ricorda cmq che anche con quella sql, non è che intercettando il traffico della pagina web (iis - verso client e viceversa) leggi criptato o no le credenziali di accesso sql.

     

     

    • Contrassegnato come risposta duppino venerdì 18 novembre 2011 10:49
    • Contrassegno come risposta annullato duppino venerdì 18 novembre 2011 13:03
    • Contrassegnato come risposta duppino lunedì 20 febbraio 2012 09:46
    lunedì 14 novembre 2011 07:29
  • Ciao Alessandro,

    hai centrato il punto di cui ho bisogno io. grazie.

     

    Io ho in webconfig questo:

    <add name="connectionstring" connectionString="Data Source=xx.xxx.xx.xx,1433;Network Library=DBMSSOCN;Initial Catalog=dbProva;User ID=utente1000;Password=pass1000;"/>

    e il db su una macchina virtuale in hosting su ar..a, e tutto funziona.

     

    Io vorrei sapere se c'è un modo per nascondere us e pass mentre effettuo connessioni verso il db.

     

     

     

     

    Se lo fa l'utente web il problema è limitato perché le pagine e il db sono sulla stessa rete del provider quindi non viaggiano per il web..

    Ma quando io lavoro in locale dal mio pc (p.e. a roma) mi connetto al db remoto e quindi faccio viaggiare in rete i dati di web config.

    Questa la prima domanda: come faccio a risolvere questo?

    Seconda domanda: se web config è sul server come faccio a evitare che q.no (nella webfarm) non apra webconfig e legga i dati?

     

    sicuramente ci sarà un modo più performante ma nn ne sono al corrente.

    grazie mille per l'aiuto

     

    ciao

    mercoledì 16 novembre 2011 09:28
  • so che c'è la possibilità di criptare alcune sezioni del web config come mostrato qui

    http://www.aspitalia.com/script/802/Criptare-Decriptare-Stringa-Connessione-ASP.NET-2.0.aspx

    ma io non l'ho mai fatto.

    Come dicevi tu, se sito web e db sono sulla stessa rete di a...a non ci sono problemi, nel caso del tuo pc personale, ok le info viaggeranno in qualche modo tra il tuo pc e il db ma non credo sia così semplice intercettarle e soprattutto farlo nel momento in cui tu testerai il tuo sito con questa configurazione.

     

    Per il fatto di essere assolutamente certi che la stringa di connessione anche criptata non venga letta dal tuo hosting, qui faccio appello ad un pò di intuito

    - ma se io sono aruba, che me ne frega di leggere la tua stringa di connessione per vedere cosa c'è nel db ? sono amministratore del db guardo quello che mi pare in tutti i db se voglio

    no ?

    cripta le informazioni nel db in caso

    quando le leggi le decripti.  Ma anche qui volendo vedere, la chiave per decriptare sarà nella dll del tuo sito web che in qualche modo si può anche "smontare"... dovresti metterci allora anche o obfuscator ma non sò quanto tenga nemmeno quello.

    insomma che c'è in questo db ?

    se veramente le info sono così importanti, allora non lo metto su aruba, non ti pare ?

     

     

     

     

     

    • Contrassegnato come risposta duppino venerdì 18 novembre 2011 10:49
    • Contrassegno come risposta annullato duppino venerdì 18 novembre 2011 13:03
    • Contrassegnato come risposta duppino lunedì 20 febbraio 2012 09:46
    giovedì 17 novembre 2011 07:01
  • :D

    mi hai fatto ridere... c'hai ragione!

     

    Ma non sono i dati del db a preoccuparmi... sono solo fatture, dati clienti, schede prodotto, etc...

     

    Era più che altro capire se, nel caso i dati user e pass venissero captati, mi potevano scassare il db...

    tutto qui...

     

    Grazie per l'aiuto

     

     

     

     

    giovedì 17 novembre 2011 10:09
  • però aspetta un attimo!

    essendo un server virtuale remoto (cosa che non ti ho detto), in che modo possono accedere se non hanno i dati d'accesso?.. mi sembra un po' impossible.

     

    Che ne dici?

     

    ciao e grazie per adesso

    giovedì 17 novembre 2011 14:35
  • è un server virtuale remoto quale ? quello dove c'è sql server ? boh sarà anche virtuale etc ma ci sarà una consolle e un amministratore (questo per la paura che qualcuno dell'hosting sbirci dentro) quindi ... nella sostanza non cambia

    per il problema dell'intercettare i dati tra il tuo pc e il server, anche li penso poco importi come sia, se fisico virtuale etc tanto la login deve passare.

     

     

    • Contrassegnato come risposta duppino venerdì 18 novembre 2011 10:49
    • Contrassegno come risposta annullato duppino venerdì 18 novembre 2011 13:03
    • Contrassegnato come risposta duppino lunedì 20 febbraio 2012 09:47
    giovedì 17 novembre 2011 16:11
  • ciao Alessandro,

    adesso mi sento confuso...

    ma se io ho una macchina virtuale su a...a, e su questa ho installato sqlserver, come fanno a vedere cosa c'è sopra?

    una macchina virtuale è un software come fanno a entrarci dentro? giusto o sbaglio?

    l'amministratore di tutto sono io, sia per windows 2003 server (l'os del virtuale) e sia per sqlserver.

    Io volevo solo capire, avendo in remoto un db e in locale delle pagine che vogliono connettersi al db, qual era la procedura
    più indicata per farlo.. tutto qui..


    tra l'altro su sqlserver ho settato l'utente che è in webconfig solo con i permessi per quel db...


    avevo già provato il link datomi da te:

    http://www.aspitalia.com/script/802/Criptare-Decriptare-Stringa-Connessione-ASP.NET-2.0.aspx

    ma in remoto non va.. in locale si.. devo capire perché

    bah.. mistero


    • Modificato duppino venerdì 18 novembre 2011 12:41
    venerdì 18 novembre 2011 12:39
  •  ciao, beh qui la faccenda comincia a prendere la piega del "sistemistico" e sul forum ci sono altri utenti molto più preparati di mè in questo campo.

    Credo che se hai una macchina virtuale tutta tua, quindi per capirci entri con il tuo remote desktop, ti sei installato il tuo sql server  di cui sei amministratore (crei tutti i db che vuoi, tutti i permessi etc) allora anche se questa risiede presso un mantainer/provider dovresti essere abbastanza tranquillo.

    Dico abbastanza perchè poi nella sostanza la macchina virtuale è ospitata sui loro sistemi dove saranno amministratori, non sò cosa sia possibile fare.

    Se sei amministratore della macchina (anche se virtuale) credo puoi fare una vpn forse per passare i dati criptati. Praticamente se hai esigenza di avere un canale protetto dalla tua macchina virtuale X al tuo pc Y , fai questa rete vpn e i dati viaggiano sicuri.

    Però come ti dicevo qui la cosa diventa più per tecnici sistemistici

    Ciaoo !

     

     

    • Contrassegnato come risposta duppino lunedì 20 febbraio 2012 09:47
    venerdì 18 novembre 2011 19:51
  • Ciao Alessandro, grazie per le info fin adesso,

    non voglio assolutmente complicare le cose in ambito sistemistico.

     

    Ricomincio.

    Se io metto le mie pagine web su uno spazio hosting, in cui in questo spazio c'è anche un db sql server, qual è il modo miglior

    per poter fare le connessioni dalla pagina web al db? Tutto qui.

    Perchè io ho le mie pagine e il mio db, ma non sono sicuro se come ho fatto è corretto!

     

     

    Ti dico questo con paura di sbagliare perché tempo fa feci così:

    - misi in webconfig le mie credenziali

    - la pagina web prelevava le credenziali dal webconfig e si connetteva al db

     

    e dopo un po' di giorni mi sono trovato il management studio piantato che non riusciva più ad accedere al db!

    Quindi ho pensato che come avevo fatto era sbagliato e che q.no avesse corrotto il db utilizzando le mie pagine web..

     

    allora ho resettato il vps (server virtuale dove c'era il db) ho rimesso una copia del db e ricomincio.

    ma, prima di cominciare a fare connessioni e farmi piantare di nuovo tutto, vorrei sapere se è questo il modo migliore..

    Grazie per il supporto

     

    Ciao

     

     

     

     

     

     

    sabato 19 novembre 2011 14:02