GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Eine Einführung in Firewalld-Regeln und -Szenarien

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.


Linux
  1. Einführung in die Linux-Befehle chgrp und newgrp

  2. Einführung und Zugangsinformationen zu cPanel

  3. So installieren und konfigurieren Sie Fail2ban unter Alma Linux 8

  4. Wie man Iptables-Regeln anzeigt und löscht – List and Flush

  5. Einführung in Linux-Interrupts und CPU-SMP-Affinität

Eine Einführung in Prometheus-Metriken und Leistungsüberwachung

Eine Einführung in Hashing und Prüfsummen in Linux

50 nützliche und einfache IPtables-Regeln für Linux-Administratoren

Gewusst wie:Einführung in die Programmierung – Variablen, Typen und Datenbearbeitung

Drei Sysadmin-Regeln, die Sie nicht brechen können (und sollten).

Einführung in die Linux-Leistungsüberwachung und -optimierung