Se visito il mio URL web e imposto la porta 3306 (MySQL), vedo una pagina Web dall'aspetto sospetto:
Questo espone vulnerabilità per me? Devo bloccare la porta 3306?
Vedo due opzioni qui:
Solo accesso locale
Configura MySQL Server in modo che ascolti solo sulla porta TCP 3306 su 127.0.0.1 (localhost). In questo modo un server Web interno può ancora comunicare con il server del database.
La connessione diretta al database è server non più disponibile ma risolvibile tramite tunnel SSH (come descritto nella risposta di mk444)
Questo può essere ottenuto modificando il file my.cnf . Cerca "ascolta", molto probabilmente è impostato su qualcosa di simile:
listen 0.0.0.0:3306
Questo dovrebbe essere cambiato in:
listen 127.0.0.1:3306
Non dimenticare di riavviare il server MySQL prima che le modifiche abbiano effetto.
Accesso remoto limitato
Un'altra opzione è mantenere la configurazione come è e utilizzare iptables per bloccare tutte le connessioni in entrata alla porta TCP 3306 ad eccezione del proprio indirizzo IP (domestico).
Entrambe le opzioni funzioneranno, tuttavia, per esperienza so che spesso non viene usato iptables-persistent. Ciò significa che se il server web / database si riavvia il set di regole iptables si perde e la porta TCP 3306 è ampiamente aperta per il mondo esterno.
Se non è necessario, rimuovere definitivamente quel servizio. È un possibile punto di ingresso per gli attaccanti e puoi vedere il numero di versione di MySQL. La prima cosa che viene in mente è eseguire alcune scansioni Nmap, vuln-scan, mysql-brute, ecc ...
Se hai bisogno di utilizzare questo servizio ci sono alcune buone risposte in questo post server predefinito: link
An alternative solution is to create a ssh tunnel from your machine so that you can connect locally. Here's a good article on how you can create a ssh tunnel with MySQL. http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/
Leggi altre domande sui tag mysql web-application