Hier eine Übersicht der wichtigsten UFW-Befehle
Standardmäßig erstellt UFW alle Regeln für IPv4 und IPv6. Welche Befehle du brauchst zeigt dir dieses UFW Cheat Sheet.
Stelle sicher dass du ufw enable als letztes ausführst, um zu verhindern dass du dich aussperrst!
| UFW unter Debian und Ubuntu installieren: | sudo apt install ufw |
| UFW Firewall aktivieren: | sudo ufw enable |
| UFW Status/Regeln anzeigen: | sudo ufw status |
| SSH erlauben: | sudo ufw allow ssh |
| Regel SSH erlauben entfernen: | sudo ufw delete allow ssh |
| HTTP erlauben: | sudo ufw allow http |
| Regel HTTP erlauben entfernen: | sudo ufw delete allow http |
| Erlauben von IP: | sudo ufw allow from 10.1.8.7 proto tcp to any port 443 |
| Regel Erlauben von IP entfernen: | sudo ufw delete allow from 10.1.8.7 proto tcp to any port 443 |
| Erlaub zu IP: | sudo ufw allow in to 10.1.8.7 port 443 proto tcp |
| Regel Erlauben zu IP löschen | sudo ufw delete allow in to 10.1.8.7 port 443 proto tcp |
| UFW-Kommandos bestehender Regeln ansehen | sudo ufw show added |
Vollständiges Anwendungsbeispiel
Wir haben nun einen Server im Internet mit nur einer einzigen öffentlichen IP-Adresse. Dieser ist über SSH erreichbar und soll über einen Webserver eine Website hosten.
Zuerst installieren wir UFW mit
sudo apt-get install ufw
Anschließend stellen wir sicher das wir uns nicht aus SSH aussperren. Dieser Schritt sollte unter keinen Umständen übersprungen werden da der Server ansonsten nicht mehr administrierbar ist.
sudo ufw allow ssh
Nun können wir die Firewall aktivieren. Dabei wird der Webserver unerreichbar. Dies ändern wir aber gleich.
sudo ufw enable
Um den Webserver nun wieder aus dem Internet erreichbar zu machen müssen wir nur noch folgenden Befehl ausführen.
sudo ufw allow http
sudo ufw allow https
Durch das hinzufügen beider Protokolle wird sichergestellt, dass auch Browser die Standardmäßig über http anfragen eine Antwort bekommen. In den meisten Fällen sollte der Webserver aber so konfiguriert werden, dass er von http zu https weiterleitet.
Hier noch einmal das vollständige Script zum einfachen kopieren und einfügen.
sudo apt-get install ufw
sudo ufw allow ssh
sudo ufw enable
sudo ufw allow http
sudo ufw allow https
Anwendungsfälle
Neben dem UFW Cheat Sheet möchte ich hier auch noch einige Anwendungsfälle nennen, für welche bestimmte Kommandos relevant werden können.
Erlauben von überall zu einer IP-Adresse mittels UFW
Das erlauben eingehender Anfragen zu einer bestimmten IP-Adresse kann nützlich sein, wenn der Server mehr als eine IP-Adresse besitzt. So kann es zum Beispiel sein, der Server eine Management-IP hat, worüber nur SSH erlaubt sein sollte und eine weitere sogenannte Failover-IP über welche bestimmte Dienste, wie beispielsweise ein Webserver, über das Internet erreichbar gemacht werden sollen.
UFW Kommandos bestehender Regeln anzeigen lassen
Über das Kommando sudo ufw show added ist es möglich sich die Kommandos anzeigen zu lassen mit welchen bestimmte Regeln erstellt wurden. Dies hat mehrere Vorteile. Zum einen kann man, sollte man eine ähnliche Regel benötigen einfach spicken, zum anderen kann man, sollte man eine Regel nicht mehr benötigen einfach den entsprechenden Regelsatz nehmen und zwischen dem „ufw“ und dem „allow“ einfach ein „delete“ einfügen.
Das delete vor der Firewall-Definition ist in der Regel nämlich der Einzige unterschied zwischen hinzufügen oder löschen.