• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

änderung der policy = abbruch bestehender Verbindungen?

Hallo,

Ich hab ne ganz kurze und knappe Frage:

Wenn ich die Policy einer bestehenden Filterregel von "Accept" auf "Drop" ändere, bleiben dann noch alle als "established" geltenden Verbindungen erhalten?

Wenn nein, kann man das irgendwie erreichen?

Also im Prinzip ist ein Port freigegeben und bei Bedingung x sollen keine weiteren Verbindungen über diesen Port zugelassen werden, aber alle schon aufgebauten Verbindungen weiter bestehen.
 
Willst du wirklich die Policy ändern? Oder nur den Zugriff auf einen Port? Policy == Chain z.B.
iptables -P INPUT DROP

Wenn du nur einen Port sperren willst, solltest du dich mal mit statefull Inspection befassen da gibt es eine Regel für den Neuaufbau einer Verbindung über einen bestimmten Port und eine allgemein gültige Regel für bestehende Verbindungen.
 
Die Policy ist nicht anderes als der letzte Befehl in der Befehlskette.

Wenn Du nur den änderst per Befehl:
Ich würde vermute, das davon bestehende Verbindungen nicht betroffen sind, warum sollte deswegen auch die Tabelle für das connection tracking gelöscht werden..

Ebenso wenn du nur einen Befehl in der Kette änderst:
vorher ... -- state NEW -j accept
danach -- state NEW -j DROP
Auch da sollte die Tabelle nicht gelöscht werden..


teste es halt aus
Bestehende Verbindungen: cat /proc/net/ip_conntrack

Da fällt mir auch eine Frage ein:
Wie kann man denn die connection Einträge löschen,
per rm oder gibt es dafür noch einen anderen Befehl?
 
Frankie777 schrieb:
Ebenso wenn du nur einen Befehl in der Kette änderst:
vorher ... -- state NEW -j accept
danach -- state NEW -j DROP
Auch da sollte die Tabelle nicht gelöscht werden..

jo genau das brauchte ich. eingehende verbindungen auf einem port blocken ohne bestehende zu beeinflussen.

funktioniert wunderbar.
"--state" echt praktisch ;)

ich kann ja auch mal sagen, was das ganze soll:
ich mache ein script, um einen samba-server ggfs. zu administrativen zwecken neu starten zu können. um das ganze dann für alle seiten erträglich zu machen, blocke ich den samba für neue verbindungen und warte dann mit dem reboot bis keine RDWR File-Locks mehr vorhanden sind.
 
dann solltest Du die Pakate aber nicht einfach per drop wegwerfen, sondern zurückweisen,

z.B. -j REJECT --reject-with tcp-reset
oder
icmp-net-unreachable
icmp-host-unreachable
icmp-port-unreachable
icmp-proto-unreachable
icmp-net-prohibited
icmp-host-prohibited or
icmp-admin-prohibited (*)

nochmal prüfen was das geeignete ist um Service als vorrübergehend nicht erreichbar mitzuteilen..
 
hey danke frankie. das ist in der tat etwas eleganter...

vielleicht sollte man lieber erst mal die iptables man-pages lesen, bevor man einfach rumhackt ;)
 
Oben