Einführung
UFW steht für "Uncomplicated Firewall" was übersetzt so viel wie "Unkomplizierte Firewall" bedeutet. Dabei baut das Programm eine zusätzliche Anwendungsebene um das Tool IPTables welches auf der Netfilter Firewall basiert.
Standardmäßig ist UFW bereits in allen Ubuntu-Installation seit Version 8.04 LTS mitinstalliert. Das Programm kann jedoch auch in anderen Linux-Distributionen installiert werden.
Voraussetzungen
- Jeder Server auf welchen Sie Root-Zugriff haben und eine Linux-Distribution verwendet (Zum Beispiel Ubuntu oder Debian)
- Wenn Sie nicht mit dem Root-Benutzer arbeiten, müssen Sie möglicherweise das Kommando
sudo
den nachfolgenden Befehlen voranstellen
Schritt 1 - UFW installieren
Ubuntu
Standardmäßig ist UFW bereits in allen Ubuntu-Installation seit Version 8.04 LTS mitinstalliert und muss nicht separat installiert werden. Für den Fall, dass Sie UFW neu installieren möchten oder es doch nicht enthalten ist, verwenden Sie den folgenden Befehl:
$ apt-get install ufw
Debian
Das Installationspaket für UFW unter Debian befindet sich bereits im offiziellen Debian Paket Repository und kann ganz einfach über den Paket-Manager nachinstalliert werden:
$ apt-get install ufw
CentOS
Leider ist UFW nicht von Haus aus in den CentOS Paket-Repositorys enthalten. Um das Paket jedoch zu installieren, müssen die EPEL Repositorys im System hinzugefügt werden:
$ yum install epel-release -y
Anschließend kann UFW in Referenz auf das EPEL Repository mit folgendem Befehl installiert werden:
$ yum install --enablerepo="epel" ufw
Schritt 2 - Erste Schritte
Nachdem UFW erfolgreich installiert wurde, ist es notwendig, dass der UFW Service aktiviert wird, welcher sicherstellt das UFW auch korrekt bei jedem Neustart des Servers mit gestartet wird.
Einrichten der Standard-Regeln
Nach der Installation von UFW existieren noch keine Regeln im System. Es wird empfohlen, die Standard-Regeln für UFW zu setzten welche als Fallback-Optionen agieren und greifen, wenn keine anderen Regeln erkannt werden.
Mit den nachfolgenden Befehlen wird UFW dahingehend konfiguriert alle eingehenden Verbindungen zu blockieren und alle ausgehenden Verbindungen zu erlauben.
$ ufw default deny incoming
$ ufw default allow outgoing
Diese Regeln sind jedoch noch nicht aktiv, da wir UFW an dieser Stelle noch nicht final aktiviert haben.
Wichtig - Erlauben von SSH Verbindungen
Wichtig an diesem Punkt: Wenn Sie an einem Remote-System arbeiten, sollten Sie nun eine Regel hinzufügen, um Ihren SSH-Server beziehungsweise SSH-Port freizugeben, anderenfalls sperren Sie sich gegebenenfalls selbst aus dem System aus.
Wenn Sie eine Standard-SSH-Konfiguration verwenden, lauscht der SSH-Server auf Port 22
. In diesem Fall können Sie einen Shortcut verwenden, um diesen Service freizugeben:
$ ufw allow ssh
Sollten Sie den SSH-Port Ihres Servers auf einen anderen Port gelegt haben, finden Sie nachfolgend einen Befehl, um diesen manuell freizugeben. In diesem Fall ist der Beispiel-Port 2222
:
$ ufw allow 2222/tcp
Nach diesem Schritt können wir fortfahren, UFW auf dem Server zu aktivieren.
UFW aktivieren
Sobald Sie eine Regel für Ihren SSH-Dienst angelegt haben (siehe vorheriger Abschnitt) können Sie UFW mit dem folgenden Befehl aktivieren:
$ ufw enable
Möglicherweise sehen Sie einen Warn-Hinweis, welcher Sie darauf hinweist, dass es nötig ist eine Regel für SSH-Verbindungen zu erstellen. Diese Nachricht können Sie mittels y
Eingabe bestätigen und ENTER
drücken.
Die UFW Firewall und der UFW Service sind nun aktiviert. Sie können den Status der UFW Firewall jederzeit über das folgende Kommando überprüfen:
$ ufw status
Aktivieren von IPv6 für UFW (Optional)
Wenn Sie IPv6 verwenden, empfiehlt es sich, in der UFW-Konfigurationsdatei nach den Optionseinstellungen zu suchen, welche die IPv6-Komponente aktivieren. In den meisten Fällen ist diese Option bereits aktiviert. Sie können die Datei zum Beispiel mit nano
oder einem anderen Texteditor öffnen:
$ nano /etc/default/ufw
Suchen Sie nun nach dem Schlüssel mit dem Namen IPV6
und setzen Sie den Wert auf yes
, wie im Beispiel unten gezeigt:
IPV6=yes
Wenn der Wert bereits auf yes
gesetzt ist, können Sie die Datei unverändert lassen, da IPv6 für UFW bereits aktiviert ist.
Schritt 3 - Konfiguration von UFW
Hinzufügen einer Regel
Nachdem Sie die Grundlagen für UFW eingerichtet haben, können Sie weitere Regeln für Ihre Dienste hinzufügen. Dies kann auf zwei verschiedene Wege geschehen:
Option 1
Sie müssen diese Option verwenden, wenn Sie nicht die Standard-Ports der Anwendungen verwenden oder die vorkonfigurierten Profile von UFW nicht nutzen möchten.
Die folgende Beispielregel öffnet den Port 25 mittels des TCP-Protokolls:
$ ufw allow 25/tcp
Durch Ändern des Ports oder auch des Protokolls, zum Beispiel auf UDP, wenn Sie einen Port für UDP-Verbindungen zulassen wollen, kann jede netzwerkbezogene Anwendung in die Firewall-Liste aufgenommen werden.
Option 2
Wenn Sie Standardanwendungsports verwenden, können Sie auch die Shortcut-Konfigurationen verwenden. Um die verfügbaren Dienste aufzulisten, können Sie den folgenden Befehl ausführen:
$ ufw app list
Available applications:
AIM
Bonjour
CIFS
CUPS
DNS
Deluge
IMAP
IMAPS
IPP
KTorrent
Kerberos Admin
Kerberos Full
Kerberos KDC
Kerberos Password
LDAP
LDAPS
LPD
MSN
MSN SSL
Mail submission
NFS
POP3
POP3S
PeopleNearby
SMTP
OpenSSH
Socks
Telnet
Transmission
Transparent Proxy
VNC
WWW
WWW Cache
WWW Full
WWW Secure
XMPP
Yahoo
qBittorrent
svnserve
Um eines dieser Profile zu aktivieren, müssen Sie nur den Befehl UFW enable aufrufen und dabei zum Beispiel den Dienstnamen als Argument verwenden:
$ ufw allow OpenSSH
Als Bestätigung teilt UFW Ihnen die Regeln/Ports mit, die zur Liste hinzugefügt wurden.
Regeln auflisten
Um eine Übersicht über alle aktivierten Regeln zu erhalten, können Sie diesen Befehl verwenden:
$ ufw status
Löschen einer Regel
Manchmal kommt es vor, dass Sie eine Regel löschen möchten. Der einfachste Weg ist, die nummerierte Version der aufgelisteten Regeln anzuzeigen und den Löschbefehl zu verwenden.
Um zunächst die nummerierte Liste anzuzeigen, führen Sie bitte diesen Befehl aus:
$ ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22 ALLOW IN Anywhere
[..] [...] [...] [...]
Anschließend kann die entsprechende Regel gelöscht werden, indem Sie die Nummer der Regel in den folgenden Befehl einfügen:
$ ufw delete 1
Nun wurde die zugehörige Regel erfolgreich gelöscht und ist nicht mehr aktiv.
Deaktivieren von UFW
Wenn Sie die UFW-Firewall zum Beispiel zu Debug-Zwecken deaktivieren müssen, können Sie dies mit dem folgenden Befehl tun:
$ ufw disable
Wenn Sie die Firewall wieder aktivieren möchten, können Sie den oben aufgeführten Anweisungen unter dem Punkt Schritt 2 - Erste Schritte / UFW aktivieren folgen.
Zurücksetzten von UFW
Vielleicht müssen Sie einmal alle Regeln und Einstellungen auf die Standardwerte zurücksetzen, zum Beispiel um mit einer neuen Konfiguration zu beginnen. Hierfür können Sie den folgenden Befehl nutzen:
$ ufw reset
Fazit
Herzlichen Glückwunsch - Sie haben erfolgreich die "Uncomplicated Firewall" auf Ihrem Server installiert und konfiguriert, die für mehr Sicherheit auf Ihrem Server sorgt und ihn vor Spam-Traffic schützt.