Frage beste Möglichkeit, alle iptables-Regeln zu löschen


Ich habe derzeit diesen Ausschnitt:

# flush all chains
iptables -F
iptables -t nat -F
iptables -t mangle -F
# delete all chains
iptables -X

Gibt es eine Möglichkeit, dass irgendeine undurchdringliche Regel am Leben bleibt, nachdem sie das getan hat?

Die Idee ist, eine komplett saubere iptables-Konfiguration zu haben, die leicht durch einen neuen Regelsatz (nevermind routes / ifconfig-Parameter) ersetzt werden kann.


61
2017-11-11 03:18


Ursprung




Antworten:


Um Ihre Frage kurz zu beantworten, nein: Es würde keine "übrig gebliebenen" Regeln geben, nachdem jeder Tisch gespült wurde. Im Interesse der Vollständigkeit sollten Sie jedoch die Richtlinie für die integrierte Richtlinie festlegen INPUT und FORWARD Ketten zu ACCEPT, auch:

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X

Löschen Sie die ip6tables-Regeln:

ip6tables -P INPUT ACCEPT
ip6tables -P FORWARD ACCEPT
ip6tables -P OUTPUT ACCEPT
ip6tables -t nat -F
ip6tables -t mangle -F
ip6tables -F
ip6tables -X

... und das sollte es tun. iptables -nvL sollte dies erzeugen (oder sehr ähnlich) Ausgabe:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

78
2017-11-11 05:52



du hast 'roh' vergessen: iptables -t raw -Fiptables -t raw -X - kK-Storm


Dadurch wird Ihr iptables-System korrekt auf einen sehr einfachen Zustand zurückgesetzt:

iptables-save | awk '/^[*]/ { print $1 } 
                     /^:[A-Z]+ [^-]/ { print $1 " ACCEPT" ; }
                     /COMMIT/ { print $0; }' | iptables-restore

Alle Richtlinien werden auf ACCEPT zurückgesetzt und alle aktuell verwendeten Tabellen werden geleert. Alle Ketten außer den eingebauten Ketten existieren nicht mehr.


18
2017-11-11 03:57



Ordentlicher Hack! Ich würde mich jedoch nicht darauf verlassen, da es immer möglich ist, dass subtile Änderungen am Speicher- / Wiederherstellungsformat es brechen könnten. Wahrscheinlich am besten bei der API zu bleiben, die die iptables Tool bietet explizit, IMO. - Steven Monday
Ich habe meine Meinung geändert: Das Datenformat wird sich kaum mehr ändern, da es so weit verbreitet ist. +1. - Steven Monday
+1, interessanter Hack - Sam Halicke


Wann immer ich die Firewall deaktivieren muss, ist etwa so:

  • iptables-save > iptables.bak
  • service iptables stop (Ich bin auf Fedora)

2
2017-11-11 05:13





Man kann dies in 1 oder 2 Befehlen tun:

 $ sudo iptables-save > iptables.bak
 $ sudo iptables -F

Ergebnis:

$ sudo iptables -nvL
Chain INPUT (policy ACCEPT 3138 packets, 5567K bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 3602 packets, 6547K bytes)
pkts bytes target     prot opt in     out     source               destination         

0
2018-04-29 05:13



Wenn die Standardrichtlinien derzeit auf DROP festgelegt sind, ist dies eine schnelle Möglichkeit, den Server zu sperren. Also, nein, es ist kein 1 oder 2 Befehlsprozess. Sie müssen zuerst auf ACCEPT setzen, wenn es nicht aktuell ist. - RyanH