Hallo, Dennis Müller <k-epsilon@online.de> wrote on 07.08.2006 09:58:26:
Hallo,
ich betreibe einen Server der hinter einem einfachen DSL-Router steht. Der Router leitet Anfragen auf Port 22 an den Server weiter. Der Zugriff auf ssh soll nur von ausgewählten IP-Adressen möglich sein. Für das lokale Netz wird keine Firewall benötigt.
Dazu habe ich mir einen kleinen Regelsatz überlegt. Meine Frage ist nun, ob das Script so vollständig ist oder ob ich einen wichtigen Aspekt übersehen habe.
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] diese Befehle sagen mir gar nichts. Fehtl da vielleicht noch was vom Script?
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -s 10.0.0.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -s 137.a.b.c -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -s 134.d.e.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -i eth0 -p tcp -m limit --limit 3/min -m state --state NEW -m tcp --dport 22 -j LOG --log -prefix "iptables ssh-22 denied: " --log-level 7 -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j DROP COMMIT
Insbesondere ist mir die Bedeutung der eckigen Klammern hinter INPUT ACCEPT, FORWARD ACCEPT, OUTPUT ACCEPT unklar. Die bedeutung ist mir auch unklar. Normalerweise würde ich an der Stelle die Allgemeine Policy festelegen, aber nicht mit diesen Befehlen sondern mit: iptables --policy INPUT DROP
Außerdem sollte die Policy wenn dann auf DROP stehen und nicht auf ACCEPT. Sonst läßt die Firewall ja trotzdem alles durch wo die Regeln nicht zu treffen.
Vielen Dank Dennis
Mit freundlichen Grüßen Andreas Gegner