Su alcune distribuzioni Linux, la porta 3306 è aperta dopo l'installazione di MySQL. Questo articolo descrive due metodi per limitare o bloccare l'accesso alla porta 3306 su un server non gestito.
Le informazioni in questo articolo si applicano solo ai prodotti non gestiti. È necessario disporre dell'accesso root al server per seguire le procedure descritte di seguito.Metodo n. 1:disabilita la rete MySQL
Se non hai bisogno di accedere a MySQL da un computer esterno, puoi disabilitare la rete MySQL.
Segui la procedura appropriata di seguito per la tua distribuzione Linux.
Anche con la rete MySQL disabilitata, puoi comunque accedere a MySQL in modo sicuro da un computer remoto, se necessario. Per fare ciò, puoi configurare un tunnel SSH. Per informazioni su come eseguire questa operazione, consultare questo articolo.CentOS e Fedora
Per disabilitare la rete MySQL su CentOS e Fedora, segui questi passaggi:
- Accedi al tuo server utilizzando SSH.
- Al prompt dei comandi, usa il tuo editor di testo preferito per aprire /etc/my.cnf file.
- Cerca la seguente riga in my.cnf file:
#skip-networking
Se questa riga non è in my.cnf file, aggiungilo. -
Elimina il # segno all'inizio della riga in modo che la riga assomigli alla seguente:
skip-networking
- Salva le modifiche in /etc/my.cnf file, quindi esci dall'editor di testo.
-
Digita il seguente comando per riavviare il servizio MySQL:
service mysqld restart
La porta 3306 è ora chiusa sul server.
Debian e Ubuntu
Per impostazione predefinita, MySQL su Debian e Ubuntu è configurato per utilizzare solo localhost interfaccia (indirizzo IP 127.0.0.1) per il collegamento in rete. Ciò significa che la porta 3306 è chiusa alle connessioni esterne. Per confermare che questa è la configurazione sul tuo server, segui questi passaggi:
- Accedi al tuo server utilizzando SSH.
- Al prompt dei comandi, usa il tuo editor di testo preferito per aprire /etc/mysql/my.cnf file.
- Individua MySQL indirizzo di rilegatura riga nel my.cnf file. Dovrebbe essere simile al seguente:
bind-address = 127.0.0.1
Se il MySQL indirizzo di rilegatura la linea è impostata su 0.0.0.0 (o nessun indirizzo), le connessioni sono aperte su tutte le interfacce. - Se hai apportato modifiche a /etc/my.cnf file, salvali e poi esci dall'editor di testo.
-
Per riavviare il servizio MySQL, digita il seguente comando:
service mysql restart
La porta 3306 è ora chiusa sul server.
Metodo n. 2:configurare le regole del firewall
Puoi utilizzare iptables per creare regole firewall che limitano l'accesso alla porta 3306. Il vantaggio di questo metodo è che puoi concedere o negare selettivamente l'accesso alla porta 3306 in base a indirizzi IP o altri criteri.
Ad esempio, per bloccare completamente l'accesso esterno alla porta 3306, digitare il comando seguente:
iptables -A INPUT -p tcp --dport 3306 -j DROP
Allo stesso modo, per concedere l'accesso a un indirizzo IP specifico e bloccare tutti gli altri, digitare i seguenti comandi. Sostituisci xxx.xxx.xxx.xxx con l'indirizzo IP per il quale si desidera concedere l'accesso:
iptables -A INPUT -p tcp --dport 3306 -s xxx.xxx.xxx.xxx -j ACCEPT iptables -A INPUT -p tcp --dport 3306 -j DROP
Puoi concedere a MySQL l'accesso a indirizzi IP aggiuntivi inserendo regole in INPUT catena prima del DROP regola. Ad esempio:
iptables -I INPUT 1 -p tcp --dport 3306 -s xxx.xxx.xxx.xxx -j ACCEPT