Brauche Hilfe, um die iptables-Regel herauszufinden

Brauche Hilfe, um die iptables-Regel herauszufinden

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.

verwandte Informationen