Contesto
Lavoro su un caso molto comune. Ho configurato due server: un server OpenVPN e un server MySQL (172.16.X.X) nascosto dietro di esso. Supponiamo che tutto sia perfettamente configurato e patchato sul lato server.
Nota:
- Il server MySQL non ha un'interfaccia di rete pubblica
- MySQL non ha TLS configurato. Non usa l'autenticazione PAM tramite il plugin PAM. Accetta le autenticazioni da qualsiasi luogo.
- Utilizza un NAT per accedere a Internet (il NAT viene eseguito dal server OpenVPN).
- OpenVPN spinge i suoi percorsi (172.16.X.X) permettendo ai client connessi di trovare il server MySQL.
Sul lato client (192.168.X.X), ho diversi utenti che si connetteranno al server MySQL attraverso la VPN, utilizzando il proprio client OpenVPN locale. Con l'ipotesi precedente, a meno che non sia un pazzo (che è una possibilità, dimmelo), nessun attaccante MITM sarebbe in grado di ottenere la password MySQL.
Nota:
- I client non hanno un percorso preconfigurato per la rete VPN remota (172.16.X.X).
Scenario probabile
Immaginiamo: come utente, cerco di connettere questo server "nascosto" MySQL e fallisce, perché ooops ... il mio software openVPN non è riuscito ad avviare il tunnel senza preavviso.
Ora una macchina malvagia può trovarsi da qualche parte nella rete locale - la gente usa computer portatili ovunque in questi giorni - annusando il mio miserabile tentativo di connettersi a un server MySQL inesistente (172.16.X.X).
Domande
Qualunque software client MySQL invierà credenziali di cleartext alla route predefinita, anche se non viene trovato alcun server MySQL?
È possibile che un utente malintenzionato che conosce il vero server MySQL (172.16.X.X) esiste per impersonarlo impostando un server MySQL falso sulla rete locale (192.168.X.X)?
Se sì, come posso mitigare questo scenario (suggerimento: con poche risorse, lavoro per una società molto piccola)?
Grazie per il tuo aiuto!