Zurück zum Blog

Konfigurieren einer Firewall mit UFW auf Ubuntu 18.04

Konfigurieren einer Firewall mit UFW auf Ubuntu 18.04

Eine Firewall ist eine der Kernkomponenten zur Sicherung eines Systems. Sie ist für die Verwaltung der eingehenden und ausgehenden Verbindungen über das Netzwerk verantwortlich. Sie ist die primäre Verteidigungslinie für Ihre Server und Daten. Aus diesem Grund ist es von entscheidender Bedeutung, eine gut konfigurierte Firewall zu haben. In dieser Anleitung führen wir Sie durch die Schritte zur Einrichtung einer Firewall mit UFW auf Ubuntu 18.04.

UFW auf Ubuntu

Der Begriff UFW steht für „Uncomplicated Firewall“. Es ist ein Standard-Firewall-Programm, das auf Ubuntu vorinstalliert ist. UFW ist eigentlich eine Schnittstelle zu iptables. Das Ziel von UFW ist es, das Konfigurieren und Verwalten einer Firewall zu vereinfachen. Während iptables an sich eine solide und flexible Option ist, ist es für Anfänger nicht gerade einladend. UFW macht es sowohl für Anfänger als auch für erfahrene Benutzer einfacher.

Werfen Sie zuerst einen Blick auf unseren umfassenden Leitfaden, der Ihnen hilft, sich mit den grundlegenden UFW-Funktionen vertraut zu machen. Sie können auch dieser Anleitung folgen, um Ihren Ubuntu-Server zu installieren. Lassen Sie uns nun beginnen!

Wenn Ihr UFW aus irgendeinem Grund nicht installiert ist, installieren Sie es am besten sofort:

UFW konfigurieren

  • IPv6 verwenden

Derzeit ist IPv4 immer noch die dominierende Kraft. Vor diesem Hintergrund befasst sich der Großteil dieser Anleitung auch mit IPv4. Erfreulicherweise bietet UFW auch Unterstützung für IPv6. Sie müssen lediglich die Funktion in der UFW-Konfigurationsdatei aktivieren.

Öffnen Sie zuerst die UFW-Konfigurationsdatei in einem Texteditor. Um die Änderungen zu speichern, muss der Texteditor mit sudo-Rechten ausgeführt werden:

Suchen Sie nach „IPV6“ und stellen Sie sicher, dass es auf „yes“ eingestellt ist.

  • Standardrichtlinie

Wenn Sie zum ersten Mal mit einer Firewall arbeiten, wird empfohlen, zuerst die Standardrichtlinien zu definieren. Diese Regeln bestimmen, wie Datenverkehr kontrolliert wird, der mit keiner expliziten Regel übereinstimmt. Standardmäßig ist UFW so konfiguriert, dass alle eingehenden Verbindungen blockiert, aber alle ausgehenden Verbindungen zugelassen werden. Dies legt fest, dass niemand den Server erreichen kann, während eine auf dem Server ausgeführte Anwendung nach außen kommunizieren kann.

Die folgenden Befehle definieren lediglich das Standardverhalten von UFW neu. Beachten Sie, dass sich das Verhalten von UFW ändert, wenn es zuvor modifiziert wurde:

Für einen persönlichen Computer würden diese Firewall-Regeln allein ausreichen. Server erfordern jedoch mehr, um ihre Sicherheit angemessen zu härten.

SSH-Verbindungen zulassen

So wie UFW jetzt konfiguriert ist, blockiert es alle eingehenden Verbindungen. Für einen Remote-Server ist das ein No-Go. Ohne Zugriff auf den Server kann nichts getan werden. Um dieses Problem zu vermeiden, kann UFW so konfiguriert werden, dass eingehende SSH oder HTTP-Verbindungen zugelassen werden.

Um SSH-Verbindungen zum Server zuzulassen, führen Sie den folgenden Befehl aus. Dadurch wird UFW im Wesentlichen angewiesen, alle Verbindungen auf Port 22 zuzulassen. Dies ist der Port, auf dem der SSH-Daemon standardmäßig lauscht:

Anstelle dieses Befehls ist es möglich, das Zulassen von Verbindungen direkt für Port 22 zu konfigurieren. Dieser Port ist in der Datei /etc/services definiert:

Da Port 22 der Standardport für den SSH-Daemon ist, kann er auch anfällig für Angriffe sein. Was ist, wenn der SSH-Server so konfiguriert ist, dass er auf einem anderen Port lauscht? In einer solchen Situation muss UFW Verbindungen zu diesem Port zulassen. Angenommen, der SSH-Server lauscht auf Port 1234, dann verwenden Sie den folgenden Befehl:

UFW aktivieren

Obwohl UFW-Regeln festgelegt sind, bewirken sie nichts, solange UFW nicht aktiviert ist. Standardmäßig ist UFW deaktiviert, was bedeutet, dass die Regeln trotz ihrer Deklaration nicht erzwungen werden. Um UFW zu aktivieren, führen Sie den folgenden Befehl aus:

UFW zeigt möglicherweise eine Warnmeldung an, dass bestehende SSH-Verbindungen unterbrochen werden könnten. Da SSH-Verbindungen so konfiguriert wurden, dass sie zugelassen sind, führt die Aktivierung von UFW zu keiner Unterbrechung. Um zu sehen, welche Regeln festgelegt sind, führen Sie den folgenden Befehl aus:

Verschiedene Verbindungen zulassen

An diesem Punkt sollte UFW mit weiteren Regeln ausgestattet werden, um eine stabile Erfahrung zu gewährleisten. Welche Verbindungen zugelassen werden sollen, hängt von Ihren spezifischen Anforderungen ab. Es wurde bereits gezeigt, wie man UFW anweist, Verbindungen basierend auf dem Namen eines Dienstes oder einer Portnummer zuzulassen.

Hier sind einige andere Ports, die sehr häufig geöffnet sind:

  • SSH (Port 22): Dies ist der Standardport, der für SSH-Verbindungen konfiguriert ist.
  • HTTP (Port 80): Dies ist der Standardport, den unverschlüsselte Webserver verwenden.
  • HTTPS (Port 443): Dies ist der Standardport, den verschlüsselte Webserver verwenden.

Um SSH-Verbindungen zu aktivieren, führen Sie einen der folgenden Befehle aus:

Als Nächstes führen Sie einen der folgenden Befehle aus, um HTTP-Verbindungen zu aktivieren:

Um HTTPS-Verbindungen zu aktivieren, führen Sie einen der folgenden Befehle aus:

Portbereich

Bisher haben wir gezeigt, wie man einen bestimmten Port zulässt. Was aber, wenn ein Bereich von Ports benötigt wird? Jeden Port einzeln in UFW zu deklarieren, ist ziemlich ineffizient. Einige Anwendungen nutzen mehrere Ports. Glücklicherweise ermöglicht UFW die Deklaration eines Portbereichs. Verwenden Sie dazu die folgende Befehlsstruktur:

Das folgende Beispiel aktiviert X11-Verbindungen, die die Ports 6000 bis 6007:

Es wird empfohlen, Protokolle wann immer möglich anzugeben. In den meisten Fällen ist dies jedoch nicht zwingend erforderlich, und alles funktioniert auch so einwandfrei.

Spezifische IP-Adressen

Bei der Verwendung von UFW ist es auch möglich, Verbindungen nach bestimmten IP-Adressen zu filtern. Standardmäßig blockiert UFW Verbindungen von allen IP-Adressen. Es ist möglich, Verbindungen von bestimmten IP-Adressen zuzulassen. Um Verbindungen von einer IP-Adresse zuzulassen, verwenden Sie die folgende Befehlsstruktur:

Sie können auch die spezifischen Ports angeben, zu denen die IP-Adresse eine Verbindung herstellen darf. Fügen Sie dazu dem Befehl to any port gefolgt von der Portnummer hinzu:

Subnetze

Wenn Sie ein Subnetz von IP-Adressen zulassen müssen, ist dies mithilfe der CIDR-Notation möglich. In diesem Beispiel lässt UFW Verbindungen von IP-Adressen im Bereich von 203.0.113.1 bis 203.0.113.254:

Ähnlich wie im vorherigen Schritt ist es auch möglich, den Port anzugeben, zu dem diese IP-Adressen eine Verbindung herstellen können:

Verbindung mit einer bestimmten Netzwerkschnittstelle herstellen

In einer Serverumgebung können mehrere Netzwerkschnittstellen mit dem System verbunden sein. Mit UFW ist es möglich festzulegen, dass eine bestimmte Regel nur für eine spezifische Netzwerkschnittstelle gilt. Überprüfen Sie zunächst alle mit dem Server verbundenen Netzwerkschnittstellen. Der Name der Ziel-Netzwerkschnittstelle steht dabei im Vordergrund:

 firewall with UFW on Ubuntu 18.04. 4

In unserem Fall gibt es nur eine Netzwerkschnittstelle ens3, die eine Verbindung zum öffentlichen Internet herstellt. Um eingehende Verbindungen von dieser Netzwerkschnittstelle zuzulassen, verwenden Sie die folgende Befehlsstruktur:

Es ist auch möglich, den Port zu definieren, den der Datenverkehr über die Netzwerkschnittstelle erreichen kann:

Verbindung blockieren

In der Standardkonfiguration blockiert UFW Verbindungen von jeder Quelle (außer den deklarierten Ausnahmen). Dies ist die empfohlene Art der Verwendung von UFW. Es kann jedoch erforderlich sein, bestimmte Verbindungen von einer bestimmten Quell-IP-Adresse oder einem Subnetz zu blockieren. Möglicherweise ist das Standardverhalten von UFW so eingestellt, dass alle Verbindungen zugelassen werden (nicht empfohlen).

Um eine Verbindung von bestimmten IP-Adressen zu blockieren, benötigt UFW Blockierregeln (Deny-Regeln). Das Schreiben von Blockierregeln ist ganz einfach. Nehmen Sie eine beliebige Erlaubnisregel (Allow-Regel), ersetzen Sie den Begriff „allow“ durch „deny“ und voilà! Schon wird daraus eine Blockierregel.

Sehen Sie sich das folgende Beispiel an. Um jede HTTP-Verbindung zu blockieren, verwenden Sie die folgende Blockierregel:

Um Verbindungen von 203.0.113.1 zu blockieren, verwenden Sie die folgende Blockierregel:

Regeln löschen

Bisher haben wir nur gelernt, wie man Regeln erstellt. Genauso wie Regeln erstellt werden, können sie auch gelöscht werden. Im Fall von UFW gibt es zwei spezifische Möglichkeiten, eine Regel zu löschen.

  • Eine Regel nach Regelnummer löschen

Dies ist der einfachste Weg, eine UFW-Regel zu löschen. Jede Regel in UFW hat eine Regelnummer. Der folgende Befehl listet alle UFW-Regeln zusammen mit der Regelnummer auf:

 firewall with UFW on Ubuntu 18.04. 3

Der folgende Befehl löscht die durch die Regelnummer angegebene Regel:

  • Regel durch die eigentliche Regel löschen

Dies ist die schwierigere Methode, eine Regel zu löschen. Sie erfordert die manuelle Angabe der eigentlichen Regel, um sie zu löschen. Im folgenden Beispiel löscht UFW die Regel, die durch allow http:

Die Regel hätte auch durch allow 80 angegeben werden können. In diesem Fall löscht der folgende Befehl sie:

Das Löschen einer Regel löscht diese sowohl für IPv4 als auch für IPv6.

UFW-Status und -Regeln überprüfen

Es ist wichtig sicherzustellen, ob UFW aktiv ist oder nicht. Um den Status von UFW zu ermitteln, führen Sie den folgenden Befehl aus:

 firewall with UFW on Ubuntu 18.04. 2

Wenn der Status „inactive“ ist, aktivieren Sie ihn, indem Sie dem Schritt UFW aktivieren oben folgen. Wenn er aktiv ist, meldet UFW den Status „active“ und listet alle aktiven Regeln auf.

UFW deaktivieren

Wenn Sie UFW aus irgendeinem Grund nicht verwenden möchten, deaktivieren Sie es mit dem folgenden Befehl:

Wenn UFW deaktiviert ist, sind alle erstellten Regeln nicht mehr aktiv. Die Regeln werden jedoch nicht gelöscht. Wenn UFW reaktiviert wird, werden alle Regeln wieder aktiv. Was ist, wenn die aktuelle UFW-Konfiguration ein einziges Chaos ist? Anstatt die Regeln einzeln zu löschen, ist es möglich, sie alle mit einem einzigen Befehl zu löschen. Um UFW zurückzusetzen, führen Sie den folgenden Befehl aus:

 firewall with UFW on Ubuntu 18.04. 1

Beachten Sie, dass dadurch das zu Beginn konfigurierte Standardverhalten von UFW nicht geändert wird.

Fazit

Eine ordnungsgemäße Firewall-Konfiguration ist erforderlich, um Sicherheit und Funktionalität zu gewährleisten. Sie sollte so konfiguriert sein, dass nur die erforderlichen eingehenden Verbindungen zugelassen und unnötige Verbindungen eingeschränkt werden.

Wenn Sie sich mit weiteren Firewall-Lösungen vertraut machen möchten, werfen Sie einen Blick auf unseren Blog für weitere Ressourcen:

Viel Spaß beim Computing!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev ist ein kreativer Designer bei CloudSigma und konzentriert sich auf eine konsistente Unternehmensidentität durch traditionelle und innovative Marketingkanäle. Er versteht es meisterhaft, künstlerische Vision mit strategischem Marketing zu verbinden, um wirkungsvolle Markengeschichten zu schaffen.

Kommentare

Noch keine Kommentare. Schreiben Sie den ersten.