Kategorie:FirewallD
Überprüfen ob die Firewall aktiv ist wird folgender Befehl als root ausgeführt - systemctl status firewalld
Falls nicht aktiv - systemctl start firewalld
Um herauszufinden welche Zonen aktiv sind führt man folgenden Befehl aus - firewall-cmd –get-active-zones
Man erhält folgende Ausgabe
public
interfaces: eth0
Eine Liste mit allen verfügbaren Zonen erhält man mit - firewall-cmd –get-zones
Die Standard Zone kann folgendermaßen geändert werden, in diesem Fall z.B. auf “home” - firewall-cmd --set-default-zone=home
Damit die Änderung auch nach einem Neustart noch funktioniert muss, ein -permanent angehängt werden -
firewall-cmd –set-default-zone=home --permanent
Dienste welche Verbindungen annehmen dürfen werden immer einer Zone zugewiesen. Firewalld kommt mit vorkonfigurierten Diensten, von denen manche schon aktiv sind, z.B SSH auf Port 22. Die Konfiguration der Zone public erhält man mit - firewall-cmd --zone=public –list-all
Die ausgabe könnte dabei folgendermaßen aussehen
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
Die vorkonfigurierten Services sind unter /usr/lib/firewalld/services gespeichert. Eigene Services können unter /etc/firewalld/services hinzugefügt werden. Wenn eine Datei in beiden Verzeichnissen vorhanden ist, wird die Datei in /etc/firewalld/services verwendet.
Einen neuen Service (in diesem Fall http, Port 80) kann man mit folgendem Befehl freigeben
firewall-cmd --zone=public --add-service=http --permanent
Damit Änderungen aktiv werden muss immer die Konfiguration neu geladen werden - firewall-cmd --reload
Ruft man nun die Konfiguration der Zone public auf sieht man dass der Service http hinzugefügt wurde
firewall-cmd --zone=public –list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client http ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
Entfernen kann man den Service wieder mit - firewall-cmd --zone=public --remove-service=http –permanent
und anschließendem - firewall-cmd --reload
Natürlich ist es auch möglich einen Port für ein bestimmtes Protokoll freizugeben, ohne dafür einen Service zu konfigurieren. In diesem Fall geben wir Port 443 für TCP frei.
firewall-cmd --zone=public --add-port=443/tcp –permanent
Aktiviert wird die Freigabe wieder mit
firewall-cmd --reload
Entfernen kann man die Portfreigabe wieder mit
firewall-cmd --zone=public --remove-port=443/tcp --permanent
firewall-cmd --list-ports firewall-cmd add-port=22/tcp firewall-cmd --remove-port=22/tcp
firewall-cmd –list-all
firewall-cmd --get-services