4578gelesen 0Kommentare
Wenn du ein Linux-System betreibst wirst du zwangsweise über eine Firewall nachdenken. Absoluter Platzhirsch auf allen Linux-Installationen ist iptables
. Wenn du dich mit den komplexen Befehlen von iptables
nicht beschäftigen willst, dann könnte ufw eine Alternative für dich sein. Hier zeige ich dir die wichtigsten Befehle für die Konfiguration einer lokalen Firewall ufw.
ufw – Uncomplicated F ireW all
Mittlerweile verwende ich für die Konfiguration von iptables die Software ufw. Die Konfiguration von ufw ist – im Gegensatz zu iptables – sehr übersichtlich und einfach zu bedienen. Die Installation und Grundfunktion von ufw ist einfach und schnell erledigt:
user@hostsystem: apt install ufw
user@hostsystem: ufw allow ssh
user@hostsystem: ufw enable
Command my disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enable on system startup
user@hostsystem: ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
To Action From
-- ------ ----
22 ALLOW IN Anywhere
22 (v6) ALLOW IN Anywhere (v6)
Mit der vorherigen Minimal-Konfiguration ist die Firewall aktiviert und der Port 22 ist für ssh geöffnet. Deine Konfiguration ist dauerhaft gespeichert und wenn du den Server neustartest wird der Dienst automatisch gestartet.
WICHTIG:
- Sobald du die Firewall aktivierst werden alle deine eingegeben Befehle (sofern sie syntaktisch richtig sind) sofort übernommen und permanent gespeichert.
- Die Befehle benötigen Superuser-Rechte, heißt: entweder mit
sudo
ausführen oder alsroot
-Benutzer
Weitere Konfiguration einer lokalen Firewall ufw
Jetzt können verschiedene weitere Dienste/Ports für die Nutzung des Systems freigeschalten werden.
Zugriff erlauben und Zugriff verbieten
Die beiden wichtigsten Befehle sind ufw allow
(um den Zugriff zu erlauben) und ufw deny
(um den Zugriff zu verbieten), gefolgt von einem Port oder Dienst und weiteren Konfigurationsmöglichkeiten:
user@hostsystem: ufw allow [http,80]/tcp
user@hostsystem: ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80/tcp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
Mit dem Befehl wurde der Dienst http (Standard-Port 80) für die Kommunikation via TCP freigegeben. Genauso können wir den Port auch sperren:
user@hostsystem: ufw deny 80/tcp
user@hostsystem: ufw status
To Action From
-- ------ ----
22 ALLOW Anywhere
80/tcp DENY Anywhere
22 (v6) ALLOW Anywhere (v6)
80/tcp (v6) DENY Anywhere (v6)
ufw Zugriffsregel löschen
Mit der Zeit kommen immer mehr Regeln zusammen – manche sind veraltet und sollen gelöscht werden. ufw delete
ist das Kommando um eine nicht weiter benötigte Zugriffsregel (egal ob erlaubt oder verboten) zu löschen. Hier gibt es 2 Möglichkeiten:
Löschen eines Zugriffs mittels Index
Lasse dir hier erst einmal alle Regel anzeigen. In der ersten Spalte siehst du dann die ID der entsprechenden Regel und kannst diese löschen.
ACHTUNG: Die Nummern verschieben sich durch das Löschen von ID’s – heißt: Löschen von unten nach oben.
user@hostsystem: ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22 ALLOW IN Anywhere
[ 2] 3306/tcp DENY IN Anywhere
[ 3] 22 (v6) ALLOW IN Anywhere (v6)
[ 4] 3306/tcp (v6) DENY IN Anywhere (v6)
user@hostsystem: ufw delete 4
Deleting:
deny 3306/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)
user@hostsystem: ufw delete 2
Deleting:
deny 80/tcp
Proceed with operation (y|n)? y
Rule deleted
user@hostsystem: ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22 ALLOW IN Anywhere
[ 2] 22 (v6) ALLOW IN Anywhere (v6)
Löschen einer Regel mit Regelkonfiguration
Solltest du eine Regel nicht mehr benötigen, so kannst du diese einfach löschen. Dazu brauchst du einige Informationen: Dienst/Port und die Zugriffsregel (allow/deny)
user@hostsystem: ufw delete deny 3306
Rule deleted
Rule deleted (v6)
Konfiguration eines Zugriffs für einen dedizierten Netzbereich in ufw
Wenn du einen Netzbereich für den Zugriff freigegeben willst, kannst du das mit folgendem Befehl erreichen:
user@hostsystem: ufw allow from 192.168.178.1/24
WARN: Rule changed after normalization
Rule added
Zugriffsregel auf eine bestimmte Adresse einschränken
Manche Dienste dürfen nur von bestimmten Adressen aufgerufen werden, so kann es möglich sein, dass du den Zugriff standardmäßig geschlossen zu halten willst. Allerdings möchtest du, dass nur für eine IP-Adresse den Zugriff gewährt werden soll. Gleiches Prinzip gilt natürlich auch wenn du den Zugriff verbieten willst.
user@hostsystem: ufw allow from 192.168.178.5 (tcp) to any port 3306
Rule added
Fazit: Ich hoffe ich konnte dich dabei unterstützen, deine Firewall zu konfigurieren. Hast du Fragen oder Anregungen? Lass uns gerne darüber diskutieren.
Foto: Gianpaolo La Paglia