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

So installieren und konfigurieren Sie die CSF-Firewall für Linux

Die Sicherung Ihres Linux-Servers mit einer Firewall ist entscheidend, um Ihren Server und Ihr Netzwerk sicher zu halten. Aber wie richtet man eine Firewall ein? Erwägen Sie die Installation der Config Server Firewall (CSF-Firewall), wenn Sie nach einer zuverlässigen und effizienten Möglichkeit suchen, Ihren Linux-Server zu schützen.

Die CSF-Firewall ist eine funktionsreiche Option für Linux-Server. Und in diesem Tutorial erfahren Sie, wie Sie die CSF-Firewall installieren und konfigurieren und sehen aus erster Hand, wie sie funktioniert.

Lesen Sie weiter und halten Sie bösartige Entitäten von Ihrem Server fern!

Voraussetzungen

Um den Beispielen in diesem Tutorial zu folgen, stellen Sie sicher, dass Folgendes vorhanden ist:

  • Eine Linux-Maschine – Diese Demo verwendet Ubuntu 20.04, aber alle Linux-Distributionen funktionieren.
  • sudo-Berechtigungen oder Zugriff auf das Root-Konto.

Installieren der CSF-Firewall

Bevor Sie die CSF-Firewall einrichten, müssen Sie diese zunächst auf dem Server installieren. Aber bevor Sie das tun, stellen Sie sicher, dass Sie alle anderen Firewalls auf Ihrem Server stoppen und deaktivieren.

Das Ausführen von zwei Firewalls stellt ein Sicherheitsrisiko dar. Wieso den? Wenn beide Firewalls etwas blockieren, wissen Sie nicht, welche dies tut. Außerdem sind Firewalls standardmäßig nicht kompatibel und können Ihren Server zum Absturz bringen, wenn Sie mehr als eine haben.

1. Führen Sie die folgenden Befehle aus, um die Standard-Firewalls zu deaktivieren, die Sie möglicherweise auf Ihrem Server haben.

# Stop the firewalld firewall 
sudo systemctl stop firewalld
# Disable the firewalld firewall 
sudo systemctl disable firewalld
# Disable the UFW firewall 
sudo ufw disable

2. Führen Sie als Nächstes apt update aus Befehl unten, um den Index der verfügbaren Pakete zu aktualisieren.

Wenn Sie diesen Befehl ausführen, kann sich Ihr lokaler Computer mit dem Internet verbinden und eine Aktualisierungsnachricht für jedes neue Repository oder Archiv herunterladen, das in /etc/apt/sources.list definiert ist Datei.

sudo apt update -y

Die folgende Ausgabe zeigt das Aktualisieren lokaler Paketdateien und bietet Echtzeit-Feedback zum Fortschritt.

Das CSF-Paket ist derzeit nicht in Ubuntu-Repositories verfügbar, daher müssen Sie das Paket manuell herunterladen (Schritt drei).

3. Führen Sie wget aus Befehl unten, um csf.tgz herunterzuladen Paket in Ihr aktuelles Verzeichnis.

Die csf.tgz Paket ist das CSF-Hauptpaket. Dieses Paket enthält alle Regeln und Modifikationen, die zur Sicherung Ihres Servers erforderlich sind.

sudo wget http://download.configserver.com/csf.tgz

4. Führen Sie nun tar aus Befehl unten, um Ihr heruntergeladenes CSF-Paket zu extrahieren. Wenn der Befehl abgeschlossen ist, haben Sie ein neues Verzeichnis namens csf die alle Konfigurationsdateien der CSF-Firewall enthält

  • Die folgenden Flags teilen dem tar mit Verhalten des Befehls beim Extrahieren:
  • Der x Flag sagt tar um die Dateien zu extrahieren.
  • Die z Flag sagt tar um GZIP zu verwenden, um die angegebene(n) Datei(en) zu dekomprimieren. GZIP ist ein Dateikomprimierungsprogramm, das die Lempel-Ziv-Codierung (LZ77) zum Komprimieren von Dateien verwendet.
  • Die f Flag sagt tar welche Datei(en) extrahiert werden sollen.
sudo tar -xzf csf.tgz

5. Führen Sie ls aus Befehl unten, um zu prüfen, ob die csf Verzeichnis existiert.

ls -la

Sie sehen alle Dateien und Verzeichnisse in Ihrem Home-Verzeichnis, einschließlich der csf Verzeichnis, wie unten gezeigt. Wenn Sie die Datei csf nicht sehen Verzeichnis, führen Sie sudo tar -xzf csf.tgz erneut aus Befehl.

6. Führen Sie als Nächstes die folgenden Befehle aus, um in csf zu wechseln Verzeichnis und führen Sie das Shell-Skript (install.sh ), um CSF auf Ihrem Server zu installieren. Folgen Sie den Anweisungen und geben Sie bei Bedarf während der Installation „Y“ ein.

cd csf
sudo sh install.sh

Das Shell-Skript erstellt ein CSF-Startskript für den CSF-Daemon und fügt Konfigurationsdateien zu entsprechenden Verzeichnissen wie /etc/csf/ hinzu , /etc/logrotate.d/ , usw. Auf diese Weise müssen Sie sich nicht darum kümmern, alle Konfigurationsdateien und Verzeichnisse selbst zu erstellen.

7. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie die CSF-Firewall korrekt installiert haben. Dieser Befehl prüft und druckt die installierte Version der CSF-Firewall auf Ihrem Server. sudo csf -v

sudo csf -v

Wenn die CSF-Firewall korrekt installiert ist, sehen Sie die Versionsnummer der CSF-Firewall, wie unten gezeigt. In dieser Demo ist die installierte Version v14.5 (generisch) , aber deine könnte anders sein.

Im Moment können Sie den TEST-Modus ist aktiviert ignorieren Warnmeldung. Wie Sie den Testmodus deaktivieren, erfahren Sie später.

8. Führen Sie abschließend perl aus Befehl unten, um alle CSF-Module zu überprüfen (/usr/local/csf/bin/csftest.pl ).

Die csftest.pl file ist eines der Perl-Skripte mit dem CSF-Paket. Mit diesem Perl-Skript können Sie Ihre CSF-Firewall-Module testen, um sicherzustellen, dass sie ordnungsgemäß funktionieren, bevor Sie sie aktivieren.

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

Wenn Ihre Firewall-Module ordnungsgemäß funktionieren, sehen Sie ein OK Status, wie im Screenshot unten gezeigt. Überprüfung aller CSF-Module

Konfigurieren der CSF-Firewall

Nachdem Sie CSF installiert haben, können Sie es so konfigurieren, dass es mit Ihrem System funktioniert, indem Sie die Datei /etc/csf/csf.conf ändern Konfigurationsdatei für die CSF-Firewall. Diese Datei enthält verschiedene Parameter/Anweisungen zur Auswahl für Sicherheit, Protokollierung und Schutz.

Je nach Systemanforderungen ändern Sie diese Parameter. Aber ändern Sie sie nicht, es sei denn, Sie wissen, was Sie tun. Das Ändern dieser Datei auf irgendeine Weise kann Ihre Firewall funktionsunfähig machen oder sogar die Sicherheit Ihres Servers zerstören, wenn es falsch gemacht wird.

Obwohl die Kommentare in der Konfigurationsdatei minimal sind, ist es hilfreich, die Dateistruktur und die Idee hinter diesen Anweisungen zu verstehen, wenn Sie neu in der CSF-Konfiguration sind. Und wenn Sie sicher genug sind, erstellen Sie komplexere Konfigurationen.

1. Öffnen Sie die /etc/csf/csf.conf Datei in Ihrem bevorzugten Editor und ändern Sie dann die TESTING Direktivenwert auf 0 statt 1 , Wie nachfolgend dargestellt. Das TESTEN Richtlinie wird zu Testzwecken verwendet.

Denken Sie daran, dass Sie sudo-Zugriff benötigen, um Konfigurationsdateien zu ändern.

Wenn Sie TESTING einstellen Direktivenwert auf 1 , erzwingt Ihr Server keine Firewall-Regeln. Wenn Sie jedoch einen aktiven Produktionsdienst ausführen, der Schutz benötigt, wie z. B. SSH, ändern Sie die TESTING Direktivenwert auf 0 . Dadurch können Sie den Schutz aktivieren, ohne den Dienst zu unterbrechen.

2. Definieren Sie als Nächstes zusätzliche TCP- und UDP-Ports zu Ihrer CSF-Firewall mit TCP_IN , TCP_OUT , UDP_IN und UDP_OUT Richtlinien.

Die Standardliste der Ports wird unten angezeigt und bei der Installation generiert. Die Liste enthält alle gängigen TCP und UDP Häfen.

Beachten Sie, dass Ihr System sicherer wird, je weniger Ports Sie öffnen. Sie können jedoch nicht alle Ports schließen, da Ihr Server/Dienst mit Benutzern über die Ports 80 und 443 für HTTP/HTTPS-Verkehr, 53 für DNS, 22 für die SSH-Anmeldung usw. interagiert.

Löschen Sie die Standardportliste nicht, es sei denn, Sie wissen, was Sie tun, oder haben einen bestimmten Grund, die Liste zu löschen.

3. Ändern Sie die ICMP_IN Direktive zu 1 um eingehende Pings an Ihren Server zuzulassen, damit Sie damit testen können, ob Ihr Server funktioniert und online ist.

Definieren Sie die gewählte Aktion, die CSF ausführt, sowie wie viele Versuche zulässig sind, bevor die Firewall eine Aktion ausführt, mit dem Folgenden und speichern Sie die Änderungen:

CSF kann die Protokolle in regelmäßigen Abständen auf fehlgeschlagene Anmeldeversuche überwachen und die meisten unerlaubten Zugriffsversuche erkennen. Diese Funktion ist praktisch, um Ihre Dienste vor Brute-Force-Angriffen zu schützen, indem die Quell-IP nach einer bestimmten Anzahl fehlgeschlagener Anmeldeversuche blockiert wird.

  • Ändern Sie das CONNLIMIT Wert der Richtlinie auf 22;3;80;50 . Die Anweisung CONNLIMIT ermöglicht es Ihnen, die Anzahl zulässiger gleichzeitiger Verbindungen zum Server an einem bestimmten Port anzugeben.

Die 22;3;80;500 Wert erlaubt 50 gleichzeitige Verbindungen auf Port 80 (http) und weitere drei gleichzeitige Verbindungen auf Port 22 (ssh).

  • Ändern Sie die PORTFLOOD Wert der Direktive auf 22;tcp;3;3600 . Die Anweisung PORTFLOOD begrenzt die Anzahl der Verbindungen pro IP-Adresse pro Zeitintervall.

Unten die 22;tcp;3;3600 value begrenzt die IP für eine Stunde (3600 Sekunden), wenn mehr als drei Verbindungen auf Port 22 über das TCP-Protokoll aufgebaut wurden. Nach dem letzten Anmeldeversuch gibt CSF die blockierte IP frei, sobald der Zeitrahmen von 3600 Sekunden verstrichen ist.

  • Stellen Sie als Nächstes das DENY_IP_LIMIT ein Wert der Richtlinie auf 10 . Diese Anweisung steuert, wie viele blockierte IP-Adressen CSF in seinem Speicher behält. Sobald das Limit erreicht ist (10), wird die IP rotiert. Dabei werden die ältesten Einträge entfernt, während die neusten zusammen mit der Zählung eingefügt werden.

Speichern Sie die Änderungen und beenden Sie den Editor, sobald Sie mit der Konfiguration zufrieden sind.

Wenn Sie zu viele Blöcke fehlerhafter IP-Adressen behalten, kann dies Ihren Server möglicherweise verlangsamen. Sie sollten also das DENY_IP_LIMIT beibehalten Nummer zu einer überschaubaren Nummer.

5. Führen Sie nun den folgenden Befehl aus, um Ihre CSF-Firewall-Konfiguration neu zu laden und die Änderungen zu übernehmen.

csf -r

6. Führen Sie abschließend den folgenden Befehl aus, um zu bestätigen, dass die CSF-Firewall ausgeführt wird.

sudo systemctl status csf

Wenn die Konfiguration korrekt funktioniert, sehen Sie ein aktiv Status. Dieser Status zeigt an, dass die Firewall Ihre neuen Regeln geladen und dann beendet hat . Dieses Verhalten ist typisch für Oneshot-Dienste.

Zu diesem Zeitpunkt haben Sie Ihre CSF-Firewall so konfiguriert, dass eine begrenzte Anzahl von IP-Adressen blockiert wird.

Blockieren und Zulassen von IP-Adressen mithilfe der CSF-Firewall

Nachdem Sie nun die CSF-Konfigurationsdatei konfiguriert haben, besteht der nächste Schritt zum Schutz Ihres Servers darin, eine IP-Adresse zu blockieren oder zuzulassen.

Sie ändern die drei folgenden Konfigurationsdateien:

  • /etc/csf/csf.allow
  • /etc/csf/csf.deny
  • /etc/csf/csf.ignore

Die gebräuchlichste Methode zum Sichern Ihres Servers ist das Blockieren von IP-Adressen. Beginnen Sie also damit, die Datei /etc/csf/csf.deny zu ändern Konfigurationsdatei.

1. Um eine IP-Adresse zu blockieren, öffnen Sie /etc/csf/csf.deny Datei in Ihrem bevorzugten Editor und geben Sie die zu blockierenden IP-Adressen (eine pro Zeile) ein, wie unten gezeigt. Speichern Sie nach dem Hinzufügen der IP-Adressen die Änderungen und schließen Sie den Editor.

An diesem Punkt blockiert CSF den gesamten Datenverkehr von der von Ihnen hinzugefügten IP-Adresse.

Fügen Sie nur IP-Adressen und keine Domänennamen hinzu, da alle Domänennameneinträge ignoriert werden.

2. Als nächstes öffnen Sie /etc/csf/csf.allow Datei, damit IP-Adressen von all Ihren Firewall-Regeln ausgeschlossen werden können. Fügen Sie die IP-Adressen (eine pro Zeile) wie unten gezeigt hinzu, um sie von Ihren Firewall-Regeln auszuschließen, speichern Sie dann die Änderungen und schließen Sie den Editor.

Der Screenshot unten ist eine lokale IP-Adresse, die diese Demo verwendet, um per SSH auf den Server zuzugreifen, um CSF zu aktualisieren.

3. Öffnen Sie abschließend die Datei /etc/csf/csf.ignore Datei und fügen Sie IP-Adressen (eine pro Zeile) hinzu, um sie in Ihren Firewall-Regeln zuzulassen. Im Gegensatz zu csf.allow Datei, IP-Adressen in csf.ignore umgeht die Firewall-Regeln, wird aber blockiert, wenn sie in csf.deny aufgeführt sind Datei.

Schlussfolgerung

In diesem Artikel haben Sie gelernt, wie Sie die CSF-Firewall auf einem Ubuntu-Computer installieren und konfigurieren. Darüber hinaus haben Sie das Sichern Ihres Servers angesprochen, indem Sie IP-Adressen in Ihrer Firewall blockieren, zulassen und ignorieren.

An diesem Punkt haben Sie bereits gute Kenntnisse darüber, wie Sie Ihren Server sichern können, indem Sie die IP-Adressen einschränken, die für die Verbindung zu Ihrem Server zugelassen sind. Warum konfigurieren Sie nicht Ihre CSF-Firewall, um Ihr CSF-WHM/cPanel-Panel mit diesem neu gewonnenen Wissen zu schützen?


Linux
  1. So installieren und konfigurieren Sie die CSF-Firewall unter Linux

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

  3. So installieren und konfigurieren Sie Monit unter Linux für die Prozessüberwachung

  4. UNIX / Linux:So installieren und konfigurieren Sie mod_perl für Apache 2

  5. So installieren und konfigurieren Sie Linux NTP-Server und -Client

So installieren und konfigurieren Sie Apache Webserver unter Oracle Linux 8

So installieren und konfigurieren Sie den Nginx-Webserver unter Oracle Linux 8

Wie installiere und konfiguriere ich Django auf Linux VPS und Dedicated Server?

So installieren und konfigurieren Sie einen Linux Ubuntu NFS-Server

So installieren und konfigurieren Sie den DNS-Server unter Linux

So installieren und konfigurieren Sie das Windows-Subsystem für Linux