Den gesamten eingehenden Datenverkehr vorübergehend mit Firewalld blockieren

Den gesamten eingehenden Datenverkehr vorübergehend mit Firewalld blockieren

Ich suche nach einem Äquivalent für ufw default denyFirewalld. Die Idee ist, dass ich, nachdem ich mich per SSH bei meinem neuen Server angemeldet habe, alle eingehenden Verbindungen blockieren möchte, damit ich Zeit habe, das System zu aktualisieren und zu sichern. Ich verwende CentOS7 mit Firewalld.

Antwort1

Es scheint darausServerfehler-Beitragdass die Begrenzung des Verkehrs auf dieser höheren Ebeneerfordert "reiche" Regeln.

So implementieren Sie eine umfangreiche Regel, die auf die Standardzone angewendet wird und den gesamten IPv4-Verkehr löscht:

firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
  --add-rich-rule='rule family=ipv4 source address=0.0.0.0/0 drop'

Dies emuliert das ufw default denyVerhalten. Um stattdessen eine ICMP-Ablehnungsnachricht zu senden, ändern Sie in drop. rejectDie obige Regel ist spezifisch für IPv4. Für IPv6 verwenden Sie:

firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
  --add-rich-rule='rule family=ipv6 source address=::/0 drop'

Bei näherer Untersuchung wird ein Eintrag zu iptables hinzugefügt, dernachdie „Akzeptieren Sie VERWANDTE und HERGESTELLTE“ Verbindungen, damit Ihre bestehende SSH-Sitzung nicht unterbrochen wird. Bei meinen Tests sieht die resultierende „Kette“ von iptables so aus (für eine Standardzone von „public“):

INPUT -> INPUT_ZONES -> IN_public -> IN_public_deny

Wenn Sie im Rahmen der Updates einen Neustart erwarten, fügen Sie das --permanentFlag hinzu.

Wenn Sie im Rahmen der Aktualisierungen keinen Neustart erwarten, können Sie das --timeoutFlag verwenden, das Werte wie 5s, 10m, oder 15hfür „5 Sekunden“, „10 Minuten“ bzw. „15 Stunden“ akzeptiert. Eine solche Regel wird nach diesem Timeout-Zeitraum gelöscht.

Wenn Sie die hinzugefügte Regel entfernen möchten, führen Sie einfach dasselbe firewall-cmdwie zuvor aus, ersetzen Sie jedoch --add-rich-ruledurch --remove-rich-rule; für ein IPv4-Beispiel:

firewall-cmd --zone=$(firewall-cmd --get-default-zone) \
  --remove-rich-rule='rule family=ipv4 source address=0.0.0.0/0 accept'

Referenz:http://www.firewalld.org/documentation/man-pages/firewalld.richlanguage.html

verwandte Informationen