Zurück zum Blog

Die Grundlagen von UFW: Erlernen der essenziellen Firewall-Befehle

Die Grundlagen von UFW: Erlernen der essenziellen Firewall-Befehle

Einführung

UFW steht für Uncomplicated Firewall. Es ist eine Frontend-Plattform, mit der Sie Ihre Firewall-Funktionen und -Befehle einfach verwalten können. Sie erhalten UFW als Standardoption mit Ihrem Ubuntu-Server. Die Maximierung des Potenzials der Befehle und Funktionen der Firewall kann schwierig sein, wenn Sie mit dem Tool noch nicht vertraut sind.

Unser Ziel ist es, Ihnen einen umfassenden Leitfaden an die Hand zu geben, den Sie als Anfänger nutzen können. Wir werden die Erklärungen mit Beispielen für verschiedene Aktionen ergänzen, die Sie mit UFW durchführen können. Viele der Regeln werden für alltägliche Dienste und Aktivitäten sehr nützlich sein. Lassen Sie uns anfangen!

Voraussetzungen

Bevor Sie weiterlesen, stellen Sie sicher, dass Ihr UFW auf den Standard-Regelsatz eingestellt ist. Das bedeutet, dass die Firewall ausgehenden Datenverkehr zulässt, aber eingehenden Datenverkehr blockiert. Der Vorteil dieser Standardeinstellung ist, dass Sie auswählen können, welchen Datenverkehr Sie durch die Firewall zulassen möchten. Wenn Sie sich über den Status des aktuellen Regelsatzes auf Ihrem UFW unsicher sind, verwenden Sie diesen Befehl zur Überprüfung: sudo ufw status. Sie können auch diesen Befehl verwenden:

Abgesehen davon steht es Ihnen frei, in den Abschnitt zu springen, der für Ihre Anforderungen am relevantesten ist. Sie müssen nicht zwingend jeden einzelnen in diesem Leitfaden bereitgestellten Befehl verwenden. Sie können sie je nach Ihren persönlichen Bedürfnissen kombinieren.

So blockieren Sie eine IP-Adresse

Beginnen wir mit einer der grundlegendsten Funktionen jeder Firewall: dem Blockieren von IP-Adressen. Es gibt einen sehr einfachen Befehl, mit dem Sie alle Netzwerkverbindungen blockieren können, die von einer bestimmten IP-Adresse ausgehen. Nehmen wir beispielsweise an, dass die spezifische IP-Adresse in unserem Fall 15.15.15.51 lautet. Sie können diesen Wert durch die IP-Adresse ersetzen, die Sie über Ihr UFW blockieren möchten. Dies ist der Befehl, den Sie für diesen Zweck verwenden würden:

Hier gibt 'from 15.15.15.51' nur die Quell-IP-Adresse an, also '15.15.15.51'. Wenn Sie stattdessen ein Subnetz angeben möchten, können Sie es wie folgt hinzufügen: 15.15.15.0/24. Der Befehl funktioniert genauso gut. Sie können diese Quell-IP-Adresse in jeder gewünschten Firewall-Regel angeben, wie z. B. der allow-Regel.

  • Blockieren von Netzwerkschnittstellen-Verbindungen

Manchmal besteht die Anforderung darin, Netzwerkverbindungen zu blockieren, die von einer bestimmten IP-Adresse zu einer bestimmten Netzwerkschnittstelle führen. In diesem Fall müssen wir die Netzwerkschnittstelle zusammen mit der Quell-IP-Adresse angeben. Nehmen wir für dieses Beispiel an, dass die Quell-IP-Adresse 15.15.15.51 und die Netzwerkschnittstelle eth0 ist:

Ähnlich wie die Quell-IP-Adresse können Sie die Netzwerkschnittstelle auch in jeder Firewall-Regel angeben. Der Zweck dieser Spezifikationen besteht darin, die jeweilige Firewall-Regel nur auf ein bestimmtes Netzwerk oder eine bestimmte Verbindung zu beschränken.

So lassen Sie SSH-Verbindungen zu

Dieser Abschnitt ist für Sie relevant, wenn Sie einen Cloud-Server verwenden. Um eine Verbindung zu Ihrem Cloud-Server herstellen zu können, muss die Firewall eingehende SSH-Verbindungen zulassen. Diese SSH-Verbindungen erfolgen über Port 22. Sie können dieser Anleitung folgen, um zu erfahren, wie Sie SSH verwenden, um eine Verbindung zu einem Remote-Server in Ubuntu herzustellen.

Durch das Herstellen von SSH-Verbindungen können Sie Ihren Cloud-Server erfolgreich über Ihr lokales Gerät verwalten. Hier werden wir die verschiedenen Regeln behandeln, die für die SSH-bezogene Firewall-Konfiguration relevant sind:

  • Zulassen von SSH

Verwenden Sie den folgenden Befehl, um alle eingehenden SSH-Verbindungen zuzulassen:

Andererseits können Sie den Befehl auch ausführen, indem Sie stattdessen die Portnummer des SSH-Dienstes angeben:

  • Zulassen von eingehendem SSH von einer bestimmten IP-Adresse

Falls Sie eingehende SSH-Verbindungen nur von einer bestimmten IP-Adresse oder einem bestimmten Subnetz zulassen möchten, haben Sie die Möglichkeit, die Quelle anzugeben. Nehmen wir beispielsweise an, das Subnetz, das Sie zulassen möchten, ist 15.15.15.0/24. Hier ist der Befehl, den Sie ausführen müssen:

  • Eingehenden Rsync von einer bestimmten IP-Adresse zulassen

Rsync läuft auf Port 873 und ermöglicht es Ihnen, Dateiübertragungen von einem Computersystem auf ein anderes durchzuführen. Wenn Sie die Rsync-Verbindung nur von einer bestimmten IP-Adresse oder einem bestimmten Subnetz (in diesem Beispiel 15.15.15.0/24) zulassen möchten, können Sie dies mit folgendem Befehl tun:

Dies bedeutet, dass das gesamte Subnetz 15.15.15.0/24 berechtigt ist, Rsync auf Ihren Server auszuführen. Hier ist auch eine umfassende Anleitung zur Nutzung von Rsync zur Synchronisierung lokaler und entfernter Verzeichnisse auf Ihrem Server.

So konfigurieren Sie Webserver-Anfragen

Als Nächstes fahren wir mit den Regeln für den Webserver-Dienst fort. Webserver wie Apache und Nginx nehmen in der Regel Anfragen für HTTP- und HTTPS-Verbindungen über zwei Ports entgegen: Port 80 und Port 443. Port 80 bedient HTTP-Anfragen. Port 443 ist für die HTTPS-Anfragen zuständig.

Wie in den Voraussetzungen besprochen, verwenden Sie den Standard-Regelsatz für UFW. Basierend auf diesem Regelsatz blockiert oder verweigert die Firewall den gesamten eingehenden Datenverkehr. Daher müssen Sie neue Regeln konfigurieren, die es dem Server ermöglichen, diese eingehenden Anfragen entgegenzunehmen und zu lesen.

  • Allen HTTP-Verkehr zulassen

Wenn Sie alle HTTP-Verbindungen und -Anfragen zulassen möchten, die über Port 80 eingehen, verwenden Sie den Befehl:

Sie können auch die Portnummer (Port 80) verwenden, um den HTTP-Dienst im Befehl anzugeben:

  • Allen HTTPS-Verkehr zulassen

Wenn Sie alle HTTPS-Verbindungen und -Anfragen zulassen möchten, die über Port 443 eingehen, führen Sie diesen Befehl aus:

Ähnlich wie beim vorherigen Befehl können Sie „https“ durch die Portnummer des HTTPS-Dienstes ersetzen:

  • Sowohl HTTP als auch HTTPS zulassen

Falls Sie sowohl HTTP- als auch HTTPS-Anfragen zulassen möchten, können Sie eine gemeinsame Regel für beide verwenden. Mit diesem einzigen Befehl können Sie den eingehenden Datenverkehr sowohl von Port 80 als auch von Port 443 zulassen:

Der Befehl „proto tcp“ ist erforderlich, wenn Sie mehrere Ports gleichzeitig angeben.

Sie können auch diesen detaillierten Anleitungen folgen, wie Sie Nginx und Apache mit Let’s Encrypt auf Ubuntu absichern.

So lassen Sie MySQL zu

MySQL-Verbindungen erfolgen über Port 3306. Sie müssen eine Regel verwenden, um den eingehenden Datenverkehr zuzulassen, wenn ein Client Ihre MySQL-Datenbank auf einem Remote-Server verwendet. Folgen Sie unserer Anleitung, um die Grundlagen von MySQL zu erlernen und zu erfahren, wie Sie MySQL auf einem Server einrichten.

  • MySQL von einer bestimmten IP-Adresse zulassen

Wie wir bereits in den vorherigen Regeln gesehen haben, müssen Sie die Quelle angeben, um die eingehenden MySQL-Verbindungen zuzulassen. Ihre Quelle kann eine bestimmte IP-Adresse oder ein Subnetz sein. In unserem Beispiel verwenden wir das gesamte Subnetz 15.15.15.0/24, um den Befehl auszuführen:

  • MySQL für eine bestimmte Netzwerkschnittstelle zulassen

Sie verwenden einen anderen Befehl, wenn Sie auch die Netzwerkschnittstelle angeben müssen, für die Sie die MySQL-Verbindungen zulassen. Nehmen wir an, die von Ihnen verwendete Netzwerkschnittstelle ist eine private Netzwerkschnittstelle namens eth1. Sie können diesen Wert durch den Namen Ihrer eigenen Netzwerkschnittstelle ersetzen:

So lassen Sie PostgreSQL zu

Die PostgreSQL-Verbindungen erfolgen über Port 5432. Ähnlich wie bei den MySQL-Verbindungen müssen Sie den eingehenden Datenverkehr zulassen, wenn ein Client die PostgreSQL-Datenbank auf einem Remote-Server verwendet. Sie können dies mit den folgenden Befehlen tun.

  • PostgreSQL von einer bestimmten IP-Adresse zulassen

Wenn Sie wissen, dass die PostgreSQL-Verbindungen von einem bestimmten Subnetz oder einer bestimmten IP-Adresse kommen, müssen Sie die Quelle angeben. Hier verwenden wir noch einmal das Beispiel des Subnetzes 15.15.15.0/24:

Falls Ihre OUTPUT-Richtlinie nicht auf ACCEPT eingestellt ist, müssen Sie einen zweiten Befehl ausführen. Dieser Befehl erlaubt den ausgehenden Datenverkehr bereits hergestellter PostgreSQL-Verbindungen.

  • PostgreSQL für eine bestimmte Netzwerkschnittstelle zulassen

Ähnlich wie bei der vorherigen Regel erlauben wir die PostgreSQL-Verbindungen zu einer bestimmten Netzwerkschnittstelle. In unserem Fall ist es eth1:

Falls Ihre OUTPUT-Richtlinie nicht auf ACCEPT eingestellt ist, müssen Sie einen zweiten Befehl ausführen. Dieser Befehl erlaubt den ausgehenden Datenverkehr bereits hergestellter PostgreSQL-Verbindungen. Sie können erfahren, wie Sie PostgreSQL auf Ubuntu einrichten, indem Sie unserer detaillierten Anleitung folgen.

So konfigurieren Sie Mailserver

Möglicherweise verwenden Sie auch Mailserver wie Sendmail und Postfix auf Ihrem System. Diese Server sind für mehrere Ports geöffnet. Die Ports, auf denen sie lauschen, hängen von den Protokollen ab, die für die E-Mail-Zustellung eingerichtet sind. Aus diesem Grund müssen Sie zunächst bestimmen, welche Protokolle Sie in Ihrem E-Mail-Zustellungssystem ausführen. Anschließend erlauben Sie die entsprechenden Arten von Datenverkehr basierend auf diesen Informationen.

  • Blockieren von ausgehenden SMTP-E-Mails

Bevor wir zu den Befehlen übergehen, die eingehenden Datenverkehr für Ihre Mailserver zulassen, sehen wir uns an, wie Sie ausgehende SMTP-E-Mails blockieren können. Sie können diesen Befehl verwenden, wenn Sie nicht möchten, dass Ihr Server ausgehende E-Mails sendet. SMTP-E-Mails verwenden Port 25. Verwenden Sie diesen Befehl, um diesen Datenverkehr zu blockieren:

Als Ergebnis der Ausführung dieses Befehls verwirft Ihre Firewall den gesamten ausgehenden Datenverkehr auf Port 25. Wenn Sie einen anderen Port blockieren möchten, ersetzen Sie einfach Port „25“ durch die entsprechende Portnummer.

  • Eingehendes SMTP zulassen

Da Sie nun wissen, wie Sie ausgehenden Datenverkehr blockieren, erscheint das Zulassen von eingehendem Datenverkehr ebenso einfach. Verwenden Sie diesen Befehl, um dem Server den Empfang von SMTP-Verbindungen auf Port 25 zu erlauben:

  • Eingehendes IMAP zulassen

Wenn Sie dem Server erlauben möchten, eine IMAP-Verbindung auf Port 143, zu etablieren, verwenden Sie den folgenden Befehl:

  • Eingehendes IMAPS zulassen

Verwenden Sie diesen Befehl, um dem Server zu erlauben, auf IMAPS-Verbindungen auf Port 993 zu antworten:

  • Eingehendes POP3 zulassen

Dieser Befehl ermöglicht es Ihrem Server, auf alle POP3-Verbindungen über Port 110 zu antworten:

  • Eingehendes POP3S zulassen

Schließlich können Sie Ihrem Server mit diesem Befehl erlauben, Anfragen von Port 995 für POP3S-Verbindungen zu empfangen:

Fazit

Diese Anleitung hilft Ihnen, sich mit den grundlegenden UFW-Funktionen vertraut zu machen. Wir haben die wichtigsten Befehle behandelt, mit denen Sie vertraut sein müssen, um Ihre Firewall konfigurieren zu können. Sie können die Befehle auswählen, die Ihren spezifischen Anforderungen am besten entsprechen, um eine personalisierte Firewall-Lösung zu erstellen. Die flexible Natur von UFW ermöglicht eine solche Anpassung. Experimentieren Sie ein wenig, um herauszufinden, was für Sie am besten funktioniert.

Viel Spaß beim Computing!

author

Akshay Nagpal

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.