silvesterlangen.de

Seite
Menü

UFW

steht für "uncomplicated firwall" und ist in fast allen debianbasierten Linux-Distributionen zu finden und unter Ubuntu sogar standardmäßig installiert. Es hilft dabei das sehr mächte, aber leider auch sehr komplizierte, Iptables einfacher zu verwalten. UFW unterstützt dabei Regeln für IPv4 und IPv6.

Anmerkung: Für UFW gibt es übrigens auch ein grafisches Tool (GUFW) für die GUI.

 

Installation

Ein simples apt-get install ufw reicht schon aus.

 

Erste Einrichtung

Bevor wir mit UFW beginnen und eigene Regeln verwenden, müssen wir zunächst dafür sorgen, dass UFW mit dem Systemstart läuft. Es wird dann automatisch ein Standardregelsatz geladen. Dieser "besagt", dass alle neuen eingehenden Verbindungen abgelehnt werden und nur Verbindungsaufbau von innen nach außen erlaubt ist.

ufw enable
Firewall started and enabled on system startup

Der Standardregelsatz ist normalerweise automatisch gesetzt. Händisch kann man das aber auch machen, falls notwendig:

ufw default deny incoming
ufw default allow outgoing

Hinweis: Solltest du per SSH verbunden sein, so wird dir vermutlich nach dem Start von UFW die Netzwerkverbindungen abbrechen. Bitte das beachten und vor dem Start eine Regel erstellen, die SSH erlaubt. Falls du einen anderen SSH-Port verwendest als 22, so ist das zu berücksichtigen. Sonst wird es blöd für dich. ;-)

 

Einfache eigene Firewallregeln erstellen/löschen

UFW kennt die wichtigsten Dienste (Standardport!) mit Namen. So lassen sich einige Dienste mit Angabe eines Namen wie "ssh" setzen.

ufw allow ssh

Falls ein anderer Port als 22 verwendet wurde, so kann man das auch wie folgt machen:

ufw allow 52244

Die gerade erstellte Regel kannst du auch wieder löschen mit

ufw delete allow ssh

oder

ufw delete allow 52244

UFW Status abfragen

Natürlich möchte man auch abfragen welche Regeln gesetzt wurden. Da man die Firewall nicht ständig anfasst, weiß man häufig auch nicht mehr so genau was man "damals" mal gesetzt hat.

ufw status

Eine Ausgabe könnte wie folgt ausschauen:

 

 

UFW resetten

Für den Fall, dass du dich vertan hast oder eine grundlegende Änderung aller Firewallregeln möchtest und ein Reset benötigt wird, um den Standard wiederherzustellen, so reicht ein:

ufw reset

völlig aus. Danach ist wieder alles so wie nach der Installation.

 

Protokolle TCP/UDP

Man möchte sicherlich auch das Protokoll festlegen für welches man den Port öffnen will. So beispielsweise für SSH das TCP-Protokoll. UDP würde keinen Sinn machen. Um es genauer zu bestimmen fügt man einfach bei der zu erstellenden Regel das Protokoll hinten an.

ufw allow 52244/tcp

Analog dazu wäre ein /udp nötig, wenn man einen UDP-Port öffnen will.

 

Port-Ranges

Es gibt Dienste, für die mehrere aneinanderhängende Ports geöffnet werden müssen. Denke man beispielsweise an SIP. Es gibt aber auch genug andere Dienste für die das zutrifft.

ufw allow 8000:8010/udp
ufw allow 5060:5069/udp

 

Sources

In einigen Fällen ist eine Bindung an die IP der zugreifenden Quelle (Source) erforderlich. Möchte man beispielsweise, dass sich via VPN ein Standort mit fester IP-Adresse an der Hauptniederlassung verbinden kann, dann wäre das wie folgt:

ufw allow from 195.29.104.219

Will man das noch etwas zuspitzen und nur einen bestimmten Port erlauben, dann sähe das so aus:

ufw allow from 195.29.104.219 to any port 54422

Und jetzt sogar runter auf das Protokoll

ufw allow from 195.29.104.219 to any port 54422

Mit "any" ist hier die Schnittstelle am Server gemeint. Bedeutet, dass 54422 an jeder NIC des Servers durchgelassen wird. Auch logische NICs (Multihomed).

Destination

Server haben nicht selten mehrere LAN-Schnittstellen und es kann gut sein, dass ein Dienst nur an einer Schnittstelle bereitgestellt werden kann/muss, aber der Dienst selbst nicht konfigurierbar für einzelne Schnittstellen ist. In diesem Fall können wir die Firewall für eine bestimmte NIC öffnen.

In folgendem Beispiel öffne ich unseren umgelenkten SSH-Port 54422 auf der Schnittstelle, die mit der IP 192.168.19.201 konfiguriert ist und definiere, dass nur TCP-Verbindungen durchgelassen werden dürfen.

ufw allow proto tcp from any to 192.168.19.201 port 54422

Das folgende Beispiel erlaubt einem Client mit der IP 192.168.2.162 den Zugriff auf den Server an der Schnittstelle mit der IP 192.168.2.10 mit den Protokoll TCP auf Port 443.

ufw allow proto tcp from 192.168.2.10 to 192.168.2.10 port 443

 

Protokoll ICMP Echo Request

Per Default ist Ping nicht erlaubt. Wer es braucht, muss es aktivieren. Leider erlaubt UFW keinen Ausdruck, der direkt ICMP Echo Request (Ping!) erlaubt. Es gibt also keine Eingabe wie "ufw allow icmp" oder ähnliches. Dazu muss man in die Datei /etc/ufw/before.rules gehen und dort ein -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT einfügen. Danach den Regelsatz von UFW neu laden mit: ufw reload


Kommentare bei Regeln hinzufügen

Was mir persönlich gut gefällt ist die Möglichkeit bei den Regeln Kommentare zu hinterlassen, die man bei Aufruf von "ufw status" mit angezeigt bekommt. So kann man gut erkennen welchen Grund die Regel hat, wenn man erst mal eine gewissen Anzahl Regeln im Laufe der Jahre erstellt hat.

ufw allow proto tcp to 192.168.2.148 port 443 comment  "HTTPS fuer Apache2"

 

Regeln löschen

Das Löschen geht auf zwei Arten. Die erste Möglichkeit ist wie oben beschrieben ufw delete allow ssh womit die Regel gelöscht wird. Eine etwas bequemere Weise ist wie folgt:

ufw status numbered
ufw delete 3

Mit dem ersten Befehl werden die Regeln alle mit einer Nummer angezeigt. Bei dem zweiten Kommando  gibt man dann die Nummer an die für die Regel steht. In diesem Falle würden wir die Regel 3 löschen.

 

 

« vorige Seite Seitenanfang nächste Seite »
Seite
Menü
Earned Certificates:
LPIC-1 LPIC-1 LPIC-1
Powered by CMSimple | Template by CMSimple | Login