UFW (Uncomplicated Firewall) ist ein Frontend für iptables. Durch ufw ist die Einrichtung der Firewall deutlich einfacher, da ufw deutlich intuitiver genutzt werden kann als iptables.
Diese Anleitung soll euch zeigen, wie ihr ufw installiert und einfach damit Regeln erstellen und löschen könnt.
1. ufw Firewall installieren
Um ufw zu installieren gebt ihr folgenden Befehl ein:
apt-get install ufw
Danach seid ihr mit der Installation schon fertig.
2. Alle derzeit genutzten Ports anzeigen
Unter Debian könnt ihr euch alle derzeit genutzten Ports anzeigen lassen. Dies hat den Vorteil, dass mit einem Blick ersichtlich ist, welcher Dienst auf welchem Port läuft und ihr mit diesem Wissen im nächsten Schritt entsprechende Regeln für die Ports erstellen könnt.
Um euch die Übersicht anzeigen zu lassen, gebt ihr folgendes ein:
ss -nptl
3. Firewall Regel erstellen
3.0 ufw: command not found
Wenn ihr einfach nur UFW Befehle eingibt als root, bekommt ihr folgende Meldung:
ufw status bash: ufw: command not found
Die Lösung ist, dass ihr die Befehle mit “sudo” ausführt.
sudo ufw status Status: active
3.1 Freigaben erstellen / Ports öffnen
Es gibt mehrere Möglichkeiten einen Port freizugeben.
Bei Standardports könnt ihr folgendes schreiben:
sudo ufw allow ssh
Ihr könnt ebenfalls direkt den Port per Hand freischalten. Dazu einfach folgendes eingeben:
sudo ufw allow 22
Mit dem obigen Befehl wird nun der Port 22 für UDP und TCP freigegeben. Wenn ihr jedoch nur TCP für Port 22 aktivieren wollt, dann könnt ihr dies so realisieren:
sudo ufw allow 22/tcp
3.2 Ports schließen
Neben den Freigaben könnt ihr auch Ports explizit blockieren. Dazu gebt ihr folgendes ein:
sudo ufw deny ssh
Auch hier ist es wieder möglich einzelne Port Nummern bzw. Protokolle zu blockieren.
sudo ufw deny 22 sudo ufw deny 22/tcp
4. ufw Firewall Regeln löschen
ufw bietet zwei Möglichkeiten bereits erstelle Regeln wieder zu löschen.
4.1 Löschen per Nummer
Bei dieser Möglichkeit lässt ihr euch alle Firewall Regeln anzeigen. Diese werden mit einer Nummer versehene. Somit könnt ihr bequem die Regel per Nummer löschen.
Um euch alle Regeln mit Nummern anzuzeigen gebt ihr folgendes ein:
sudo ufw status numbered
Nun solltet ihr sowas sehen:
Status: active To Action From -- ------ ---- [ 1] 25 ALLOW IN Anywhere [ 2] 443 ALLOW IN Anywhere [ 3] 995 ALLOW IN Anywhere
Nun könnt ihr die entsprechenden Nummern löschen. Der Befehl dazu lautet:
sudo ufw delete Nummer z.B. sudo ufw delete 1
4.2 Löschen per Regel
Ihr könnt aber einfach auch die Firewall Regel löschen, indem ihr die genaue Regel eingebt. Wenn ihr also die Regel “allow ssh” löschen wollt, dann gebt ihr folgendes ein:
sudo ufw delete allow ssh
5. ufw Firewall aktivieren / deaktivieren
Nachdem ihr nun alle Regel für eure Firewall erstellt habt, müsst ihr diese noch aktivieren. Dies geht mit folgendem Befehl. Ebenso könnt ihr diese auch wieder deaktivieren.
aktivieren der Firewall sudo ufw enable deaktivieren der Firewall sudo ufw disable
6. ufw Firewall Status anzeigen
Ihr könnt euch auch den derzeitigen Status anzeigen lassen. Darin seht ihr die Regeln, die aktiviert sind.
Der Befehl lautet:
sudo ufw status
Ausgabe:
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)
7. Quellen
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-14-04
https://wiki.ubuntu.com/UncomplicatedFirewall
http://manpages.ubuntu.com/manpages/bionic/man8/ufw.8.html
Mojn,
ich habe nach Deiner Anleitung Traefik installiert und die UFW aktiv. Obwohl ich 443 nicht frei gegeben habe kann ich von meinem Client aus Traefik öffnen. Hast Du eine Idee was ich falsch mache, warum Docker an den UFW-Regeln vorbei geht?
Steffen