Abbiamo un'applicazione PHP che si collega a un server MySQL e desideriamo proteggere le connessioni tra i server Web e delle applicazioni e il database.
Nelle ore di punta, i server Web effettuano molte centinaia di connessioni simultanee al database ed eseguono molte piccole letture e scritture. Sono consapevole che questo non è ottimale e sto lavorando per ridurre il numero di connessioni al database parallelamente a questo.
Al momento non abbiamo connessioni permanenti al database attivate e, sebbene in futuro intendiamo implementarlo indipendentemente da quello.
Per quanto riguarda l'hardware - il server MySQL è piuttosto grosso (16 core) come lo sono i server web. Sono server dedicati.
La mia domanda circonda quindi il modo più efficace di proteggere e crittografare le connessioni al server di database.
La mia ricerca finora ha suggerito che il principale sovraccarico delle prestazioni è con l'impostazione della connessione SSL - una volta che SSL è connesso, ci sono poche penali sulle prestazioni. Ed ecco quello che ho su ogni metodo di protezione della connessione:
- Certificati SSL MySQL: funziona esattamente come il normale SSL. Può utilizzare i certificati client per impedire connessioni non autorizzate. Nessuna connessione persistente con la nostra configurazione esistente. Devo ancora avere MySQL in ascolto su una porta aperta sul firewall.
- Stunnel. Configurare una porta per port tunnel ssl. Non è necessario riconfigurare MySQL. Può chiudere la normale porta di ascolto MySQL per impedire tentativi di connessione MySQL dannosi. Non supporta connessioni permanenti. Hit di performance sconosciuto.
- Tunnel SSH. Creare un tunnel SSH tra il client e il server. Non è necessario riconfigurare MySQL. Può chiudere la normale porta di ascolto MySQL per impedire tentativi di connessione MySQL dannosi. Supporta connessioni persistenti, ma a volte queste si interrompono. Hit di performance sconosciuto.
Questo è quanto ho potuto ottenere. Sono consapevole dei limiti dei parametri di riferimento: nella mia esperienza nella loro esecuzione è molto difficile simulare il traffico reale. Speravo che qualcuno avesse qualche consiglio basato sulle proprie esperienze di protezione di MySQL?
Grazie
openssl speed
e scegli le cifre che soddisfano le tue esigenze di protezione rispetto alle prestazioni.