Eine Firewall ähnelt einem Gatekeeper, der verhindert, dass unerwünschter Datenverkehr aus dem externen Netzwerk Ihr System erreicht. Die Firewallregeln entscheiden, welcher Traffic ein- oder ausgeht. In Linux-Firewalls gibt es ein Konzept namens Zonen . Systemadministratoren können jede Zone mit ihren eigenen Firewall-Regeln konfigurieren, die eingehenden Datenverkehr in das System zulassen oder verweigern. Stellen Sie sich ein Haussicherheitssystem vor, das angibt, welche Person welche Räume in Ihrem Haus besuchen darf.
[Das könnte Ihnen auch gefallen: Eine Anleitung für Anfänger zu firewalld unter Linux]

Diagramm über:Erste Schritte mit Firewalld (Red Hat Kundenportal)
firewalld
ist ein Firewall-Dienst, der eine hostbasierte anpassbare Firewall über den D-Bus bereitstellt Schnittstelle. Wie oben erwähnt, verwenden Firewalls Zonen mit vordefinierten Regeln und jeder Dienst verwendet Ports . Wir können jeden eingehenden Datenverkehr zu einem bestimmten Dienst basierend auf seinem Port zulassen/blockieren. Wenn Sie beispielsweise nicht möchten, dass jemand per SSH auf Ihr System zugreifen kann, können Sie Port 22 sperren und so sicherstellen, dass niemand von außen über SSH auf Ihr System zugreifen kann.
Zonen
Die firewalld
Der Dienst verwendet ein Zonenkonzept. Wir können diesen Zonen Netzwerkschnittstellen zuweisen und entscheiden, welche Art von Datenverkehr in dieses Netzwerk gelangen kann. Wir können Network Manager verwenden Schnittstellen bestimmten Zonen mit dem firewall-cmd
zuzuweisen command, ein weithin bekanntes Befehlszeilentool. Die Standardzonen werden unter /usr/lib/firewalld/zones/
gespeichert Verzeichnis. Lassen Sie uns nun einige der vordefinierten Zonen kennenlernen, die in firewalld
verfügbar sind .
- Blockieren:In dieser Zone werden alle eingehenden Verbindungen mit einem icmp-host-prohibited abgewiesen Nachricht, und nur Verbindungen, die innerhalb des Systems initiiert werden, sind erlaubt.
- DMZ:Für Systeme, die begrenzte interne Netzwerkverbindungen benötigen, akzeptiert es nur ausgewählte eingehende Verbindungen. Auch bekannt als demilitarisierte Zone.
- Drop:Verbindungen werden ohne Benachrichtigung getrennt. Ausgehende Verbindungen sind möglich.
- Öffentlich:Diese Zone wird für Geräte im nicht vertrauenswürdigen öffentlichen Netzwerk verwendet.
- Vertrauenswürdig:Alle Netzwerkverbindungen werden akzeptiert.
Eine dieser Zonen kann gemäß den Anforderungen des Benutzers als Standard festgelegt werden. Nach der Installation wird die public Zone ist als Standard eingestellt, was Sie später ändern können.
Firewall-Regeln in Red Hat Enterprise Linux
Jetzt kennen wir die Grundlagen von firewalld
, können wir untersuchen, wie die Befehle verwendet werden, um verschiedene Dienste hinzuzufügen oder zu entfernen.
Verwenden Sie die folgenden Befehle, um anzuzeigen, ob die Firewall ausgeführt wird:
# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-11-13 18:19:05 CET; 4 months 4 days ago
Sie können auch Folgendes eingeben:
# firewall-cmd --state
running
So listen Sie die Informationen über die Standardzone auf:
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: baremetal cni-podman0 eno1 eno2 eno3 provisioning
sources:
services: cockpit dhcpv6-client http ssh
ports: 8080/tcp 80/tcp 80/udp 67/udp 68/udp protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Wie Sie oben sehen können, die Öffentlichkeit Zone ist als Standard eingestellt. Die Ausgabe zeigt die dieser Zone zugewiesenen Schnittstellen und welche Dienste und Ports aktiviert/erlaubt sind.
Wählen Sie eine bestimmte Zone aus:
# firewall-cmd --list-all --zone=home
home
target: default
icmp-block-inversion: no
interfaces:
sources:
services: cockpit dhcpv6-client mdns samba-client ssh
Aktivieren/starten Sie die firewalld
Dienst beim Systemstart:
# systemctl enable firewalld
# systemctl start firewalld
Deaktivieren/stoppen Sie die firewalld
Dienst beim Systemstart:
# systemctl disable firewalld
# systemctl stop firewalld
Alle Zonen auflisten:
# firewall-cmd --list-all-zones
Fügen Sie Ports und Dienste zu Zonen hinzu und machen Sie sie dauerhaft
Sehen wir uns als Nächstes einige der Befehle an, um neue Dienste und Ports zu einer bestimmten Zone hinzuzufügen und sie dauerhaft zu machen (bleiben auch nach einem Systemneustart).
Um Ports auf firewalld
zu öffnen oder zu blockieren verwenden:
# firewall-cmd --list-ports
# firewall-cmd --add-port <port-number/port-type> --permanent
# firewall-cmd --reload
Ports sind logische Geräte, die es einem Betriebssystem ermöglichen, eingehenden Datenverkehr zu empfangen und an Systemdienste weiterzuleiten. Normalerweise lauschen diese Dienste auf Standardports. Beispielsweise überwacht HTTP Port 80 und HTTPS Port 443.
Normalerweise port-type bedeutet tcp
, udp
oder sctp
.
Als nächstes folgt ein Beispiel, das Port 443 dauerhaft zur Standardzone hinzufügt:
# firewall-cmd --add-port 443/tcp --zone=public --permanent
# firewall-cmd --reload
Wir können den Port auch entfernen, indem wir --remove-port
verwenden Option.
Rich-Regeln in Firewalld
Wir können auch reiche Regeln verwenden , die einige erweiterte Filterfunktionen in firewalld
haben . Die Syntax dafür ist unten. Diese umfassenden Regeln sind hilfreich, wenn wir eine bestimmte IP-Adresse oder einen bestimmten Adressbereich blockieren oder zulassen möchten.
Verwenden Sie den folgenden Befehl, um die aktuellen Rich Rule-Einstellungen anzuzeigen:
# firewall-cmd --list-rich-rules
Wir können eine bestimmte IP des Hosts und der Ports mithilfe umfangreicher Regeln steuern.
Die folgende Regel akzeptiert SSH-Verbindungen nur vom Host mit der IP 10.1.111.21 und trennt andere Verbindungen:
# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.1.111.21/24 service name=ssh log prefix="SSH Logs" level="notice" accept'
Dieses Beispiel lehnt ping
ab Anfragen von allen Hosts mit einer Fehlermeldung:
# firewall-cmd --add-rich-rule='rule protocol value=icmp reject'
Die folgende Regel lehnt Anfragen von IP 172.92.10.90/32 Port 21 ab und akzeptiert jede andere Verbindung:
# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.92.10.90/32 port port=21 protocol=tcp reject'
[ Denken Sie an Sicherheit? Lesen Sie diesen kostenlosen Leitfaden zur Verbesserung der Hybrid Cloud-Sicherheit und zum Schutz Ihres Unternehmens. ]
Abschluss
Aktivieren von firewalld
ermöglicht dem Benutzer, eingehende Verbindungen zuzulassen oder einzuschränken und sein System selektiv vor unerwünschtem Netzwerkverkehr zu schützen. Denken Sie daran, dass Firewallregeln entscheiden, welcher Traffic in ein oder aus einem System zugelassen wird. Sie können eine Zone mit eigenen Firewallregeln konfigurieren, die eingehenden Datenverkehr in das System zulassen oder verweigern. Denken Sie jedoch auch daran, dass das Zulassen von Datenverkehr oder Portzugriff auf Ihr System dieses anfällig für Sicherheitsverletzungen und potenzielle Angriffe macht.