Einführung
Der Linux-Kernel enthält den Netfilter Subsystem, das verwendet wird, um das Schicksal des Netzwerkverkehrs zu manipulieren oder zu entscheiden, der in oder durch Ihren Server geleitet wird. Alle modernen Linux-Firewall-Lösungen verwenden dieses System zur Paketfilterung.
UFW – Unkomplizierte Firewall
Das standardmäßige Firewall-Konfigurationstool für Ubuntu ist UFW. UFW wurde entwickelt, um die Konfiguration der iptables-Firewall zu vereinfachen, und bietet eine benutzerfreundliche Möglichkeit, eine hostbasierte IPv4- oder IPv6-Firewall zu erstellen.
UFW ist standardmäßig zunächst deaktiviert. Von der UFW-Manpage:
„UFW soll keine vollständige Firewall-Funktionalität über seine Befehlsschnittstelle bereitstellen, sondern bietet stattdessen eine einfache Möglichkeit, einfache Regeln hinzuzufügen oder zu entfernen. Es wird derzeit hauptsächlich für Host-basierte Firewalls verwendet.“
Wie installiere ich UFW in Ubuntu \ Debian?
UFW ist Teil der Standardinstallation von Ubuntu 20.04 und sollte auf Ihrem System vorhanden sein. Wenn es aus irgendeinem Grund nicht installiert ist, können Sie das Paket installieren, indem Sie Folgendes eingeben:
# Install UFW
sudo apt update
sudo apt install ufw
Code language: PHP (php)
So aktivieren oder deaktivieren Sie UFW
Mit diesem Befehl können wir den UFW-Agenten in unserem Betriebssystem aktivieren oder deaktivieren, außerdem haben wir eine dritte Option zum Zurücksetzen, die wir unten in diesem Artikel aufgelistet haben.
# Enable uncomplicated firewall
sudo ufw enable
# Disable uncomplicated firewall
sudo ufw disable
Code language: PHP (php)
Standardrichtlinien einrichten
Das Standardverhalten der UFW-Firewall besteht darin, den gesamten eingehenden und weiterleitenden Datenverkehr zu blockieren und den gesamten ausgehenden Datenverkehr zuzulassen. Dies bedeutet, dass jeder, der versucht, auf Ihren Server zuzugreifen, keine Verbindung herstellen kann, es sei denn, Sie öffnen den Port ausdrücklich. Anwendungen und Dienste, die auf Ihrem Server ausgeführt werden, können auf die Außenwelt zugreifen.
# Setting Up Default Policies
sudo ufw default deny incoming
sudo ufw default allow outgoing
Code language: PHP (php)
So fügen Sie einen bestimmten Port hinzu oder verweigern ihn
Durch das Zulassen eines Ports werden Verbindungen zu diesem bestimmten Port zugelassen. In diesem Fall werden wir ssh-Verbindungen zu Port 22 zulassen oder, wenn wir wollen, sie verweigern.
# Add port
sudo ufw allow 22
# Deny port
sudo ufw deny 22
Code language: PHP (php)
So entfernen Sie eine bestimmte Regel
Manchmal benötigen wir einige der von uns erstellten Regeln nicht, sodass wir sie mit diesem einfachen Befehl löschen können.
# Remove rule
sudo ufw delete deny 22
Code language: PHP (php)
Port nur von einer bestimmten IP zulassen
In diesem Fall werden wir den Zugriff auf unseren Server nur von der IP-Adresse 192.168.0.2 erlauben, andere IP-Adressen werden abgelehnt.
# Allow 192.168.0.2 to access our server
sudo ufw allow proto tcp from 192.168.0.2 to any port 22
Code language: CSS (css)
Firewall-Status prüfen
UFW ist standardmäßig deaktiviert. Sie können den Status des UFW-Dienstes mit dem folgenden Befehl überprüfen:
# Check status
sudo ufw status
Code language: PHP (php)
Mit Anwendungen arbeiten
Ein Anwendungsprofil ist eine Textdatei im INI-Format, die den Dienst beschreibt und Firewall-Regeln für den Dienst enthält. Anwendungsprofile werden in /etc/ufw/applications.d
erstellt Verzeichnis während der Installation des Pakets.
# View which applications have installed a profile
sudo ufw app list
# Allow application
sudo ufw allow samba
# Allow only specific IP or IP-range to enter application
ufw allow from 192.168.0.0/24 to any app samba
ufw allow from 192.168.0.2 to any app samba
# Details about which ports, protocols, etc., are defined for an application
sudo ufw app info samba
Code language: PHP (php)
Protokolle für UFW aktivieren
Firewall-Protokolle sind unerlässlich, um Angriffe zu erkennen, Ihre Firewall-Regeln zu beheben und ungewöhnliche Aktivitäten in Ihrem Netzwerk zu bemerken. Sie müssen jedoch Protokollierungsregeln in Ihre Firewall aufnehmen, damit sie generiert werden, und Protokollierungsregeln müssen vor jeder anwendbaren Beendigungsregel stehen (eine Regel mit einem Ziel, das über das Schicksal des Pakets entscheidet, wie z. B. ACCEPT, DROP oder REJECT).
# Enable logs
sudo ufw logging on
# Disable logs
sudo ufw loggin off
Code language: PHP (php)
Verbindungen zu einer bestimmten Netzwerkschnittstelle
Wenn Sie eine Firewall-Regel erstellen möchten, die nur für eine bestimmte Netzwerkschnittstelle gilt, können Sie dies tun, indem Sie „Zulassen auf“ gefolgt vom Namen der Netzwerkschnittstelle angeben.
# Check what is your card name
ip addr
# Example
1: <strong>eth0</strong>: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
# Allow card to port name
sudo ufw allow in on eth0 to any port 80
Code language: PHP (php)
UFW zurücksetzen
Dadurch wird UFW deaktiviert und alle zuvor definierten Regeln gelöscht. Denken Sie daran, dass die Standardrichtlinien nicht auf ihre ursprünglichen Einstellungen geändert werden, wenn Sie sie zu irgendeinem Zeitpunkt geändert haben. Dies sollte Ihnen einen Neuanfang mit UFW ermöglichen.
# Reset UFW
sudo ufw reset
Code language: PHP (php)