UFW Essentials: Allgemeine Firewall-Regeln und -Befehle

Einführung

UFW ist ein Firewall-Konfigurationstool für iptables, das standardmäßig in Ubuntu enthalten ist. Diese Anleitung im Cheat Sheet-Stil enthält eine kurze Referenz zu UFW-Befehlen, mit denen iptables-Firewallregeln erstellt werden. Diese sind in alltäglichen Szenarien nützlich. Dies umfasst UFW-Beispiele zum Zulassen und Sperren verschiedener Dienste nach Port, Netzwerkschnittstelle und Quell-IP-Adresse.

Verwendung dieses Handbuchs
  • Wenn Sie gerade erst mit der Konfiguration Ihrer Firewall mit UFW beginnen, lesen Sie unsere https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu -14-04 [Einführung in die UFW]

  • Die meisten der hier beschriebenen Regeln setzen voraus, dass Sie den Standard-UFW-Regelsatz verwenden. Das heißt, es ist so eingestellt, dass ausgehender und eingehender Datenverkehr über die Standardrichtlinien verweigert wird, sodass Sie selektiv Datenverkehr zulassen müssen

  • Verwenden Sie die nachfolgenden Abschnitte, die sich auf das beziehen, was Sie erreichen möchten. Die meisten Abschnitte basieren auf keinem anderen, sodass Sie die folgenden Beispiele unabhängig voneinander verwenden können

  • Verwenden Sie das Inhaltsmenü rechts auf dieser Seite (bei großen Seitenbreiten) oder die Suchfunktion Ihres Browsers, um die gewünschten Abschnitte zu finden

  • Kopieren Sie die angegebenen Befehlszeilenbeispiele, und fügen Sie sie ein. Ersetzen Sie dabei die Werte in Rot durch Ihre eigenen Werte

Denken Sie daran, dass Sie Ihren aktuellen UFW-Regelsatz mit "+ sudo ufw status " oder " sudo ufw status verbose +" überprüfen können.

Blockieren Sie eine IP-Adresse

Führen Sie zum Blockieren aller Netzwerkverbindungen, die von einer bestimmten IP-Adresse stammen, beispielsweise "+ 15.15.15.51 +" den folgenden Befehl aus:

sudo ufw deny from

In diesem Beispiel gibt "+ von 15.15.15.51 " eine * Quell * -IP-Adresse von "15.15.15.51" an. Wenn Sie möchten, können Sie stattdessen ein Subnetz wie ` 15.15.15.0 / 24 +` angeben. Die Quell-IP-Adresse kann in jeder Firewall-Regel angegeben werden, einschließlich einer * allow * -Regel.

Blockieren von Verbindungen zu einer Netzwerkschnittstelle

So blockieren Sie Verbindungen von einer bestimmten IP-Adresse, z. "+ 15.15.15.51 " an eine bestimmte Netzwerkschnittstelle, z. ` eth0 +`, benutze diesen Befehl:

sudo ufw deny in on eth0 from

Dies ist das gleiche wie im vorherigen Beispiel, mit dem Zusatz von "+ in on eth0 +". Die Netzwerkschnittstelle kann in jeder Firewall-Regel angegeben werden und ist eine hervorragende Möglichkeit, die Regel auf ein bestimmtes Netzwerk zu beschränken.

Service: SSH

Wenn Sie einen Cloud-Server verwenden, möchten Sie wahrscheinlich eingehende SSH-Verbindungen (Port 22) zulassen, damit Sie eine Verbindung zu Ihrem Server herstellen und diesen verwalten können. In diesem Abschnitt erfahren Sie, wie Sie Ihre Firewall mit verschiedenen SSH-Regeln konfigurieren.

Erlaube SSH

Führen Sie den folgenden Befehl aus, um alle eingehenden SSH-Verbindungen zuzulassen:

sudo ufw allow ssh

Eine alternative Syntax besteht darin, die Portnummer des SSH-Dienstes anzugeben:

sudo ufw allow 22

Eingehendes SSH von einer bestimmten IP-Adresse oder einem bestimmten Subnetz zulassen

Geben Sie die Quelle an, um eingehende SSH-Verbindungen von einer bestimmten IP-Adresse oder einem bestimmten Subnetz zuzulassen. Wenn Sie beispielsweise das gesamte Subnetz "+ 15.15.15.0 / 24 +" zulassen möchten, führen Sie den folgenden Befehl aus:

sudo ufw allow from   to any port 22

Zulassen von eingehendem Rsync von einer bestimmten IP-Adresse oder einem bestimmten Subnetz

Rsync, das auf Port 873 ausgeführt wird, kann zum Übertragen von Dateien von einem Computer auf einen anderen verwendet werden.

Geben Sie die Quell-IP-Adresse und den Zielport an, um eingehende Rsync-Verbindungen von einer bestimmten IP-Adresse oder einem bestimmten Subnetz zuzulassen. Wenn Sie beispielsweise zulassen möchten, dass das gesamte Subnetz "+ 15.15.15.0 / 24 +" mit Ihrem Server synchronisiert werden kann, führen Sie den folgenden Befehl aus:

sudo ufw allow from  to any port 873

Service: Webserver

Webserver wie Apache und Nginx lauschen normalerweise auf Port 80 und 443 nach HTTP- bzw. HTTPS-Verbindungen. Wenn Ihre Standardrichtlinie für eingehenden Datenverkehr auf Löschen oder Verweigern festgelegt ist, möchten Sie Regeln erstellen, mit denen Ihr Server auf diese Anforderungen reagieren kann.

Alle eingehenden HTTP zulassen

Führen Sie den folgenden Befehl aus, um alle eingehenden HTTP-Verbindungen (Port 80) zuzulassen:

sudo ufw allow http

Eine alternative Syntax besteht darin, die Portnummer des HTTP-Dienstes anzugeben:

sudo ufw allow 80

Alle eingehenden HTTPS zulassen

Führen Sie den folgenden Befehl aus, um alle eingehenden HTTPS-Verbindungen (Port 443) zuzulassen:

sudo ufw allow https

Eine alternative Syntax besteht darin, die Portnummer des HTTPS-Dienstes anzugeben:

sudo ufw allow 443

Alle eingehenden HTTP- und HTTPS-Nachrichten zulassen

Wenn Sie sowohl HTTP- als auch HTTPS-Verkehr zulassen möchten, können Sie eine einzige Regel erstellen, die beide Ports zulässt. Führen Sie den folgenden Befehl aus, um alle eingehenden HTTP- und HTTPS-Verbindungen (Port 443) zuzulassen:

sudo ufw allow proto tcp from any to any port 80,443

Beachten Sie, dass Sie das Protokoll mit "+ proto tcp +" angeben müssen, wenn Sie mehrere Ports angeben.

Dienst: MySQL

MySQL wartet auf Client-Verbindungen an Port 3306. Wenn Ihr MySQL-Datenbankserver von einem Client auf einem Remoteserver verwendet wird, müssen Sie sicherstellen, dass dieser Datenverkehr zugelassen wird.

Erlaube MySQL von einer bestimmten IP-Adresse oder einem bestimmten Subnetz

Geben Sie die Quelle an, um eingehende MySQL-Verbindungen von einer bestimmten IP-Adresse oder einem bestimmten Subnetz aus zuzulassen. Wenn Sie beispielsweise das gesamte Subnetz "+ 15.15.15.0 / 24 +" zulassen möchten, führen Sie den folgenden Befehl aus:

sudo ufw allow from  to any port 3306

Ermöglichen Sie MySQL für bestimmte Netzwerkschnittstellen

Um MySQL-Verbindungen zu einer bestimmten Netzwerkschnittstelle zuzulassen, z. B. über eine private Netzwerkschnittstelle "+ eth1 +", verwenden Sie diesen Befehl:

sudo ufw allow in on  to any port 3306

Dienst: PostgreSQL

PostgreSQL wartet auf Clientverbindungen an Port 5432. Wenn Ihr PostgreSQL-Datenbankserver von einem Client auf einem Remoteserver verwendet wird, müssen Sie sicherstellen, dass dieser Datenverkehr zugelassen wird.

PostgreSQL von einer bestimmten IP-Adresse oder einem bestimmten Subnetz

Geben Sie die Quelle an, um eingehende PostgreSQL-Verbindungen von einer bestimmten IP-Adresse oder einem bestimmten Subnetz aus zuzulassen. Wenn Sie beispielsweise das gesamte Subnetz "+ 15.15.15.0 / 24 +" zulassen möchten, führen Sie den folgenden Befehl aus:

sudo ufw allow from  to any port 5432

Der zweite Befehl, der den ausgehenden Verkehr von * hergestellten * PostgreSQL-Verbindungen ermöglicht, ist nur erforderlich, wenn die Richtlinie "+ OUTPUT " nicht auf " ACCEPT +" gesetzt ist.

Ermöglichen Sie PostgreSQL für bestimmte Netzwerkschnittstellen

Um PostgreSQL-Verbindungen zu einer bestimmten Netzwerkschnittstelle zuzulassen, verwenden Sie beispielsweise den folgenden Befehl:

sudo ufw allow in on  to any port 5432

Der zweite Befehl, der den ausgehenden Verkehr von * hergestellten * PostgreSQL-Verbindungen ermöglicht, ist nur erforderlich, wenn die Richtlinie "+ OUTPUT " nicht auf " ACCEPT +" gesetzt ist.

Service: Mail

Mailserver wie Sendmail und Postfix überwachen abhängig von den für die Mailzustellung verwendeten Protokollen eine Vielzahl von Ports. Wenn Sie einen Mailserver ausführen, ermitteln Sie, welche Protokolle Sie verwenden, und lassen Sie die entsprechenden Datenverkehrstypen zu. Wir zeigen Ihnen auch, wie Sie eine Regel zum Blockieren ausgehender SMTP-Mails erstellen.

Ausgehende SMTP-Mail blockieren

Wenn Ihr Server keine ausgehenden E-Mails senden soll, können Sie diese Art von Datenverkehr blockieren. Führen Sie den folgenden Befehl aus, um ausgehende SMTP-Mail zu blockieren, die Port 25 verwendet:

sudo ufw deny out 25

Dadurch wird Ihre Firewall so konfiguriert, dass der gesamte ausgehende Datenverkehr auf Port 25 * gelöscht * wird. Wenn Sie einen anderen Dienst anhand seiner Portnummer anstelle von Port 25 ablehnen müssen, ersetzen Sie ihn einfach.

Alle eingehenden SMTP zulassen

Führen Sie den folgenden Befehl aus, damit Ihr Server auf SMTP-Verbindungen an Port 25 antworten kann:

sudo ufw allow 25

Alle eingehenden IMAP zulassen

Führen Sie den folgenden Befehl aus, damit Ihr Server auf IMAP-Verbindungen, Port 143, antworten kann:

sudo ufw allow 143

Alle eingehenden IMAPS zulassen

Führen Sie den folgenden Befehl aus, damit Ihr Server auf IMAPS-Verbindungen, Port 993, antworten kann:

sudo ufw allow 993

Alle eingehenden POP3 zulassen

Führen Sie den folgenden Befehl aus, damit Ihr Server auf POP3-Verbindungen, Port 110, antworten kann:

sudo ufw allow 110

Alle eingehenden POP3S zulassen

Führen Sie den folgenden Befehl aus, damit Ihr Server auf POP3S-Verbindungen an Port 995 reagieren kann:

sudo ufw allow 995

Fazit

Dies sollte viele der Befehle abdecken, die häufig verwendet werden, wenn UFW zum Konfigurieren einer Firewall verwendet wird. Natürlich ist UFW ein sehr flexibles Tool. Sie können also die Befehle mit verschiedenen Optionen kombinieren, um sie an Ihre spezifischen Anforderungen anzupassen, wenn sie hier nicht behandelt werden.

Viel Glück!

Related