GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So konfigurieren Sie eine Firewall mit CSF unter Debian 9

In diesem Artikel zeigen wir Ihnen, wie Sie die CSF-Firewall auf einem Debian 9-VPS installieren und konfigurieren, und geben Ihnen einige Tipps zur Verwendung von CSF.

ConfigServer Security &Firewall (CSF) ist ein kostenloses und fortschrittliches Firewall-Verwaltungstool, das auf iptables basiert. CSF bietet ein hohes Maß an Sicherheit auf Ihrem Server und ist sehr unkompliziert, sodass es auf allen unterstützten Linux-Distributionen einfach eingerichtet und installiert werden kann. Wir werden Debian 9 verwenden, das zu den unterstützten Linux-Distributionen gehört. CSF hat viele großartige Funktionen wie Port-Scanning, SYN-Floods und Brute-Force-Angriffe für viele Dienste, die Ihnen helfen können, Ihren Server zu schützen. Eine der sehr netten Funktionen von CSF ist, dass es eine integrierte Web-Benutzeroberfläche zum Verwalten der Firewall über einen Webbrowser bietet. Diese UI-Integration wird von cPanel, DirectAdmin unterstützt und arbeitet unabhängig auf Ihrem Server.

Die CSF-Installation enthält auch einen weiteren Dienst namens Login Failure Daemon (LFD). LFD ist eigentlich ein Prozess, der die Protokolldateien überwacht und E-Mail-Benachrichtigungen basierend auf den CSF-Konfigurationsregeln sendet. Beginnen wir mit der Installation.

Schritt 1:Verbinden Sie sich mit Ihrem Server

Bevor wir beginnen, müssen Sie sich als Root-Benutzer über SSH mit Ihrem Server verbinden. Alternativ können Sie ein Benutzerkonto mit sudo-Berechtigungen verwenden, wenn Sie keinen Zugriff auf den Root-Benutzer haben. Verwenden Sie dazu den folgenden Befehl:

ssh root@IP_Address -p Port_Number

natürlich müssen Sie IP_Address ersetzen und Port_Number mit Ihrer tatsächlichen Server-IP-Adresse und SSH-Portnummer.

Stellen Sie nach der Anmeldung sicher, dass Ihr Server auf dem neuesten Stand ist, indem Sie die folgenden Befehle ausführen:

apt updateapt upgrade

Schritt 2:CSF/LFD installieren

Nachdem Sie Ihren Server erfolgreich aktualisiert haben, können Sie die folgenden Befehle ausführen, um das aktuelle Verzeichnis in /opt zu ändern, den neuesten CSF-Quellcode herunterzuladen und ihn in dasselbe Verzeichnis zu entpacken.

cd /opt/wget http://download.configserver.com/csf.tgztar xzf csf.tgz

Bevor Sie mit der Installation fortfahren, vergewissern Sie sich, dass Sie keine andere Firewall wie UFW verwenden. Die folgenden beiden Befehle ändern das Verzeichnis in /opt/csf/ und führen das Installationsskript aus.

cd /opt/csfsh install.sh

Die Installation der Firewall ist abgeschlossen, aber am besten überprüfen Sie, ob die iptables-Module verfügbar sind, die für das ordnungsgemäße Funktionieren auf CSF erforderlich sind. Das geht mit dem Befehl:

perl /usr/local/csf/bin/csftest.pl

Ausgabe:

Teste ip_tables/iptable_filter...OKTeste ipt_LOG...OKTeste ipt_multiport/xt_multiport...OKTeste ipt_REJECT...OKTeste ipt_state/xt_state...OKTeste ipt_limit/xt_limit...OKTeste ipt_recent...OKTeste xt_connlimit.. .OKTeste ipt_owner/xt_owner...OKTeste iptable_nat/ipt_REDIRECT...OKTeste iptable_nat/ipt_DNAT...OKERGEBNIS:csf sollte auf diesem Server funktionieren

Wenn bei Ihren Tests keine schwerwiegenden Fehler gemeldet wurden, funktioniert die CSF-Firewall ordnungsgemäß.

Schritt 3:Basiskonfiguration

Wenn Sie die CSF-Firewall konfigurieren möchten, müssen Sie die Konfigurationsdatei „csf.conf“ bearbeiten. In diesem Tutorial verwenden wir nano als unseren Editor, aber Sie können Ihren bevorzugten Editor frei verwenden, um die Konfigurationsdatei zu bearbeiten.

nano /etc/csf/csf.conf

Das erste, was wir in den Konfigurationsdateien überprüfen müssen, sind die offenen Ports auf Ihrem Server. Normalerweise sind die am häufigsten verwendeten Ports standardmäßig bereits geöffnet, aber manchmal müssen wir einen bestimmten Port auf dem Server öffnen. Die folgende Liste enthält die von CSF standardmäßig geöffneten Ports:

# Eingehende TCP-Ports zulassenTCP_IN ="20,21,22,25,53,80,110,143,443,465,587,993,995"# Ausgehende TCP-Ports zulassenTCP_OUT ="20,21,22,25,53,80,110,113,443,587,993,995"# Eingehende UDP-Ports zulassenUDP_IN ="20 21,53"# Ausgehende UDP-Ports zulassen# Um ausgehende Traceroute zuzulassen, fügen Sie 33434:33523 zu dieser Liste hinzuUDP_OUT ="20,21,53,113,123"

Wenn einige der standardmäßig aufgelisteten Dienste auf Ihrem Server nicht verwendet werden, empfiehlt es sich, sie zu schließen. Je weniger Zugriff auf Ports auf Ihrem Server besteht, desto besser wird die Sicherheit Ihres Servers.

CSF bietet viele verschiedene Optionen in den Konfigurationsdateien. Wir werden jedoch nur einige der am häufigsten verwendeten Einstellungen behandeln.

ICMP_IN – Diese Option dient dazu, die Verfügbarkeit Ihres Servers von PING aus zu steuern. Standardmäßig ist diese Einstellung auf 1 gesetzt, sodass alle eingehenden PING-Anforderungen zugelassen werden. Wenn Sie diese Option deaktivieren, können Sie kein externes Überwachungssystem verwenden.

IGNORE_ALLOW – Wenn Sie diese Option aktivieren, ignoriert LFD alle IP-Adressen, die in csf.allow aufgeführt sind Datei. Diese Option kann nützlich sein, wenn Sie zu Hause oder in Ihrem Büro eine statische IP-Adresse verwenden und sicher sein können, dass diese IP-Adresse niemals von der Firewall des Servers blockiert wird.

SYNFLOOD , SUNFLOOD_RATE und SYNFLOOD_BURST – Diese Option sollte nur verwendet werden, wenn Ihr Server einem SYN-Flood-Angriff ausgesetzt ist. Bitte beachten Sie, dass es nicht empfohlen wird, diese Option zu aktivieren, da dies Ihren Server erheblich verlangsamen wird und einige Besucher möglicherweise ein Verbindungsproblem haben.

LF_ALERT_TO und LF_ALERT_FROM – Hier definieren Sie die E-Mail-Adressen, die Sie für Benachrichtigungen verwenden möchten.

TESTEN – Standardmäßig ist TESTING auf 1 gesetzt. Das bedeutet, dass CSF einen CRON-Job aktiviert, der Ihre iptables-Konfiguration im Falle von Konfigurationsproblemen löscht, wenn Sie CSF starten. Dies ist eine Vorsichtsmaßnahme, die Ihnen helfen soll, eine Sperrung Ihres Servers zu vermeiden. Wenn Sie sicher sind, dass alle Einstellungen in Ordnung sind, können Sie den Wert auf Null setzen, wodurch der LFD-Dienst aktiviert wird.

Sobald Sie alle gewünschten Einstellungen definiert haben, können Sie die Konfigurationsdatei speichern und die CSF- und LFD-Dienste neu starten und aktivieren, wodurch sie beim Booten automatisch gestartet werden.

csfsystemctl neu starten csfsystemctl aktivieren csfsystemctl lfd neu startensystemctl lfd aktivieren

Schritt 4:CSF/LFD-Benachrichtigungen

Eine der vielen Optionen des CSF LFD sind die verschiedenen Benachrichtigungen, die Ihnen helfen können, die Ereignisse auf Ihrem Server zu überwachen. In diesem Abschnitt des Artikels zeigen wir Ihnen, wie Sie einige dieser Benachrichtigungen aktivieren oder deaktivieren.

Wir beginnen mit den Systemintegritätswarnungen, die nach Änderungen in bestimmten Systemdateien suchen. Diese Benachrichtigungen helfen, gefährdete Dateien zu erkennen, aber Sie erhalten auch E-Mails, wenn Änderungen mit legitimen Systemaktualisierungen vorgenommen werden.

Sie können diese Art von Benachrichtigungen hinterlassen, wenn Sie Änderungen an Ihrem System nachverfolgen möchten. Wenn Sie sich entschieden haben, diese Benachrichtigungen nicht zu erhalten, können Sie sie deaktivieren, indem Sie nach LF_INTEGRITY suchen Parameter in der csf.conf-Datei und setzen Sie seinen Wert auf 0, oder Sie können einfach den folgenden Befehl ausführen:

sed -i 's/LF_INTEGRITY ="3600"/LF_INTEGRITY ="0"/g' /etc/csf/csf.conf

Die zweite Art von Benachrichtigung, über die wir sprechen möchten, ist die Warnung bei übermäßiger Ressourcennutzung. Diese Arten von Benachrichtigungen sind wahrscheinlich die häufigsten. LFD verfügt über eine Funktion, die auf Ihrem Server laufende Prozesse überwachen und Ihnen E-Mails senden kann, wenn sie zu viele Ressourcen verwenden. Der Zweck dieser Benachrichtigungen besteht darin, die intensivsten Prozesse zu verfolgen, die zu Ladeproblemen auf dem Server führen können. Wenn Sie sich entschieden haben, diese Benachrichtigungen nicht zu erhalten, können Sie sie deaktivieren, indem Sie nach PT_USERMEM suchen und PT_USERTIME Parameter in der csf.conf-Datei und setzen Sie seinen Wert auf 0 oder Sie können einfach die folgenden Befehle ausführen:

sed -i 's/PT_USERTIME ="1800"/PT_USERTIME ="0"/g' /etc/csf/csf.confsed -i 's/PT_USERMEM ="512"/PT_USERMEM ="0"/g' /etc/csf/csf.conf

Die Option Process Tracking untersucht verdächtige ausführbare Dateien oder geöffnete Netzwerkports auf Ihrem Server. Diese Benachrichtigungen helfen, potenziell ausbeuterische Prozesse zu erkennen, selbst wenn diese Prozesse als Systemdienste erscheinen. Wenn Sie sich entschieden haben, diese Benachrichtigungen nicht zu erhalten, können Sie sie deaktivieren, indem Sie das PT_LIMIT finden Parameter in der csf.conf-Datei und setzen Sie seinen Wert auf 0, oder Sie können einfach den folgenden SSH-Befehl ausführen:

sed -i 's/PT_LIMIT ="60"/PT_LIMIT ="0"/g' /etc/csf/csf.conf

Die letzte Art von Benachrichtigungen, die wir in diesem Artikel behandeln werden, sind die Warnungen über die IP-Sperre.

CSF/LFD hat die Befugnis, IP-Adressen aus bestimmten Gründen zu blockieren. Jedes Mal, wenn das System eine IP-Adresse blockiert, werden Sie per E-Mail benachrichtigt, die die blockierte IP-Adresse und den Grund für die Blockierung enthält. Wenn Sie diese Arten von Benachrichtigungen verwalten möchten, können Sie Ihre csf.conf-Datei öffnen und die folgenden Optionen finden:

LF_EMAIL_ALERT – Senden Sie eine E-Mail-Benachrichtigung, wenn eine IP-Adresse durch einen der [*]-Trigger

blockiert wird

LF_PERMBLOCK_ALERT – Wenn eine IP-Adresse mehr als ein paar Mal blockiert wurde (zum Konfigurieren verwenden Sie LF_PERMBLOCK_COUNT ) sendet diese Option eine E-Mail-Benachrichtigung, wenn die IP-Adresse dauerhaft blockiert wird.

LF_NETBLOCK_ALERT – Wenn eine IP-Netzwerkklasse blockiert wurde, erhalten Sie eine E-Mail-Benachrichtigung.

LF_DISTFTP_ALERT – Wenn LF_DISTFTP ausgelöst wird, erhalten Sie eine E-Mail-Benachrichtigung mit IP-Adressen, die mit einem Grund für die Beteiligung an einem verteilten FTP-Angriff blockiert wurden.

LF_DISTSMTP_ALERT – Wenn LF_DISTSMTP ausgelöst wird, erhalten Sie eine E-Mail-Benachrichtigung mit IP-Adressen, die mit einem Grund für die Beteiligung an einem verteilten SMTP-Angriff blockiert wurden.

LT_EMAIL_ALERT – Wenn ein Konto die Anzahl der täglichen Anmeldungen pro IP-Adresse überschreitet, erhalten Sie eine E-Mail-Benachrichtigung.

CT_EMAIL_ALERT – Wenn eine IP-Adresse aufgrund von Konnektivitätsverfolgung blockiert wird, erhalten Sie eine E-Mail-Benachrichtigung. Diese Arten von E-Mail-Benachrichtigungen werden vom CT_LIMIT ausgelöst Besonderheit. Das CT_LIMIT Option soll Ihren Server vor DOS-Angriffen schützen.

Wenn Sie diese Benachrichtigungen nicht erhalten möchten, können Sie sie deaktivieren, indem Sie sie in der Datei csf.conf suchen und ihre Werte auf 0 setzen, oder Sie können einfach die folgenden Befehle ausführen:

sed -i 's/LF_EMAIL_ALERT ="1"/LF_EMAIL_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LF_PERMBLOCK_ALERT ="1"/LF_PERMBLOCK_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LF_NETBLOCK_ALERT ="1"/LF_NETBLOCK_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LF_DISTFTP_ALERT ="1"/LF_DISTFTP_ALERT ="0 "/g' /etc/csf/csf.confsed -i 's/LF_DISTSMTP_ALERT ="1"/LF_DISTSMTP_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LT_EMAIL_ALERT ="1"/ LT_EMAIL_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/CT_EMAIL_ALERT ="1"/CT_EMAIL_ALERT ="0"/g' /etc/csf/csf.conf

Sobald die Änderungen vorgenommen wurden, müssen Sie CSF und LFD mit den folgenden systemctl-Befehlen neu starten:

systemctl Neustart csf systemctl Neustart lfd

Schritt 5:CSF über die Befehlszeile verwalten

Sie können CSF über die Befehlszeile oder über die integrierte Web-Benutzeroberfläche verwalten. In diesem Teil des Tutorials werden wir eine kurze Liste nützlicher Befehle erstellen, die Ihnen helfen können, CSF von Ihrer Befehlszeile aus zu verwalten.

CSF starten, stoppen und neu starten/neu laden:

csf -s :csf starten
csf -f :csf stoppen
csf -r :csf neu laden/neu starten

Lassen Sie eine IP zu und fügen Sie sie zu csf.allow hinzu (Whitelist an IP):

csf -a 123.45.67.89

Ausgabe:

Hinzufügen von 123.45.67.89 zu csf.allow und iptables ACCEPT...ACCEPT all opt -- in !lo out * 123.45.67.89 -> 0.0.0.0/0 ACCEPT all opt -- in * out !lo 0.0.0.0 /0 -> 123.45.67.89

Entfernen und löschen Sie eine IP aus csf.allow:

csf -ar 123.45.67.89

Ausgabe:

Entferne Regel... AKZEPTiere alle opt -- in !lo out * 123.45.67.89 -> 0.0.0.0/0 AKZEPTiere alle opt -- in * out !lo 0.0.0.0/0 -> 123.45.67.89 

Verweigern Sie eine IP und fügen Sie sie zu csf.deny hinzu (schwarze Liste einer IP):

csf -d 123.45.67.89

Ausgabe:

Hinzufügen von 123.45.67.89 zu csf.deny und iptables DROP...DROP all opt -- in !lo out * 123.45.67.89 -> 0.0.0.0/0 LOGDROPOUT all opt -- in * out !lo 0.0.0.0 /0 -> 123.45.67.89

Entfernen und löschen Sie eine IP aus csf.deny (IP-Adresse entsperren):

csf -dr 123.45.67.89

Ausgabe:

Regel entfernen...DROP all opt -- in !lo out * 123.45.67.89 -> 0.0.0.0/0 LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 123.45.67.89 

Alle IP-Adressen aus csf.deny entfernen und entsperren:

csf -df

Ausgabe:

DROP all opt -- in !lo out * 123.45.67.88 -> 0.0.0.0/0 LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 123.45.67.88 DROP all opt -- in ! lo out * 123.45.67.89 -> 0.0.0.0/0 LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 123.45.67.89 csf:alle Einträge aus csf.deny entfernt

Suchen Sie nach einer Musterübereinstimmung in iptables, z. B.:IP, CIDR, Portnummer:

csf -g 123.45.67.89

Ausgabe:

Table Chain num pkts bytes target prot opt ​​in out source destinationfilter DENYIN 1 0 0 DROP all -- !lo * 123.45.67.89 0.0.0.0/0filter DENYOUT 1 0 0 LOGDROPOUT all -- * !lo 0.0.0.0/0 123.45.67.89

Zeigt die aktuelle Liste der temporären Zulassungs- und Verweigerungs-IP-Einträge mit ihrer TTL und ihrem Kommentar an:

csf -t

Suchen Sie nach Updates für csf und führen Sie ein Upgrade durch, falls verfügbar:

csf -u

Deaktivieren Sie CSF und LFD vollständig:

csf -x

CSF und LFD aktivieren, falls zuvor deaktiviert:

csf -e

CSF-Version anzeigen:

csf -v

Ausgabe:

csf:v13.04 (allgemein)

Für weitere Optionen können Sie den folgenden Befehl überprüfen:

csf -h

Schritt 6:CSF-Firewall-Webbenutzeroberfläche aktivieren

In diesem Schritt zeigen wir Ihnen, wie Sie die CSF-Webbenutzeroberfläche aktivieren. Dieser Schritt ist optional und sollte nur verwendet werden, wenn Sie kein Control Panel verwenden, das die CSF-Benutzeroberfläche unterstützt (z. B. WHM/cPanel, DirectAdmin, Webmin usw.)

Die CSF-Benutzeroberfläche erfordert die Installation mehrerer Perl-Module auf Ihrem Server. Sie können diese Anforderungen erfüllen, indem Sie die Perl-Module mit dem folgenden Befehl installieren:

apt install libio-socket-ssl-perl libcrypt-ssleay-perl libnet-libidn-perl libio-socket-inet6-perl libsocket6-perl

Als Nächstes aktivieren Sie die CSF-Webbenutzeroberfläche. Sie können die CSF-Webschnittstelle aktivieren, indem Sie die Datei csf.conf bearbeiten:

nano /etc/csf/csf.conf

und aktualisieren Sie die folgenden Werte:

# 1 zum Aktivieren, 0 zum Deaktivieren der Webbenutzeroberfläche UI ="1"# Setze den Port für die Webbenutzeroberfläche. Der Standardport ist 6666, aber ich ändere ihn für einen einfachen Zugriff auf 7171. Der Standardport verursacht einige Probleme # mit den Chrome- und Firefox-Browsern (in meinem Fall) UI_PORT ="7171" # Leer lassen, um an alle IP-Adressen auf dem Server zu binden UI_IP ="" # Benutzernamen für die Authentifizierung festlegen UI_USER ="admin" # Setzen Sie ein starkes Passwort für die Authentifizierung UI_PASS ="Str0n9_PasSw0rD"

Sie können die Werte unseres Beispiels gerne mit entsprechenden Werten ändern. Nachdem Sie die Änderungen vorgenommen und gespeichert haben, können Sie Ihre öffentliche IP-Adresse auf die Whitelist setzen, indem Sie die Konfigurationsdatei ui.allow bearbeiten.

Ersetzen Sie „Your_Public_IP_Address ‘ mit Ihrer tatsächlichen IP-Adresse und führen Sie den Befehl aus:

sudo echo "Ihre_öffentliche_IP-Adresse">> /etc/csf/ui/ui.allow

Um die vorgenommenen Änderungen zu übernehmen, müssen Sie den LFD-Dienst neu starten. Starten Sie den LFD-Daemon auf Ihrem Server mit dem folgenden Befehl neu:

sudo service lfd restart

Sie sollten jetzt mit Ihrer Server-IP-Adresse und dem spezifischen Port, den Sie in der csf.conf-Datei verwendet haben, auf die CSF-Benutzeroberfläche in Ihrem Browser zugreifen können. In unserem Beispiel haben wir den Port 7171 verwendet.

https://Your_Public_IP_Address:7171

Nach erfolgreicher Anmeldung sollten Sie die CSF-Benutzeroberfläche sehen können.

Quick Allow, Quick Deny oder Quick Unblock können sehr nützliche Optionen der CSF-Benutzeroberfläche sein.

In diesem Artikel haben wir Ihnen gezeigt, wie Sie eine Firewall mit CSF unter Debian 9 installieren und konfigurieren, sowie kurz die Verwendung von CSF erläutert. Jetzt können Sie das Wissen aus diesem Leitfaden nutzen und damit beginnen, Ihre eigenen CSF-Firewallregeln zu erstellen, die Ihnen helfen, Ihren Server zu schützen.

Wenn Sie einer unserer Debian-Hosting-Kunden sind, müssen Sie Ihre Firewall natürlich nicht mit CSF auf Ihrem Server konfigurieren – fragen Sie einfach unsere Admins, lehnen Sie sich zurück und entspannen Sie sich. Unsere Admins werden umgehend die Firewall-Regeln auf Ihrem Server für Sie konfigurieren.

PS. Wenn Ihnen dieser Beitrag über die Konfiguration einer Firewall mit CSF unter Debian 9 gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen unten oder hinterlassen Sie einfach einen Kommentar im Kommentarbereich. Danke.


Debian
  1. So richten Sie eine Firewall mit UFW unter Debian 10 ein

  2. So richten Sie eine Firewall mit UFW unter Debian 9 ein

  3. So installieren Sie die Config Server Firewall (CSF) unter Debian 11

  4. So konfigurieren Sie eine Firewall mit UFW unter Debian 9

  5. So installieren und konfigurieren Sie die CSF-Firewall unter Debian 11

So installieren Sie die Config Server Firewall (CSF) unter Debian 11

So konfigurieren Sie LAMP mit Debian 11

So konfigurieren Sie Bind mit Debian 11

So konfigurieren Sie Samba Server mit Debian 11

So installieren Sie Nginx mit PHP-FPM unter Debian 11

So konfigurieren Sie Firewall CSF unter Debian 10