
Ich habe diese iptable Regelliste
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 127.0.0.1 0.0.0.0/0 tcp dpt:3306
acctboth all -- 0.0.0.0/0 0.0.0.0/0
VZ_INPUT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
ACCEPT tcp -- 94.101.25.40 0.0.0.0/0 state NEW tcp dpt:3306
Chain FORWARD (policy DROP)
target prot opt source destination
VZ_FORWARD all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy DROP)
target prot opt source destination
acctboth all -- 0.0.0.0/0 0.0.0.0/0
VZ_OUTPUT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 94.101.25.40 0.0.0.0/0 state NEW tcp dpt:3306
Ich möchte, dass nur der lokale Host und meine IP auf TCP 3306 zugreifen. Kann ich alle anderen Regeln wie oben gezeigt löschen? Ich weiß nicht, ob ich eine davon behalten muss oder nicht
Antwort1
Das Ziel acctboth wird wahrscheinlich automatisch von bandmin dort abgelegt. Wenn Sie es löschen, wird es wahrscheinlich wiederkommen. Sie können bandmin mit „chkconfig bandmin off“ deaktivieren, aber es tut eigentlich nichts anderes, als Pakete zu zählen.
VZ_INPUT sieht aus wie ein Firewall-Paket, das ich nicht kenne.
Abgesehen davon scheinen Sie drei Einträge zu haben, die akzeptierenalleDatenverkehr für Port 3306 und einen Port, der nur neue Verbindungen von dem Port zulässt, von dem ich annehme, dass es Ihre IP ist.
Ich schlage vor, dass Sie die letzten 4 Regeln für INPUT entfernen und wie folgt ersetzen:
iptables -A INPUT -p tcp --dport 3306 -s 94.101.25.40 -j ACCEPT
iptables -A INPUT -p tcp -i l0 --dport 3306 -j ACCEPT
Eine OUTPUT-Richtlinie von DROP ist ein bisschen knifflig und kann eine Menge durcheinander bringen, daher würde ich sie an Ihrer Stelle in ACCEPT ändern:
iptables -p OUTPUT ACCEPT
Wenn Sie darauf bestehen, das, was Sie haben, so zu belassen, wie es ist, lassen Sie nurneuSQL-Verbindungen ausgehen, also löschen Sie die Regel und fügen Sie hinzu:
iptables -A OUTPUT -p tcp -s 94.101.25.40 --sport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp -i l0 -sport 3306 -j ACCEPT
Dies setzt voraus, dass 94.101.25.40 eine der eigenen IP-Adressen des Computers und nicht eine Remote-IP ist.
Wie greifen Sie auf Ihren Server zu? Sofern eine Ihrer anderen Ketten ihn nicht hat, sehe ich hier nicht einmal eine Regel, die SSH-Verkehr zulässt. Sie sollten wirklich Ihre vollständige iptables -L-Ausgabe posten. Die Chancen stehen gut, dass der einzige Grund, warum Sie noch auf Ihre Box zugreifen können, die Regeln in diesen anderen Ketten sind.
Wenn Sie erneut posten, verwenden Sie bitte iptables -L -v. Dadurch werden einige nützliche Zusatzinformationen hinzugefügt, z. B. auf welcher Schnittstelle die Regel ausgeführt wird.