Introduzione rapida: piccola azienda, risorse MOLTO limitate. Faccio praticamente tutto, compreso il caffè. Sono un programmatore, non un ragazzo della sicurezza. Ecco perché ti chiedo ...
Abbiamo un database MS-SQL 2008 in esecuzione sul nostro server e diverse applicazioni C # che si collegano al database direttamente utilizzando una stringa di connessione come questa
"Server=example.org; Database=SomeDatabase; User Id=dbUser; password=**secret**; Encrypt=YES"
Le applicazioni non vengono eseguite sul server, quindi l'istanza Database è rivolta verso il mondo esterno. Questa configurazione funziona alla grande, ma ho alcune preoccupazioni.
1) Che cosa significa esattamente Encrypt=YES
? L'intera connessione (incluso l'accesso, ecc.) È sicura (supponendo che nessuno possa mettere le mani sulla stringa di connessione)? O dovrei avere serie preoccupazioni? Quali sono queste preoccupazioni (parole chiave apprezzate)?
2) Qual è una buona strategia per distribuire la stringa di connessione?
Per spiegare la seconda domanda: è molto facile connettersi direttamente. La distribuzione della stringa di connessione potrebbe essere sostituita più facilmente di quella di tutte le chiamate al database in un altro canale più sicuro ...