News
Serverspace Technologien in den VAE: Einführung von Falconcloud
BM
13. August 2022
Aktualisiert Dezember 26, 2023

Basic UFW (Unkompliziert Firewall) Befehle

Linux Netzwerke

Einleitung

Der Standard firewall Konfigurationstool für Ubuntu ist ufw. Entwickelt, um iptables zu vereinfachen firewall Konfiguration bietet ufw eine bequeme Möglichkeit, eine zu erstellen IPv4 oder IPv6-hostbasiert firewall. Standardmäßig ist UFW deaktiviert.

Wenn in Ihrer Version ufw nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:

sudo apt update && sudo apt install ufw

UFW-Statusprüfung

Überprüfen Sie, dass die firewall eingeschaltet ist, verwenden Sie diesen Befehl:

sudo ufw status

Firewall status
Das Ergebnis zeigt, ob Ihr firewall aktiv ist oder nicht.

UFW einschalten

Wenn du eine bekommst Status: inaktiv Wenn Sie beim Ausführen des Befehls ufw status eine Meldung erhalten, bedeutet dies, dass die firewall ist auf dem System noch nicht aktiviert. Sie müssen einen Befehl ausführen, um es zu aktivieren.

Wenn UFW aktiviert ist, blockiert es standardmäßig den externen Zugriff auf alle Ports auf dem Server. In der Praxis bedeutet dies, dass wenn Sie sich mit einem Server via verbinden SSH und aktivieren Sie ufw, bevor Sie den Zugriff darauf zulassen SSH Port, wird Ihre Verbindung getrennt.

Führen Sie den folgenden Befehl aus, um UFW auf Ihrem System zu aktivieren:

sudo ufw enable

Sie werden ein ähnliches Ergebnis sehen.

Enabling firewall autoloading

Um zu sehen, was derzeit blockiert oder erlaubt ist, können Sie die verwenden ausführlich parameter beim Laufen UFW-Status wie unten dargestellt:

sudo ufw status verbose

Advanced firewall configuration output

Ausschalten des UFW

Wenn Sie aus irgendeinem Grund das deaktivieren müssen firewall, können Sie dies mit dem folgenden Befehl tun:

sudo ufw disable

Seien Sie vorsichtig, dieser Befehl deaktiviert das vollständig firewall Service auf Ihrem System!

Blockieren einer IP-Adresse für die Adressierung

Um alle Netzwerkverbindungen zu blockieren, originatWenn Sie von einer bestimmten IP-Adresse ausgehen, führen Sie den folgenden Befehl aus und ersetzen Sie die zugewiesene IP-Adresse durch die IP-Adresse, die Sie blockieren möchten:

sudo ufw deny from 91.198.174.190

Blocking incoming requests from an ip address
In diesem Beispiel von 91.198.174.190 gibt die Quell-IP-Adresse „91.198.174.190“ an.

sudo ufw status

Wenn Sie diesen Befehl ausführen, sehen Sie, dass die angegebene IP-Adresse auf der Sperrliste steht:

Active filtering rules

Alle Verbindungen, ein- und ausgehend, werden für die angegebene IP-Adresse blockiert.

Blockieren Sie das Subnetz

Wenn Sie das gesamte Subnetz blockieren müssen, können Sie die Subnetzadresse als „Von“-Pa verwendenrameter im Befehl ufw deny. Dadurch werden alle IP-Adressen im Beispielsubnetz 91.198.174.0/24 blockiert:

sudo ufw deny from 91.198.174.0/24

Subnet blocking

Blockieren eingehender Verbindungen zur Netzwerkschnittstelle

Um eingehende Verbindungen von einer bestimmten IP-Adresse zu einer bestimmten Netzwerkschnittstelle zu blockieren, führen Sie den folgenden Befehl aus und ersetzen Sie die IP-Adresse durch die IP-Adresse, die Sie blockieren möchten:

sudo ufw deny in on eth0 from 91.198.174.192

Blocking an ip address in a subnetwork

Das „in“ parameter erzählt das firewall um die Regel nur auf eingehende Verbindungen anzuwenden, und den „on eth0“ parameter teilt ihm mit, dass die Regel nur für die eth0-Schnittstelle gilt.

Dies kann nützlich sein, wenn Sie über ein System mit mehreren Netzwerkschnittstellen (einschließlich virtueller Schnittstellen) verfügen und den externen Zugriff auf einige dieser Schnittstellen blockieren müssen, jedoch nicht auf alle.

Konvertierungen von IP-Adressen zulassen

Um alle ursprünglichen Netzwerkverbindungen zuzulassennatWenn Sie von einer bestimmten IP-Adresse ausgehen, führen Sie den folgenden Befehl aus und ersetzen Sie die zugewiesene IP-Adresse durch die IP-Adresse, auf die Sie Zugriff gewähren möchten:

sudo ufw allow from 91.198.174.192

Allow incoming requests from an ip address

Wenn Sie jetzt „sudo ufw status“ ausführen, sehen Sie eine Ausgabe ähnlich dieser, mit ALLOW neben der IP-Adresse, die Sie gerade hinzugefügt haben.

sudo ufw status

List of active filtering rules

Sie können auch Verbindungen aus einem ganzen Subnetz zulassen, indem Sie die entsprechende Subnetzmaske für den Host angeben, z. B. 91.198.174.0/24.

Eingehende Verbindungen zur Netzwerkschnittstelle zulassen

Führen Sie den folgenden Befehl aus, um eingehende Verbindungen von einer bestimmten IP-Adresse zu einer bestimmten Netzwerkschnittstelle zuzulassen, und ersetzen Sie die IP-Adresse durch diejenige, die Sie zulassen möchten:

sudo ufw allow in on eth0 from 91.198.174.22

Allow incoming requests on the network interface

Das „in“ parameter erzählt das firewall die Regel nur auf eingehende Verbindungen und den „on eth0“-Pa anzuwendenrameter gibt an, dass die Regel nur für die Schnittstelle „eth0“ gilt.

sudo ufw status

Wenn Sie den Befehl ausführen, sehen Sie ein ähnliches Ergebnis wie dieses:

Active filtering rules

Entfernen firewall regieren

Um eine zuvor in UFW installierte Regel zu löschen, verwenden Sie „ufw delete“ und geben Sie dann die Regel (Zulassen/Verweigern) und die Zielspezifikation ein. Das folgende Beispiel löscht eine Regel, die zuvor festgelegt wurde, um alle Verbindungen von der IP-Adresse 91.198.174.192 zuzulassen:

sudo ufw delete allow from 91.198.174.192

Deletion of UFW rule

Eine andere Möglichkeit, anzugeben, welche Regel Sie entfernen möchten, besteht darin, die Regel-ID anzugeben. Diese Informationen können mit dem folgenden Befehl abgerufen werden:

sudo ufw status numbered

Numbered list of active ufw rules

Aus der Ausgabe können Sie sehen, dass es zwei aktive Regeln gibt. Die erste Regel verweigert alle Verbindungen, die von der IP-Adresse 91.198.174.190 kommen. Die zweite Regel lässt Verbindungen auf der eth0-Schnittstelle zu, die von der IP-Adresse 91.198.174.22 kommen.

Da standardmäßig die firewall Blockiert bereits jeglichen externen Zugriff, es sei denn, er ist ausdrücklich erlaubt. Die erste Regel ist überflüssig und kann daher entfernt werden. Um eine Regel anhand ihrer ID zu entfernen, führen Sie den folgenden Befehl aus:

sudo ufw delete 1

Sie werden aufgefordert, den Vorgang zu bestätigen und sicherzustellen, dass sich die von Ihnen angegebene ID auf die richtige Regel bezieht, die Sie löschen möchten.

Deleting a rule using its id

Wenn Sie Ihre Regeln erneut mit dem Status „sudo ufw“ auflisten, sehen Sie, dass die Regel entfernt wurde.

Liste der verfügbaren Anwendungsprofile

Bei der Installation von Anwendungen, die auf Netzwerkkommunikation basieren, ist es üblich, eine einzurichten firewall Profil, das verwendet werden kann, um Verbindungen von externen Adressen zuzulassen. Dies ist oft dasselbe wie das Ausführen von „ufwallow from“, mit dem Vorteil, dass es sich um eine Verknüpfung handelt, die die vom Dienst verwendeten spezifischen Portnummern abstrahiert und eine praktische Nomenklatur für verweisende Dienste bereitstellt.

sudo ufw app list

Wenn Sie einen Dienst installiert haben, beispielsweise einen Webserver oder eine andere netzwerkabhängige Software, und das Profil im nicht verfügbar war firewallStellen Sie zunächst sicher, dass der Dienst aktiviert ist.

Für Remote-Server: ÖffnenSSH ist in der Regel verfügbar:

List of available profiles

Fügen Sie ein Profil für eine bestimmte Anwendung hinzu

Um a firewall Anwendungsprofil ausführen, führen Sie den Befehl „ufwallow“ aus, gefolgt vom Namen des Anwendungsprofils, das Sie aktivieren möchten. Dieser kann mit dem folgenden Befehl abgerufen werden:

sudo ufw app list

Im folgenden Beispiel aktivieren wir das ÖffnenSSH Profil, das alle eingehenden Nachrichten zulässt SSH Anschlüsse auf dem Standard SSH Hafen.

sudo ufw allow OpenSSH

Enabling connection using a profile

Deaktivieren Sie ein Profil für eine bestimmte Anwendung

Um ein Anwendungsprofil zu deaktivieren, das Sie zuvor im konfiguriert haben firewall, müssen Sie die entsprechende Regel entfernen. Betrachten Sie beispielsweise die folgende Ausgabe von „sudo ufw status“

sudo ufw status

List of active filtering rules

Diese Ausgabe zeigt an, dass die „Nginx Das Anwendungsprofil „Vollständig“ ist derzeit aktiviert und ermöglicht alle Verbindungen zum Webserver über beide HTTP und HTTPS.

Wenn Sie nur zulassen möchten HTTPFür S-Anfragen an Ihren Webserver müssen Sie zunächst die restriktivste Regel aktivieren, in diesem Fall „Nginx HTTPS“ und deaktivieren Sie dann die aktive Regel „Nginx Voll":

sudo ufw allow "Nginx HTTPS"
sudo ufw delete allow "Nginx Full"

Denken Sie daran, dass Sie alle verfügbaren App-Profile auflisten können mit:

sudo ufw app list

Ermöglichen SSH

Wenn Sie mit Remote-Servern arbeiten, müssen Sie sicherstellen, dass die SSH Der Port ist für Verbindungen geöffnet, sodass Sie sich remote bei Ihrem Server anmelden können.

Der folgende Befehl aktiviert das ÖffnenSSH Bewerbungsprofil für die firewall und erlauben Sie alle Verbindungen zur Standardeinstellung SSH Port auf dem Server:

sudo ufw allow OpenSSH

Allow SSH connection

Obwohl weniger benutzerfreundlich, eine ÄnderungnatDie ive-Syntax besteht darin, die genaue Portnummer des anzugeben SSH Dienst, der normalerweise standardmäßig auf 22 eingestellt ist:

sudo ufw allow 22

Allow connection to a port

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

Um eingehende Verbindungen von einer bestimmten IP-Adresse oder einem bestimmten Subnetz zuzulassen, fügen Sie die „from“-Direktive ein, um die Quelle der Verbindung zu definieren. Dazu ist es erforderlich, dass Sie auch das Ziel angebennation-Adresse mit dem „to“ parameter. Um diese Regel zu blockieren SSH Beschränken Sie lediglich „proto“ (Protokoll) auf „tcp“ und verwenden Sie dann den „port“ parameter und setzen Sie ihn auf 22, den Standardwert SSH Hafen.

Der folgende Befehl erlaubt nur SSH Verbindungen originatVon der IP-Adresse 91.198.174.33 aus:

sudo ufw allow from 91.198.174.33 proto tcp to any port 22

Allow incoming requests only from a specific ip address

Sie können auch die Subnetzadresse als „Von“-Adresse verwendenrameter, um eingehende Nachrichten zuzulassen SSH Verbindungen aus dem gesamten Netzwerk:

sudo ufw allow from 91.198.174.0/24 proto tcp to any port 22

Allow incoming requests from a specific subnet only

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

Rsync, das auf Port 873 läuft, kann verwendet werden, um Dateien von einem Computer auf einen anderen zu übertragen.

Um eingehende Rsync-Verbindungen von einer bestimmten IP-Adresse oder einem bestimmten Subnetz zuzulassen, verwenden Sie from parameter, um die Quell-IP-Adresse und den Port-Pa anzugebenrameter, um das Ziel festzulegennation-Port auf 873. Der folgende Befehl lässt nur Rsync-Verbindungen zu, die von der IP-Adresse 91.198.174.33 kommen:

sudo ufw allow from 91.198.174.33 to any port 873

Permission for rsycn

Um dem gesamten Subnetz 91.198.174.0/24 die „rsync“-Verbindung zu Ihrem Server zu ermöglichen, führen Sie den folgenden Befehl aus:

sudo ufw allow from 91.198.174.0/24 to any port 873

Allowing a subnet to use rsync

Erlauben Nginx HTTP / HTTPS

Bei der Installation des Nginx Webserver, es installiert mehrere verschiedene firewall Profile innerhalb des Servers. Nach der Installation und Aktivierung Nginx Als Dienst führen Sie den folgenden Befehl aus, um festzustellen, welche Profile verfügbar sind:

sudo ufw app list | grep Nginx

List of available Nginx profiles

Erlauben HTTP und HTTPS-Verkehr, auswählen Nginx Vollständiger. Andernfalls wählen Sie eine der beiden Optionen aus Nginx HTTP damit HTTP nur, oder Nginx HTTPS damit HTTPNur S.

Der folgende Befehl ermöglicht es HTTP und HTTPS-Verkehr auf dem Server (Ports 80 und 443):

sudo ufw allow "Nginx Full"

Active Nginx profile

Erlauben Apache HTTP / HTTPS

Während der Installation wird die Apache Der Webserver installiert mehrere verschiedene UFW-Profile auf dem Server. Nach der Installation und Aktivierung Apache Als Dienst führen Sie den folgenden Befehl aus, um festzustellen, welche Profile verfügbar sind:

sudo ufw app list | grep Apache

Available Apache profiles

Aktivieren HTTP und HTTPS-Verkehr, wählen Sie „Apache Vollständig". Andernfalls wählen Sie entweder "Apache" zum HTTP oder "Apache Sicher“ für HTTPS.

Der folgende Befehl ermöglicht es HTTP und HTTPS-Verkehr auf dem Server (Ports 80 und 443):

sudo ufw allow "Apache Full"

Adding apache full profile to filter rules

Alle eingehenden Anrufe zulassen HTTP (Port 80)

Webserver wie z.B Apache und Nginx normalerweise darauf achten HTTP Anfragen an Port 80. Wenn Ihre Standardrichtlinie für eingehenden Datenverkehr auf „Ablehnen“ oder „Verweigern“ eingestellt ist, müssen Sie eine UFW-Regel erstellen, um externen Zugriff auf Port 80 zu ermöglichen. Sie können entweder die Portnummer oder den Dienstnamen verwenden (http) als parameter dieses Befehls.

Um allen eingehenden Zugriff zu ermöglichen HTTP Verbindungen (Port 80), führen Sie den Befehl aus:

sudo ufw allow http

Allow incoming http traffic

Ein AlternatDie fünfte Syntax besteht darin, die Portnummer des anzugeben HTTP Service:

sudo ufw allow 80

Allow incoming traffic through the service port

Alle eingehenden Nachrichten zulassen HTTPS (Port 443)

HTTPS wird normalerweise auf Port 443 ausgeführt. Wenn Ihre Standardrichtlinie für eingehenden Datenverkehr auf „Ablehnen“ oder „Verweigern“ eingestellt ist, müssen Sie eine UFW-Regel erstellen, um externen Zugriff auf Port 443 zuzulassen. Sie können entweder die Portnummer oder den Dienstnamen verwenden (https) als parameter dieses Befehls.

Um alle eingehenden Nachrichten zuzulassen HTTPS-Verbindungen (Port 443) führen diesen Befehl aus:

sudo ufw allow https

Allow incoming https traffic

Ein AlternatDie fünfte Syntax besteht darin, die Portnummer des anzugeben HTTPS-Dienst:

sudo ufw allow 443

Allow incoming traffic by service port number

Alle eingehenden Anrufe zulassen HTTP und HTTPS

Wenn du es zulassen möchtest HTTP und HTTPS-Verkehr können Sie eine Regel erstellen, die beide Ports zulässt. Diese Verwendung erfordert, dass Sie auch das Protokoll mithilfe des „Proto“-Pas definierenrameter, der in diesem Fall auf tcp gesetzt werden muss.

Um allen eingehenden Zugriff zu ermöglichen HTTP und HTTPS-Verbindungen (Ports 80 und 443), führen Sie den Befehl aus:

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

Allow incoming traffic for http and https

Verbindung zulassen zu MySQL von einer bestimmten IP-Adresse oder einem Subnetz

MySQL hört zu cliEnt-Verbindungen auf Port 3306. Wenn Ihr MySQL Der Datenbankserver wird von einem verwendet cliWenn Sie auf einem Remote-Server eine Verbindung herstellen, müssen Sie eine UFW-Regel erstellen, um einen solchen Zugriff zu ermöglichen.

Eingehendes ermöglichen MySQL Um Verbindungen von einer bestimmten IP-Adresse oder einem bestimmten Subnetz herzustellen, verwenden Sie die Option from parameter, um die Quell-IP-Adresse und den „Port“-Pa anzugebenrameter, um Ziel festzulegennatIonenport 3306.

Mit dem folgenden Befehl kann die IP-Adresse 91.198.174.33 eine Verbindung herstellen MySQL Server Port:

sudo ufw allow from 91.198.174.33 to any port 3306

Allow connection to MySQL port

Damit sich das gesamte Subnetz 91.198.174.0/24 mit Ihrem verbinden kann MySQL Server, führen Sie den Befehl aus:

sudo ufw allow from 91.198.174.0/24 to any port 3306

Allow entire subnet to connect to MySQL port

Verbindung zulassen zu PostgreSQL von einer bestimmten IP-Adresse oder einem Subnetz

PostgreSQL hört zu cliEnt-Verbindungen auf Port 5432. Wenn Ihr PostgreSQL Der Datenbankserver wird von einem verwendet cliWenn Sie auf einem Remote-Server eine Verbindung herstellen, müssen Sie diesen Datenverkehr zulassen.

Eingehendes ermöglichen PostgreSQL Um Verbindungen von einer bestimmten IP-Adresse oder einem bestimmten Subnetz herzustellen, geben Sie die Quelle mit dem from pa anrameter und stellen Sie den Port auf 5432 ein:

sudo ufw allow from 91.198.174.33 to any port 5432

Allow connection to PostgreSQL

Damit sich das gesamte Subnetz 91.198.174.0/24 mit Ihrem verbinden kann PostgreSQL Server, führen Sie den Befehl aus:

sudo ufw allow from 91.198.174.0/24 to any port 5432

Verbindung zulassen zu PostgreSQL von einer bestimmten IP-Adresse oder einem Subnetz

Mailserver wie Sendmail und Postfix verwenden normalerweise Port 25 für SMTP-Datenverkehr. 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-Verbindungen zu blockieren:

sudo ufw deny out 25

Blocking outgoing mail traffic

Dadurch wird Ihr konfiguriert firewall um den gesamten ausgehenden Datenverkehr auf Port 25 zu blockieren. Wenn Sie ausgehende Verbindungen auf einer anderen Portnummer ablehnen müssen, können Sie diesen Befehl wiederholen und 25 durch die Portnummer ersetzen, die Sie blockieren möchten.

Zusammenfassung

UFW ist ein leistungsstarkes Tool, das bei richtiger Konfiguration die Sicherheit Ihrer Server erheblich verbessern kann. In diesem Handbuch werden einige allgemeine UFW-Regeln behandelt, die häufig zum Konfigurieren von verwendet werden firewall in Ubuntu. Die meisten Befehle in diesem Handbuch können durch Ändern von pa an verschiedene Anwendungsfälle und Szenarien angepasst werdenramParameter wie Quell-IP-Adresse und/oder ZielnatIonenanschluss. Weitere Informationen zu den einzelnen Befehlen finden Sie hierrameter und die verfügbaren Modifikatoren, die Sie verwenden können Mann Dienstprogramm zum Überprüfen des UFW-Handbuchs:

man ufw
Abstimmung:
3 aus 5
Durchschnittliche Bewertung: 3.1
Bewertet von: 29
1101 CT Amsterdam Niederlande, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Wir verwenden Cookies, um Ihr Erlebnis auf der Website zu verbessern Serverspace besser. Indem Sie weiterhin auf unserer Website surfen, stimmen Sie unseren zu
Cookies und Datenschutzbestimmungen.