Meine Konfiguration: Ubuntu-Server 9 und msyql 5
my.cnf = bind-address = 0.0.0.0
mein iptables-Skript =
iptables -A INPUT -i eth0 -s 99.88.77.66 -p tcp --destination-port 3306 -j ACCEPT
Ich kann von jedem Ort aus eine Verbindung zu MySQL herstellen, nicht nur von dieser IP. Ich habe iptables-save ausgeführt, /etc/init.d/netwokring neu gestartet … aber ich kann immer noch von jeder IP aus eine Verbindung herstellen, irgendein Hinweis?
Antwort1
Diese Regel erlaubt Verbindungen von 99.88.77.66, verhindert aber keine Verbindungen von woanders. Dazu sollten Sie eine Regel haben, die standardmäßig DROP für alle eingehenden Verbindungen verwendet.
iptables -P INPUT DROP
und lässt dann nur diejenigen zu, die Sie explizit zulassen möchten. Alternativ können Sie Port 3306 speziell für alle Clients schließen, die nicht 99.88.77.66 sind.
iptables -A INPUT -i eth0 -s ! 99.88.77.66 -p tcp --destination-port 3306 -j DROP
Antwort2
Diese RegelerlaubtDatenverkehr von einer bestimmten IP zu Port 3306/TCP. Sie benötigen eine spätere Regel (oder Standardrichtlinie), um allen anderen Datenverkehr zu diesem Port zu unterbinden, da die Standardrichtlinie von iptables alles zulässt.
Antwort3
Möglicherweise ist Ihre Standardrichtlinie für iptables, den gesamten eingehenden Datenverkehr zuzulassen. Dies würde eine Verbindung von jeder IP-Adresse aus zulassen. Ändern Sie diese Richtlinie, um Folgendes zu verwerfen:
iptables -P INPUT DROP