Wie installiere ich die CSF Firewall unter Debian 11
ConfigServer Firewall (CSF) ist eine Firewall für Linux-Server und BSD-Systeme zur Kontrolle des ein- und ausgehenden Datenverkehrs. Bevor wir uns näher mit der CSF befassen, wollen wir erst einmal verstehen, was eine Firewall ist und wie sie funktioniert.
Eine Firewall fungiert als Schutzschild, der das System vor Angriffen von außen schützt. Einige davon sind Stateful Firewalls, Circuit Level Gateways, UDP/ICMP-Filter oder Filter auf der Anwendungsebene.
Die Firewall verfügt über eine Reihe von Regeln, um den ein- und ausgehenden Datenverkehr zu filtern. Und je nachdem, welche Art von Firewall du verwendest, entscheidet sie, ob eine IP auf das Netzwerk zugreifen darf oder nicht. Die Liste der Regeln wird für ein bestimmtes System definiert, und die Firewall filtert den Datenverkehr gemäß den Regeln.
ConfigServer Firewall (CSF) ist eine der am weitesten verbreiteten Open-Source-Firewalls für Linux-Server. CSF verfügt über eine Reihe von Funktionen, die zur Konfiguration der Regeln verwendet werden können. Daher ist sie sehr leistungsfähig und gleichzeitig einfach zu bedienen.
Voraussetzungen
Um CSF auf Debian 11 zu installieren und zu konfigurieren, musst du Folgendes haben
- Einen Server, auf dem Debian 11 läuft und dein System sollte mit dem Internet verbunden sein.
- Root-Zugriff auf den Server.
Dein System aktualisieren
Bevor du ConfigServer Firewall installierst, solltest du dein System aktualisieren. Führe den unten stehenden Befehl aus, um dein System zu aktualisieren.
sudo apt update
Sobald die Aktualisierung abgeschlossen ist, führe die folgenden Befehle aus, um die erforderlichen Abhängigkeiten zu installieren.
sudo apt install libio-socket-inet6-perl libsocket6-perl -y
sudo apt install sendmail dnsutils unzip libio-socket-ssl-perl -y
sudo apt install libcrypt-ssleay-perl git perl iptables libnet-libidn-perl -y
Falls du eine frühere Version von CSF in deinem System installiert hast, führe den folgenden Befehl aus, um sie zuerst zu deinstallieren. Da Debian 11 eine neue Version von Perl verwendet, kann die CSF-Installation zu Konflikten mit der bestehenden CSF-Installation führen.
cd /etc/csf && sh uninstall.sh
Wenn du ein anderes Firewall-Konfigurationsskript wie UFW verwendest, solltest du es deaktivieren, bevor du fortfährst.
sudo ufw disable
Installation der CSF-Firewall unter Debian 11
Nachdem du nun alle notwendigen Voraussetzungen installiert hast, können wir die CSF-Firewall herunterladen und installieren.
Das Repository von Debian 11 enthält keine CSF-Pakete. Daher musst du die neueste Version der ConfigServer Firewall von der offiziellen Website herunterladen.
Dazu gibst du den folgenden Befehl ein.
wget http://download.configserver.com/csf.tgz
Führe den folgenden Befehl aus, um die heruntergeladene Datei zu entpacken.
sudo tar -xvzf csf.tgz
Sobald du die Datei entpackt hast, installierst du CSF mit dem folgenden Befehl.
cd csf && sh install.sh
Sobald die Installation abgeschlossen ist, sollte die Firewall nun installiert sein. Um die CSF-Firewall zu starten, führe den folgenden Befehl aus.
sudo systemctl start csf
Führe den folgenden Befehl aus, um sicherzustellen, dass alles in Ordnung ist.
perl /usr/local/csf/bin/csftest.pl
Du erhältst eine Ausgabe wie unten abgebildet, diebestätigt, dass CSF läuft.
Um die CSF-Firewall beim Booten zu starten, führe den folgenden Befehl aus.
sudo systemctl enable csf
Du kannst den Status von CSF mit dem folgenden Befehl überprüfen.
sudo systemctl status csf
Diese Ausgabe bestätigt, dass die CSF aktiv ist. Nun wollen wir die Firewall konfigurieren.
Beispielhafte Ausgabe:
Konfigurieren der CSF-Firewall unter Debian 11
Sobald du die CSF-Firewall installiert hast, sind die Standardregeln aktiv, die mit einer Konfigurationsdatei /etc/csf/csf.conf
Du solltest diese Konfigurationsdatei überprüfen, um sicherzustellen, dass sie nach deinen Bedürfnissen konfiguriert ist. In dieser Datei kannst du alle Standardregeln sehen, die aus Sicht deines Systems aktiv sind. Schauen wir uns einige von ihnen genauer an.
sudo nano /etc/csf/csf.conf
Je weniger offene Ports es gibt, desto sicherer ist das System. Du solltest aber immer einige gängige Ports offen haben. Du kannst alle Ports, die standardmäßig geöffnet sind, in der Datei csf.conf sehen (siehe unten).
Wie du in der Konfigurationsdatei sehen kannst, musst du, wenn du einen Port zulassen oder blockieren willst, die entsprechende Portnummer in der Liste hinzufügen oder entfernen.
Wenn du z.B. Port 80 blockieren willst, musst du ihn aus der Liste entfernen (siehe unten).
Wenn du IPv6 verwendest, solltest du dies ebenfalls in der Konfigurationsdatei aktualisieren, da die meisten Angriffe heutzutage über das IPv6-Protokoll durchgeführt werden. Du solltest TCP6_IN und TCP6_OUT ähnlich konfigurieren, wie wir es oben für die IPv4-Ports getan haben.
Beispielhafte Ausgabe:
Konfigurieren wir nun die CONNLIMIT-Einstellungen. CONNLIMIT ist eine Sicherheitsfunktion im CSF, mit der du die Anzahl der gleichzeitigen Verbindungen auf einem bestimmten Port begrenzen kannst. Dies hilft dabei, das Risiko von DoS/DDoS-Angriffen zu verringern.
Wenn du z.B. eine IP mit nicht mehr als 3 gleichzeitigenVerbindungen begrenzen möchtest, solltest du sie wie unten gezeigt aktualisieren. Diese Einstellung würde nur 3 gleichzeitige Verbindungen auf Port 22 und 3 gleichzeitige Verbindungen auf Port 443 zulassen.
Als Nächstes müssen wir die PORTFLOOD-Einstellungen konfigurieren. Mit dieser Option können wir die maximale Anzahl von Verbindungsanfragen konfigurieren, die innerhalb eines bestimmten Zeitraums auf einem Port erlaubt sind.
Wenn du z.B. eine IP blockieren möchtest, wenn innerhalb von 60 Sekunden mehr als 3 Verbindungen über das TCP-Protokoll auf Port 443 aufgebaut werden, solltest du sie wie unten gezeigt aktualisieren. Die Sperrung wird automatisch aufgehoben, sobald der 60-Sekunden-Zeitrahmen seit der letzten Verbindung abgelaufen ist.
Die grundlegendste Funktion jeder Firewall ist das Sperren und Zulassen von IP-Adressen. Du kannst die IP-Adressen, die du blockieren willst, manuell in die Datei csf.deny eintragen oder du kannst einen ganzen Bereich von IPs in die Datei csf.deny eintragen.
Du kannst zum Beispiel alle IP-Adressen des Bereichs 192.168.1.0/24 blockieren.
Oder
Du kannst eine einzelne IP 192.168.2.0 blockieren, indem du sie in der csf.deny-Datei hinzufügst (siehe unten).
Öffne die Datei csf.deny mit dem folgenden Befehl.
sudo nano /etc/csf/csf.deny
Füge die folgenden Zeilen am Ende der Datei hinzu. Eine Zeile nach der anderen.
192.168.2.0 192.168.1.0/24
Beispielhafte Ausgabe:
Wenn du fertig bist, speichere und schließe die Datei, indem du STRG+X, Y und Enter drückst.
Im Gegensatz zur Datei csf.deny wird die Datei csf.allow verwendet, um eine IP oder eine Reihe von IPs von allen Filtern auszuschließen. Auch wenn du bereits eine IP in der Datei csf.deny hinzugefügt hast, kann die blockierte IP-Adresse weiterhin auf deinen Server zugreifen, indem du sie in der Datei csf.allow hinzufügst.
sudo nano /etc/csf/csf.allow
CSF bietet eine Vielzahl von Optionen, um deine eigene Firewall einzurichten, was den Rahmen dieses Tutorials sprengen würde. Du kannst dich in der ConfigServer-Dokumentation über die Einstellungen und ihre Funktionsweise informieren.
Wenn du alle erforderlichen Einstellungen vorgenommen hast, speichere und schließe die Datei csf.conf, indem du STRG+X, Y und Enter drückst.
CSF bietet auch die Möglichkeit, eine IP-Adresse in einem Filter zu ignorieren. Anders als beim Zulassen einer IP-Adresse in derDatei csf.allow kannst du eine IP-Adresse nicht ignorieren, wenn sie in der Datei csf.deny aufgeführt wurde.
sudo nano /etc/csf/csf.ignore
Nachdem du nun alle Einstellungen in der Datei csf.conf vorgenommen hast, ist es an der Zeit, den Regelsatz zu aktualisieren, um die Änderungen zu übernehmen.
Dazu führst du den folgenden Befehl aus.
sudo csf -r
Sobald die Ausführung des oben genannten Befehls abgeschlossen ist, siehst du eine Meldung, wie sie im folgenden Screenshot zu sehen ist. Wenn keine Fehlermeldungen angezeigt werden, herzlichen Glückwunsch! Die Firewall-Konfiguration deines Servers ist jetzt aktualisiert und einsatzbereit.
Fazit
In diesem Lernprogramm hast du gelernt, wie du ConfigServer Security & Firewall (CSF) auf einem Debian 11 Server installierst. Außerdem hast du gelernt, wie du Firewall-Regeln erstellst und IPs mit Hilfe von CSF-Konfigurationsdateien zu den Listen der erlaubten und blockierten IPs hinzufügst.
Wenn du auf ein Problem stößt, kannst du jederzeit in der ConfigServer Firewall-Dokumentation nachlesen, um weitere Informationen zu erhalten.