CSF, auch bekannt als „Config Server Firewall“, ist eine der beliebtesten und nützlichsten Firewall-Anwendungen für Linux. Es basiert auf Iptables und hilft, Ihren Server vor SYN-Flood, Port-Scan und Brute-Force-Angriffen zu schützen. CSF überwacht Protokolldateien, und wenn falsche Versuche von einer bestimmten IP erkannt werden, werden sie vorübergehend blockiert. CSF bietet auch eine Web-Benutzeroberfläche, die verwendet werden kann, um Remote-IPs von einem Webbrowser aus zu blockieren und zu entsperren. Es kann auch mit cPanel, DirectAdmin und Webmin integriert werden.
In diesem Tutorial erklären wir, wie man CSF unter Ubuntu 20.04 installiert.
Voraussetzungen
• Ein frisches Ubuntu 20.04 VPS auf der Atlantic.Net Cloud Platform
• Ein auf Ihrem Server konfiguriertes Root-Passwort
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 20.04 als Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Ubuntu 20.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Schritt 2 – Erforderliche Abhängigkeiten installieren
Zuerst müssen Sie einige Abhängigkeiten installieren, die für CSF erforderlich sind. Sie können alle Abhängigkeiten mit dem folgenden Befehl installieren:
apt-get install sendmail dnsutils unzip git perl iptables libio-socket-ssl-perl libcrypt-ssleay-perl libnet-libidn-perl libio-socket-inet6-perl libsocket6-perl -y
Sobald alle Abhängigkeiten installiert sind, können Sie mit der Installation von CSF fortfahren.
Schritt 3 – CSF installieren
wget http://download.configserver.com/csf.tgz
Extrahieren Sie die heruntergeladene Datei nach dem Herunterladen mit dem folgenden Befehl:
tar -xvzf csf.tgz
Wechseln Sie als Nächstes in das extrahierte Verzeichnis und installieren Sie CSF, indem Sie das Skript install.sh ausführen:
cd csf bash install.sh
Nach erfolgreicher Installation sollten Sie folgende Ausgabe erhalten:
Installation Completed
Überprüfen Sie als Nächstes mit dem folgenden Befehl, ob alle erforderlichen Iptables-Module installiert sind:
perl /usr/local/csf/bin/csftest.pl
Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:
Testing ip_tables/iptable_filter...OK Testing ipt_LOG...OK Testing ipt_multiport/xt_multiport...OK Testing ipt_REJECT...OK Testing ipt_state/xt_state...OK Testing ipt_limit/xt_limit...OK Testing ipt_recent...OK Testing xt_connlimit...OK Testing ipt_owner/xt_owner...OK Testing iptable_nat/ipt_REDIRECT...OK Testing iptable_nat/ipt_DNAT...OK RESULT: csf should function on this server
Schritt 4 – CSF konfigurieren
Als nächstes müssen Sie CSF gemäß Ihrem Sicherheitsstandard konfigurieren. Sie können es konfigurieren, indem Sie die Datei /etc/csf/csf.conf:
bearbeitennano /etc/csf/csf.conf
Ändern Sie die folgende Zeile gemäß Ihren Anforderungen:
TESTING = "0" RESTRICT_SYSLOG = "3" TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995" # Allow outgoing TCP ports TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995" # Allow incoming UDP ports UDP_IN = "20,21,53,80,443" # Allow outgoing UDP ports # To allow outgoing traceroute add 33434:33523 to this list UDP_OUT = "20,21,53,113,123" # Allow incoming PING. Disabling PING will likely break external uptime # monitoring ICMP_IN = "1"
Speichern und schließen Sie die Datei, und starten Sie dann die CSF mit dem folgenden Befehl neu:
csf -r
Führen Sie als Nächstes den folgenden Befehl aus, um alle Iptables-Regeln aufzulisten:
csf -l
Sie sollten die folgende Ausgabe erhalten:
iptables mangle table ===================== Chain PREROUTING (policy ACCEPT 51 packets, 3332 bytes) num pkts bytes target prot opt in out source destination Chain INPUT (policy ACCEPT 46 packets, 3014 bytes) num pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 26 packets, 15816 bytes) num pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 26 packets, 15816 bytes) num pkts bytes target prot opt in out source destination iptables raw table ================== Chain PREROUTING (policy ACCEPT 51 packets, 3332 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 27 packets, 15972 bytes) num pkts bytes target prot opt in out source destination iptables nat table ================== Chain PREROUTING (policy ACCEPT 19 packets, 1410 bytes) num pkts bytes target prot opt in out source destination Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 1 packets, 76 bytes) num pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 1 packets, 76 bytes) num pkts bytes target prot opt in out source destination
Schritt 5 – Aktivieren Sie die CSF-Webbenutzeroberfläche
CSF bietet eine webbasierte Schnittstelle zur Verwaltung der Firewall über einen Webbrowser. Standardmäßig ist es in der CSF-Standardkonfigurationsdatei deaktiviert, also müssen Sie es zuerst aktivieren.
Bearbeiten Sie die CSF-Hauptkonfigurationsdatei mit dem folgenden Befehl:
nano /etc/csf/csf.conf
Ändern Sie die folgenden Zeilen:
#Enable Web UI UI = "1" #Listening Port UI_PORT = "8080" #Admin username UI_USER = "admin" #Admin user password UI_PASS = "your-password" #Listening Interface UI_IP = ""
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Dann müssen Sie die Datei /etc/csf/ui/ui.allow bearbeiten und Ihre Server-IP und die Remote-Rechner-IP hinzufügen, von wo aus Sie auf die CSF-Web-Benutzeroberfläche zugreifen möchten.
nano /etc/csf/ui/ui.allow
Fügen Sie Ihre Server-IP und die IP des Remote-Rechners hinzu:
your-server-ip remote-machine-ip
Speichern und schließen Sie die Datei und starten Sie dann den CSF- und LFD-Dienst neu, um die Änderungen zu übernehmen:
csf -r service lfd restart
An diesem Punkt wird CSF gestartet und lauscht auf Port 8080. Sie können dies mit dem folgenden Befehl überprüfen:
ss -antpl | grep 8080
You should get the following output: LISTEN 0 5 0.0.0.0:8080 0.0.0.0:* users:(("lfd UI",pid=34346,fd=4))
Schritt 6 – Zugriff auf die CSF-Weboberfläche
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://your-server-ip:8080 ein. Sie werden zur CSF-Anmeldeseite weitergeleitet:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Eingabetaste. Sie sollten das CSF-Dashboard auf dem folgenden Bildschirm sehen:
Von hier aus können Sie Ihre Firewall verwalten und jede IP-Adresse einfach sperren und entsperren.
Schritt 7 – CSF mit der Befehlszeile verwalten
Sie können die CSF-Firewall auch über die Befehlszeilenschnittstelle verwalten – beispielsweise eine IP-Adresse zulassen, ablehnen oder entfernen.
Um alle Firewall-Regeln aufzulisten, führen Sie den folgenden Befehl aus:
csf -l
Führen Sie den folgenden Befehl aus, um CSF zu stoppen:
csf -s
Führen Sie den folgenden Befehl aus, um eine bestimmte IP-Adresse zuzulassen:
csf -a ip-address
Führen Sie den folgenden Befehl aus, um eine IP-Adresse abzulehnen:
csf -d ip-address
Führen Sie den folgenden Befehl aus, um blockierte IP-Adressen aus einer CSF-Regel zu entfernen:
csf -dr ip-address
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die IP-Adresse blockiert ist oder nicht:
csf -g ip-address
Führen Sie den folgenden Befehl aus, um die CSF-Firewallregeln zu leeren:
csf -f
Führen Sie den folgenden Befehl aus, um CSF zu deaktivieren:
csf -x
Schlussfolgerung
Herzliche Glückwünsche! Sie haben die CSF-Firewall erfolgreich auf Ubuntu 20.04 installiert. Sie haben auch eine Web-Benutzeroberfläche aktiviert, um CSF über einen Webbrowser zu verwalten. Testen Sie CSF noch heute auf VPS-Hosting von Atlantic.Net.