Linux-Server haben aufgrund ihrer Flexibilität, Kosteneffizienz und leistungsstarken Performance enorme Popularität bei Unternehmen und Einzelpersonen gewonnen. Die Gewährleistung der Sicherheit dieser Server ist jedoch von größter Bedeutung.
In diesem Artikel werden wir untersuchen, wie Sie Linux-Server mit CSF (ConfigServer Security & Firewall) oder ähnlicher Software absichern können, und Ihnen Links und Beispiele zur Härtung Ihres Servers bereitstellen.
Was ist CSF?
CSF ist eine leistungsstarke, zustandsbehaftete Firewall, die speziell für Linux-Server entwickelt wurde. Sie bietet eine benutzerfreundliche Oberfläche und umfassende Sicherheitsfunktionen, was sie zu einer beliebten Wahl unter Systemadministratoren macht.
CSF ist nicht nur eine Firewall, sondern auch ein Intrusion-Detection-System, das bösartige Aktivitäten aktiv überwacht und blockiert.
Mehr über CSF und seine Funktionen erfahren Sie auf der offiziellen Website: ConfigServer Security & Firewall .
Warum CSF wählen?
Es gibt mehrere Gründe, CSF gegenüber anderen Firewall-Lösungen für Ihren Linux-Server zu bevorzugen:
- Einfache Installation und Einrichtung
- Regelmäßige Updates und aktiver Community-Support
- Kompatibilität mit den meisten Linux-Distributionen und Control Panels
- Umfassende Sicherheitsfunktionen, einschließlich Intrusion Detection und Login-Fehlererkennung
- Anpassbare Konfigurationsoptionen
CSF installieren und konfigurieren
Vor der Installation von CSF ist es wichtig, alle anderen Firewalls auf Ihrem Server zu deinstallieren oder zu deaktivieren. Befolgen Sie diese Schritte, um CSF zu installieren und zu konfigurieren:
- Melden Sie sich als Root-Benutzer über SSH auf Ihrem Server an.
- Laden Sie die neueste Version von CSF mit folgendem Befehl herunter:
1wget https://download.configserver.com/csf.tgz- Entpacken Sie das heruntergeladene Archiv:
1tar -xzf csf.tgz- Navigieren Sie zum entpackten Verzeichnis und führen Sie das Installationsskript aus:
1cd csf
2sh install.sh- Öffnen Sie die Konfigurationsdatei unter
/etc/csf/csf.confmit Ihrem bevorzugten Texteditor (z.B. nano oder vim). Passen Sie die Einstellungen an Ihre Sicherheitsanforderungen an. - Testen Sie nach der Konfiguration von CSF die Kompatibilität Ihres Servers:
1perl /usr/local/csf/bin/csftest.pl- Wenn der Test erfolgreich ist, aktivieren Sie CSF, indem Sie die TESTING-Einstellung in der Konfigurationsdatei auf 0 ändern.
- Starten Sie CSF neu, um die Änderungen zu übernehmen:
1csf -rFür detailliertere Anweisungen und Konfigurationsoptionen lesen Sie die offizielle CSF-Dokumentation .
Optimale CSF-Konfiguration für erhöhte Sicherheit
Hier sind einige empfohlene Einstellungen für eine optimale CSF-Konfiguration zur Verbesserung der Sicherheit Ihres Linux-Servers.
Beachten Sie, dass diese Einstellungen möglicherweise nicht für jede Serverumgebung geeignet sind. Es ist daher wichtig, sie entsprechend Ihren spezifischen Anforderungen anzupassen. Testen Sie Änderungen immer, bevor Sie sie auf einem Produktionsserver implementieren.
- Eingehende und ausgehende Verbindungen einschränken
Begrenzen Sie eingehende und ausgehende Verbindungen auf die notwendigen Ports, indem Sie diese in den Abschnitten TCP_IN, TCP_OUT, UDP_IN und UDP_OUT angeben. Zum Beispiel:
1TCP_IN = "22,80,443"
2TCP_OUT = "22,80,443,53"
3UDP_IN = "53"
4UDP_OUT = "53"- Login-Fehlererkennung aktivieren
Stellen Sie sicher, dass CSF Login-Fehler verfolgt, indem Sie die LF_*-Optionen in der Konfigurationsdatei aktivieren:
1LF_TRIGGER = "5"
2LF_SSHD = "5"
3LF_FTPD = "10"
4LF_SMTPAUTH = "5"
5LF_POP3D = "10"
6LF_IMAPD = "10"Dieses Beispiel setzt einen Trigger für eine temporäre Sperrung nach 5 fehlgeschlagenen Anmeldeversuchen innerhalb des angegebenen Zeitraums für SSH, FTP, SMTP, POP3 und IMAP.
- Prozessüberwachung aktivieren
Überwachen Sie Serverprozesse auf verdächtige Aktivitäten, indem Sie die Prozessüberwachung aktivieren:
1PT_LIMIT = "60"
2PT_USERMEM = "200"
3PT_USERTIME = "1800"
4PT_USERKILL = "1"Dieses Beispiel setzt ein 60-Sekunden-Intervall für die Prozessüberwachung, mit einem Speichernutzungslimit von 200 MB, einer maximalen Prozesszeit von 1800 Sekunden und der Möglichkeit, Prozesse zu beenden, die diese Grenzen überschreiten.
- Denken Sie daran, CSF nach Änderungen an der Konfigurationsdatei neu zu starten:
1csf -rProfile in CSF für erhöhte Sicherheit verwenden
Profile in CSF sind vordefinierte Konfigurationssets, die auf bestimmte Anwendungsfälle oder Sicherheitsstufen zugeschnitten sind. Sie ermöglichen es Ihnen, schnell zwischen verschiedenen Konfigurationen zu wechseln, ohne einzelne Einstellungen manuell anzupassen.
Dies kann besonders nützlich sein, wenn Sie strengere Sicherheitsmaßnahmen durchsetzen oder die Regeln vorübergehend lockern möchten. In diesem Abschnitt erklären wir, was Profile sind, wie man sie verwendet und einige Überlegungen bei der Implementierung.
Was sind CSF-Profile?
CSF-Profile sind im Wesentlichen Konfigurationsdateien, die bestimmte Einstellungen für verschiedene Szenarien speichern. Diese Profile können mit einem einzigen Befehl angewendet werden, wodurch der Wechsel zwischen verschiedenen Sicherheitskonfigurationen einfach wird.
CSF wird mit mehreren Standardprofilen geliefert, die jeweils für einen bestimmten Zweck konzipiert sind, wie z.B. einen Webserver oder einen Mailserver.
CSF-Profile verwenden
- Navigieren Sie zunächst zum CSF-Profilverzeichnis:
1cd /usr/local/csf/profiles- Verfügbare Profile auflisten:
1lsSie sollten eine Liste der Standardprofile sehen, wie webserver.conf, mailserver.conf und default.conf.
- Um ein Profil anzuwenden, verwenden Sie folgenden Befehl:
1csf --profile <profile_name>- Um beispielsweise das Profil
webserver.confanzuwenden:
1csf --profile webserver- Wenn Sie ein benutzerdefiniertes Profil erstellen möchten, kopieren Sie die bestehende Konfigurationsdatei in das Profilverzeichnis:
1cp /etc/csf/csf.conf /usr/local/csf/profiles/my_custom_profile.confBearbeiten Sie dann die Datei my_custom_profile.conf mit Ihrem bevorzugten Texteditor und passen Sie die Einstellungen an Ihre Bedürfnisse an. Sobald Sie die Änderungen vorgenommen haben, können Sie das benutzerdefinierte Profil mit dem oben genannten Befehl anwenden.
Überlegungen zur Verwendung von CSF-Profilen
- Sichern Sie Ihre aktuelle Konfiguration, bevor Sie ein neues Profil anwenden. Dies stellt sicher, dass Sie bei Bedarf einfach zu den vorherigen Einstellungen zurückkehren können.
- Testen Sie das neue Profil in einer Nicht-Produktionsumgebung, bevor Sie es auf einem Live-Server anwenden. Dies hilft, potenzielle Probleme oder Konflikte zu identifizieren.
- Stellen Sie bei der Erstellung benutzerdefinierter Profile sicher, dass Sie Best Practices für die Absicherung von Linux-Servern befolgen und Ihren spezifischen Anwendungsfall und Ihre Umgebung berücksichtigen.
- Überprüfen und aktualisieren Sie Ihre Profile regelmäßig, um mit den neuesten Sicherheitsempfehlungen und Best Practices auf dem Laufenden zu bleiben.
- Beachten Sie, dass das Anwenden eines neuen Profils die aktuellen Einstellungen überschreibt. Überprüfen Sie den Inhalt des Profils vor dem Anwenden sorgfältig, insbesondere wenn Sie ein benutzerdefiniertes Profil verwenden oder Änderungen an den Standardprofilen vorgenommen haben.
Durch das Verständnis und die Nutzung von CSF-Profilen können Sie verschiedene Sicherheitskonfigurationen für Ihren Linux-Server effizient verwalten und zwischen ihnen wechseln. Dies spart nicht nur Zeit, sondern stellt auch sicher, dass Ihr Server unter verschiedenen Umständen geschützt bleibt.
CSF-Benutzeroberfläche einrichten
CSF bietet eine webbasierte Benutzeroberfläche (UI) zur Verwaltung und Konfiguration der Firewall. Diese grafische Oberfläche ist besonders nützlich für diejenigen, die nicht gerne mit Kommandozeilen-Tools arbeiten oder eine visuelle Verwaltung bevorzugen.
In diesem Abschnitt führen wir Sie durch die Einrichtung der CSF-UI und besprechen einige Überlegungen zu deren Verwendung.
CSF-UI einrichten
Die CSF-UI ist standardmäßig für beliebte Control Panels wie cPanel, DirectAdmin und Webmin verfügbar. Wenn Sie eines dieser Control Panels verwenden, sollte die CSF-UI bereits in Ihr Panel integriert sein.
Für andere Control Panels oder einen Server ohne Control Panel können Sie die CSF-UI mit den folgenden Schritten einrichten:
- Stellen Sie sicher, dass die erforderlichen Abhängigkeiten auf Ihrem Server installiert sind:
- Perl
- Das LWP-Modul (libwww-perl)
- Das GD-Modul (libgd)
- Das GD::Graph-Modul
Sie können diese Abhängigkeiten mit Ihrem Paketmanager installieren. Beispielsweise unter Ubuntu:
1sudo apt-get install perl libwww-perl libgd-dev libgd-perl libgd-graph-perl- Öffnen Sie die CSF-Konfigurationsdatei unter
/etc/csf/csf.confmit Ihrem bevorzugten Texteditor (z.B. nano oder vim). - Suchen Sie die folgenden Einstellungen und ändern Sie sie wie folgt:
1UI = "1"
2UI_PORT = "<your_desired_port>"
3UI_USER = "<your_username>"
4UI_PASS = "<your_password>"Ersetzen Sie <your_desired_port> durch eine nicht verwendete Portnummer (z.B. 8080), <your_username> durch einen Benutzernamen Ihrer Wahl und <your_password> durch ein starkes, einzigartiges Passwort.
- Speichern und schließen Sie die Konfigurationsdatei.
- Starten Sie CSF neu, um die Änderungen zu übernehmen:
1csf -rGreifen Sie auf die CSF-UI zu, indem Sie in Ihrem Webbrowser http://ihre_server_ip:<ihr_gewünschter_port> aufrufen und sich mit dem Benutzernamen und Passwort anmelden, die Sie in der Konfigurationsdatei angegeben haben.
HTTPS für die CSF-UI einrichten
Es ist unerlässlich, die CSF-UI mit HTTPS zu sichern, um Ihre Anmeldedaten und Datenübertragung zu schützen. Die Verwendung von HTTPS wird dringend empfohlen, insbesondere beim Zugriff auf die UI über das Internet.
In diesem Abschnitt zeige ich Ihnen, wie Sie HTTPS für die CSF-UI mit Let’s Encrypt, ACME oder Certbot einrichten und wo Sie die generierten Zertifikate ablegen, damit CSF sie lesen kann.
HTTPS mit Certbot
- Stellen Sie sicher, dass Certbot auf Ihrem Server installiert ist. Sie können die Anweisungen für Ihre spezifische Distribution auf der Certbot-Website befolgen.
- Generieren Sie ein Zertifikat für Ihre Domain mit Certbot:
1sudo certbot certonly --standalone -d example.comErsetzen Sie example.com durch Ihre Domain. Stellen Sie sicher, dass die Domain auf die IP-Adresse Ihres Servers zeigt.
- Nach der Generierung des Zertifikats finden Sie die Zertifikatsdateien im Verzeichnis
/etc/letsencrypt/live/example.com/. Die benötigten Dateien sind fullchain.pem (das Zertifikat) und privkey.pem (der private Schlüssel). - Kopieren Sie die Zertifikatsdateien an einen Ort, an dem CSF sie lesen kann:
1sudo cp /etc/letsencrypt/live/example.com/fullchain.pem /etc/csf/ui/ssl/cert.pem
2sudo cp /etc/letsencrypt/live/example.com/privkey.pem /etc/csf/ui/ssl/key.pem- Öffnen Sie die CSF-Konfigurationsdatei unter
/etc/csf/csf.confmit Ihrem bevorzugten Texteditor (z.B. nano oder vim). - Ändern Sie die folgenden Einstellungen:
1UI_SSL = "1"
2UI_CERT = "/etc/csf/ui/ssl/cert.pem"
3UI_KEY = "/etc/csf/ui/ssl/key.pem"- Speichern und schließen Sie die Konfigurationsdatei.
- Starten Sie CSF neu, um die Änderungen zu übernehmen:
1csf -rJetzt können Sie sicher über HTTPS auf die CSF-UI zugreifen, indem Sie https://example.com:<ihr_gewünschter_port> in Ihrem Webbrowser aufrufen.
Denken Sie daran, das Let’s Encrypt-Zertifikat alle 90 Tage zu erneuern, da es eine kurze Gültigkeitsdauer hat. Sie können diesen Prozess mit einem Cron-Job automatisieren.
Beachten Sie, dass HTTPS notwendig und dringend empfohlen ist, um die CSF-UI abzusichern. Indem Sie diesen Schritten folgen, können Sie sicherstellen, dass Ihre Anmeldedaten und Datenübertragung vor potenziellen Bedrohungen geschützt bleiben.
Überlegungen zur Verwendung der CSF-UI
- Wählen Sie ein starkes, einzigartiges Passwort für die CSF-UI, um unbefugten Zugriff zu verhindern. Aktualisieren Sie das Passwort regelmäßig und vermeiden Sie die Verwendung desselben Passworts für andere Dienste.
- Beschränken Sie den Zugriff auf die CSF-UI, indem Sie nur bestimmten IP-Adressen die Verbindung zur UI erlauben. Sie können dies durch Änderung der
UI_ALLOW-Einstellung in der CSF-Konfigurationsdatei tun:
1UI_ALLOW = "192.168.1.1,192.168.1.2"Ersetzen Sie die Beispiel-IP-Adressen durch diejenigen, denen Sie Zugriff auf die CSF-UI gewähren möchten.
- Stellen Sie sicher, dass der gewählte Port für die CSF-UI nicht bereits von anderen Diensten verwendet wird. Zusätzlich wird empfohlen, einen nicht standardmäßigen Port zu wählen, um die Chancen automatisierter Angriffe zu reduzieren.
- Aktualisieren Sie die CSF-UI und ihre Abhängigkeiten regelmäßig, um sich gegen bekannte Schwachstellen und Sicherheitsprobleme zu schützen.
- Überwachen Sie Zugriffsprotokolle, um verdächtige Aktivitäten oder unbefugte Anmeldeversuche zu identifizieren. CSF-Protokolle finden Sie unter
/var/log/lfd.log.
Durch die Einrichtung und Verwendung der CSF-UI können Sie Ihre Firewall-Einstellungen effizient über eine benutzerfreundliche grafische Oberfläche verwalten und konfigurieren.
Stellen Sie sicher, dass Sie Best Practices befolgen und die oben genannten Punkte berücksichtigen, um eine sichere und zuverlässige Umgebung aufrechtzuerhalten.
CSF-Schutz gegen DDoS-Angriffe
CSF kann Ihren Server gegen DDoS-Angriffe (Distributed Denial of Service) schützen, indem verschiedene Konfigurationen und Sicherheitsmaßnahmen implementiert werden.
In diesem Abschnitt behandeln wir, wie CSF gegen DDoS-Angriffe verteidigen kann, und stellen einige Beispielkonfigurationen und Empfehlungen bereit.
SYN-Flood-Schutz
SYN-Flood-Angriffe sind eine Art von DDoS-Angriff, bei dem ein Angreifer eine große Anzahl von SYN-Paketen an einen Server sendet, wodurch dieser seine Ressourcen bei dem Versuch, Verbindungen aufzubauen, erschöpft.
Um den SYN-Flood-Schutz in CSF zu aktivieren, passen Sie die folgenden Einstellungen in der Datei /etc/csf/csf.conf an:
1SYNFLOOD = "1"
2SYNFLOOD_RATE = "100/s"
3SYNFLOOD_BURST = "150"Diese Einstellungen aktivieren den SYN-Flood-Schutz und konfigurieren die Rate- und Burst-Limits für eingehende Verbindungen.
Verbindungslimit-Schutz
Durch die Begrenzung der Anzahl gleichzeitiger Verbindungen zu Ihrem Server können Sie DDoS-Angriffe auf bestimmte Dienste abmildern.
Um den Verbindungslimit-Schutz zu aktivieren, konfigurieren Sie die CONNLIMIT-Einstellung:
1CONNLIMIT = "22;5,80;50,443;50"Dieses Beispiel begrenzt die Anzahl der Verbindungen auf 5 für SSH (22), 50 für HTTP (80) und 50 für HTTPS (443).
Port-Flood-Schutz
Der Port-Flood-Schutz hilft bei der Verteidigung gegen DDoS-Angriffe, die bestimmte Ports auf Ihrem Server angreifen.
Um den Port-Flood-Schutz zu aktivieren, konfigurieren Sie die PORTFLOOD-Einstellung:
1PORTFLOOD = "22;tcp;5;300,80;tcp;30;5,443;tcp;30;5"Dieses Beispiel begrenzt die Rate neuer Verbindungen für SSH (22) auf 5 pro 300 Sekunden und für HTTP (80) und HTTPS (443) auf 30 pro 5 Sekunden.
Blocklisten
CSF kann mit verschiedenen IP-Blocklisten integriert werden, um bekannte bösartige IP-Adressen am Zugriff auf Ihren Server zu hindern.
Um die Blocklisten-Integration zu aktivieren, konfigurieren Sie die BLOCKLIST_*-Einstellungen in der CSF-Konfigurationsdatei:
1BLOCKLIST_DE = "1"
2BLOCKLIST_6DE = "1"
3BLOCKLIST_DE_URL = "https://lists.blocklist.de/lists/all.txt"
4BLOCKLIST_6DE_URL = "https://lists.blocklist.de/lists/ipv6/all.txt"Dieses Beispiel aktiviert die Integration mit den blocklist.de-Blocklisten sowohl für IPv4- als auch IPv6-Adressen.
Ländersperren
CSF ermöglicht es Ihnen, den Zugriff aus bestimmten Ländern mit den Einstellungen CC_DENY und CC_ALLOW_FILTER zu blockieren. Obwohl diese Methode nicht für alle Situationen geeignet ist, kann sie nützlich sein, wenn Sie den Zugriff aus Ländern einschränken möchten, die für DDoS-Angriffe bekannt sind.
1CC_DENY = "CN,IR,RU"
2CC_ALLOW_FILTER = "US,CA,GB"Dieses Beispiel blockiert den Zugriff aus China (CN), Iran (IR) und Russland (RU) und erlaubt nur eingehende Verbindungen aus den Vereinigten Staaten (US), Kanada (CA) und dem Vereinigten Königreich (GB).
Denken Sie daran, CSF nach Änderungen an der Konfigurationsdatei neu zu starten:
1csf -rDurch die Implementierung dieser Konfigurationen und Empfehlungen können Sie den Schutz Ihres Servers gegen DDoS-Angriffe erheblich verbessern.
Beachten Sie, dass keine Sicherheitsmaßnahme absolut sicher ist. Es ist daher entscheidend, Ihren Server regelmäßig auf potenzielle Bedrohungen zu überwachen und Ihre CSF-Einstellungen entsprechend anzupassen.
Alternative Sicherheitslösungen
Obwohl CSF eine ausgezeichnete Wahl für die Linux-Server-Sicherheit ist, sollten Sie alternative Lösungen mit ähnlichen Funktionen in Betracht ziehen:
- UFW (Uncomplicated Firewall) : Eine benutzerfreundliche Firewall für Ubuntu-basierte Systeme.
- Firewalld : Ein Firewall-Verwaltungstool für Linux-Distributionen, die systemd verwenden.
- IPTables : Ein leistungsstarkes Kommandozeilen-Tool zur Paketfilterung und Netzwerkadressübersetzung unter Linux.
Fazit
Die Absicherung Ihres Linux-Servers ist unerlässlich, um Ihre Daten zu schützen und die Integrität Ihres Servers zu wahren. CSF bietet eine leistungsstarke und benutzerfreundliche Lösung, um dieses Ziel zu erreichen.
Indem Sie die in diesem Artikel beschriebenen Schritte befolgen, können Sie CSF einfach auf Ihrem Linux-Server installieren und konfigurieren. Vergessen Sie nicht, alternative Sicherheitslösungen wie UFW, Firewalld und IPTables zu erkunden, wenn Sie nach zusätzlichen Optionen suchen.
Ich hoffe, Sie fanden diesen Artikel hilfreich und informativ bei der Absicherung Ihres Linux-Servers mit CSF. Wenn Ihnen dieser Artikel gefallen hat und Sie ihn wertvoll fanden, teilen Sie ihn gerne mit anderen, die davon profitieren könnten. Ich ermutige Sie auch, einen Kommentar mit Ihren Gedanken oder Fragen zu hinterlassen, und ich helfe Ihnen gerne weiter. 😊
Bleiben Sie wachsam und halten Sie Ihre Server 2023 und darüber hinaus sicher!
Kommentare