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 speede scegli le cifre che soddisfano le tue esigenze di protezione rispetto alle prestazioni.