My web application uses a connection string to access a
database. The connection string is secured and
encrypted... but when the connection is active, couldn't
someone intercept that connection and effectively "sniff"
what is being stored and read?
Forse.
In una tipica configurazione di piccole applicazioni Web, si eseguirà il database sullo stesso computer del server Web e dell'applicazione. In questo caso, la connessione tra l'applicazione e il database sarà protetta dal sistema operativo, che impone l'accesso a tale indirizzo o socket di dominio solo dai processi locali. C'è poco da guadagnare qui dalla crittografia della connessione.
In un'altra configurazione, potresti avere un filo fisico che collega due macchine sullo stesso rack. Il rack può essere collocato in un centro dati sicuro in un rack a gabbia, dove si è soddisfatti dei parametri di sicurezza del data center, o potrebbe essere in un armadio chiuso in ufficio, e si è contenti di fidarsi del fatto che i dipendenti non ci provino rompere deliberatamente nell'armadio. In questo caso, aggiungere la crittografia potrebbe essere eccessivo.
In una situazione simile al paragrafo precedente, ma ora hai un router obsoleto tra le tue macchine. Il problema è che questo router esegue software obsoleti con vulnerabilità note, o non ti fidi della sua configurazione di Virtual Networking, o non supporta tali funzionalità, o sei preoccupato per l'acquisizione da remoto dell'amministrazione web del router. Quindi potresti aggiungere la crittografia TLS e l'autenticazione reciproca per coprire le carenze del router obsoleto.
In un altro caso tipico, è possibile eseguire il database e il server Web in più macchine virtuali in un provider di cloud pubblico, si potrebbe voler aggiungere la crittografia inter-macchina o si potrebbe decidere che il controllo dell'accesso alla rete del provider cloud non sia abbastanza affidabile per il tipo di dati con cui hai a che fare. È possibile eseguire una VPN tra le macchine o una rete di sovrapposizione crittografata sull'infrastruttura di rete esistente.