Technologieführer

CSF (ConfigServer Firewall) auf CentOS 7: Installation & Anleitung

6 min read Security Aktualisiert 07 Oct 2025
CSF auf CentOS 7 installieren & konfigurieren
CSF auf CentOS 7 installieren & konfigurieren

CSF ist eine anwendungsbezogene Firewall für Linux-Server, die iptables nutzt und zusätzlich Login-/Intrusion-Detection (LFD) für Dienste wie SSH, SMTP, IMAP, FTP und mehr bietet. Dieses Tutorial führt Schritt für Schritt durch Voraussetzungen, Installation, Basiskonfiguration, häufige Kommandos und erweiterte Einstellungen — inklusive Checklisten, Absicherungs-Tipps und Wiederherstellungsabläufen.

Zielgruppe und Varianten der Suchintention

Hauptintention: CSF unter CentOS 7 installieren und konfigurieren Verwandte Suchvarianten: CSF installieren CentOS, ConfigServer Firewall Anleitung, CSF LFD konfigurieren, CSF vs fail2ban, CSF WHM cPanel Integration

Voraussetzungen

  • Ein Server mit CentOS 7 (im Beispiel wird 192.168.1.101 verwendet).
  • root-Privilegien oder sudo-Zugriff.
  • Internetzugang zum Herunterladen von Paketen.

Was wir in diesem Leitfaden machen werden:

  • Abhängigkeiten installieren
  • CSF herunterladen und installieren
  • CSF konfigurieren (Basis + erweiterte Optionen)
  • Wichtige CSF-Kommandos und Beispiele
  • Zusätzliche Best Practices, Rollback- und Incident-Playbooks

Schritt 1 — Abhängigkeiten installieren

CSF basiert auf Perl. Installiere die notwendigen Tools mit yum:

yum install wget vim perl-libwww-perl.noarch perl-Time-HiRes

Kurzdefinition: Perl — Programmiersprache, die CSF-Skripte ausführt.

Wichtig: Nutze einen Paketmanager wie yum oder dnf entsprechend deiner Distribution. Auf CentOS 7 ist yum Standard.

Schritt 2 — CSF herunterladen und installieren

Wechsle nach /usr/src/ und lade die CSF-Distribution:

cd /usr/src/
wget https://download.configserver.com/csf.tgz

Entpacke und installiere:

tar -xzf csf.tgz
cd csf
sh install.sh

Am Ende der Installation solltest du eine Bestätigung sehen, dass die Installation abgeschlossen ist.

CSF installation is complete.

Bildbeschreibung: Fertigstellung der CSF-Installation im Terminal mit Hinweisen auf weiterführende Dateien.

Überprüfe anschließend mit dem Testskript, ob die Umgebung geeignet ist:

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

Erwartetes Ergebnis:

RESULT: csf should function on this server

CSF is running.

Bildbeschreibung: Ausgabe von csftest.pl: CSF kann auf diesem System ausgeführt werden.

Schritt 3 — CSF auf CentOS 7 konfigurieren

Hinweis: CentOS 7 nutzt standardmäßig firewalld. Stoppe firewalld und entferne es aus dem Autostart, bevor du CSF startest:

systemctl stop firewalld
systemctl disable firewalld

Bearbeite die Hauptkonfiguration unter /etc/csf/csf.conf:

cd /etc/csf/
vim csf.conf

Ändere die Test-Flagge, damit CSF aktiv wird (Zeile mit TESTING):

TESTING = "0"

Wenn dein SSH-Server nicht auf Port 22 läuft, füge den korrekten Port in TCP_IN ein (Standardzeile etwa 139 in manchen Versionen):

TCP_IN = "22,xxx"

Starte CSF und LFD und aktiviere sie für den Autostart:

systemctl start csf
systemctl start lfd
systemctl enable csf
systemctl enable lfd

Liste die aktuellen Regeln:

csf -l

Wichtig: Prüfe vor Deaktivierung/Deinstallation von firewalld, dass keine Abhängigkeiten (z. B. andere Dienste) die Standard-Firewalld-Nutzung erfordern.

Schritt 4 — Wichtige CSF-Kommandos (Übersicht)

  1. Firewall starten (Regeln anwenden):
csf -s
  1. Firewall-Regeln leeren/stoppen:
csf -f
  1. Firewall neu laden:
csf -r
  1. IP zulassen und in csf.allow eintragen:
csf -a 192.168.1.109

Beispiel-Ausgabe:

Adding 192.168.1.109 to csf.allow and iptables ACCEPT...
ACCEPT  all opt -- in !lo out *  192.168.1.109  -> 0.0.0.0/0
ACCEPT  all opt -- in * out !lo  0.0.0.0/0  -> 192.168.1.109
  1. IP aus csf.allow entfernen:
csf -ar 192.168.1.109
  1. IP sperren und in csf.deny eintragen:
csf -d 192.168.1.109
  1. IP aus csf.deny entfernen:
csf -dr 192.168.1.109
  1. Alle Einträge aus csf.deny löschen (entsperren):
csf -df
  1. Suche nach IP/Port/CIDR in den iptables-Regeln:
csf -g 192.168.1.110

Tipp: Nutze diese Kommandos zuerst in einer Testumgebung oder einer Remote-Session mit Konsole, damit du nicht aus Versehen die SSH-Verbindung blockierst.

Schritt 5 — Erweiterte Konfiguration

Öffne erneut /etc/csf/csf.conf:

cd /etc/csf/
vim csf.conf
  1. IGNORE_ALLOW: Sicherstellen, dass erlaubte IPs nicht von LFD blockiert werden. Setze in Zeile ~272:
IGNORE_ALLOW = "1"

Praxis: Nützlich für statische Büro- oder Heim-IP-Adressen.

  1. ICMP (Ping) erlauben:
ICMP_IN = "1"
ICMP_OUT = "1"
  1. Länder-Blocking über Ländercodes (CC_DENY / CC_ALLOW):
CC_DENY = "CN,UK,US"
CC_ALLOW = "ID,MY,DE"

Hinweis: Länder-Blocking nutzt GeoIP/CIDR-Listen und ist eine grobe Maßnahme — nicht für hochsichere Umgebungen als einzige Schutzschicht geeignet.

  1. E-Mail-Benachrichtigungen für SSH- und su-Events aktivieren:
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"
LF_ALERT_TO = "[email protected]"

Diese Optionen konfigurieren LFD, damit Anmeldungen und „su“-Ereignisse per Mail berichtet werden.

Weitere Optionen findest du direkt in /etc/csf/csf.conf. Lies Kommentare im File, viele Parameter sind dokumentiert.

Sicherheitshärtung und Best Practices

  • Backup der Konfiguration: Vor Änderungen immer /etc/csf/csf.conf sichern.
cp /etc/csf/csf.conf /etc/csf/csf.conf.bak.$(date +%F_%T)
  • SSH-Sperre vermeiden: Füge deine eigene IP zu csf.allow hinzu, bevor du Regeln testest.
  • Testmodus nutzen: Während Tests kann TESTING = “1” hilfreich sein, aber setze es vor Produktivbetrieb auf “0”.
  • Monitoring: Aktiviere E-Mail-Benachrichtigungen und prüfe LFD-Logs in /var/log/lfd.log.

Incident-Playbook: Wenn du dich per SSH aussperrst

  1. Bewahre lokalen Konsolen-/KVM-Zugriff (oder Provider-Konsole).
  2. Melde dich am Server an und setze TESTING temporär wieder auf “1” oder starte csf mit:
csf -f   # löscht Regeln, stellt temporären Zugriff wieder her
  1. Überprüfe csf.allow und entferne problematische Regeln.
  2. Setze die gesicherte csf.conf wieder ein, reload:
cp /etc/csf/csf.conf.bak. /etc/csf/csf.conf
csf -r

Rollback SOP (Kurz)

  • Schritt 1: Konfigurations-Backup restaurieren.
  • Schritt 2: csf neu laden (csf -r).
  • Schritt 3: Services prüfen (systemctl status csf lfd).
  • Schritt 4: Logs untersuchen (/var/log/lfd.log, /var/log/messages).

Entscheidungshilfe: CSF vs Alternativen

Merke: CSF ist eine iptables-basierte Lösung mit integriertem LFD und enger Integration zu cPanel/WHM. Alternativen:

  • firewalld (CentOS-Standard, abstrahiert iptables/nftables)
  • nftables (Modernere Paketfilter-Engine)
  • fail2ban (Fokus auf Login-Bruteforce-Schutz, kann mit iptables arbeiten)

Kurzheuristik: Wenn du cPanel/WHM nutzt oder eine integrierte LFD-Funktion möchtest, ist CSF sinnvoll. Für reine nftables-Umgebungen oder Kubernetes-Cluster sind andere Lösungen besser geeignet.

Rollenbasierte Checklisten

Systemadministrator (Vor der Installation):

  • Root-Zugang prüfen
  • Paketquellen aktualisieren
  • Backup-Plan bestätigen
  • Admin-IP zu csf.allow bereitstellen

DevOps / Plattform-Engineer (Deployment):

  • Automatisierte Installation testen (Script/Ansible)
  • Monitoring & Alerting konfigurieren
  • Integration in CMDB und Change-Log dokumentieren

Hosting-Provider (Multi-Tenant):

  • Default-Regeln für SSH/HTTP/HTTPS setzen
  • Whitelisting-Prozess für Kunden implementieren
  • Abuse-Handling-Prozess definieren

Helpdesk / Support:

  • Anleitung zur Entsperrung (csf -ar / csf -dr) erstellen
  • Kontaktadresse für LFD-Mails pflegen
  • Standardantworten für Kunden bereitstellen

Wann CSF nicht die beste Wahl ist (Counterexamples)

  • Wenn du bereits nftables im Einsatz hast und volle Kontrolle über nftables-Regeln brauchst.
  • In containerisierten Umgebungen (z. B. Kubernetes) wo Netzwerk-Policies anders verwaltet werden.
  • Wenn du nur einzelnen simplen Login-Schutz brauchst; fail2ban kann leichter sein.

Merkmale & kurze Fact-Box

  • Hauptpfade: /etc/csf/csf.conf (Konfiguration), /usr/local/csf/bin (Skripte)
  • Wichtiges Tool: csf, lfd (Login Failure Daemon)
  • Integration: WHM/cPanel, DirectAdmin, Webmin
  • Benachrichtigungen: Mailalerts für SSH/su-Fälle

Entscheidungsfluss (Mermaid)

flowchart TD
  A{Hast du cPanel/WHM?} -->|Ja| B[CSF: empfohlen]
  A -->|Nein| C{Nutzt du nftables?}
  C -->|Ja| D[Behalte nftables]
  C -->|Nein| E{Brauchst du Login-Alerts?}
  E -->|Ja| B
  E -->|Nein| F[fail2ban oder firewalld prüfen]

Mini-Methodologie für sichere CSF-Einführung

  1. Testumgebung mit identischer OS-Version aufbauen.
  2. Installation und automatisierte Tests durchführen.
  3. Konfiguration mit Whitelist für Admin-IPs anpassen.
  4. Monitoring & Alerting aktivieren, Probeläufe durchführen.
  5. Rollout schrittweise in Produktion, Change-Dokumentation.

Kompatibilität & Migrationstipps

  • Wenn firewalld aktiviert ist, deaktiviere es vor CSF-Start.
  • Bei Migrationspfaden von fail2ban: Exportiere Whitelists und Blocklisten, gleiche Regeln manuell in CSF nachziehen.
  • Prüfe Cron-Jobs und Überwachungsskripte nach Migration.

Datenschutz & Logging

CSF/LFD protokolliert IP- und Login-Informationen. Prüfe in Regionen mit strengen Datenschutzanforderungen (z. B. DSGVO), ob Log-Aufbewahrung, Zugriffsbeschränkungen und Löschfristen umgesetzt sind.

Wichtig: Minimale Logging-Konfiguration und Zugriffsprotokolle implementieren, falls personenbezogene Daten betroffen sind.

Häufige Fragen (FAQ)

Funktioniert CSF mit systemd und firewalld?

CSF nutzt systemd-Services (csf, lfd). firewalld sollte gestoppt und deaktiviert werden, bevor CSF aktiviert wird, um Regelkonflikte zu vermeiden.

Kann CSF SSH-Verbindungen blockieren?

Ja — wenn Regeln falsch gesetzt sind. Deshalb: eigene Admin-IP vorab in csf.allow eintragen und TESTING zunächst verwenden.

Unterstützt CSF IPv6?

CSF bietet Konfigurationen für IPv6, prüfe die csf.conf und teste IPv6-Regeln separat.

Schlussbemerkung

CSF bietet eine praktikable, gut integrierbare Firewall-Lösung für klassische Hosting-Umgebungen auf iptables-Basis. Mit sorgfältiger Vorbereitung, Whitelisting und Aktivierung von Monitoring ist CSF eine solide Wahl für Administratoren, die neben Paketfilterung auch Login-/Intrusion-Detection benötigen.

Wichtig

  • Immer Backups erstellen, bevor du Firewall-Regeln änderst.
  • Teste Änderungen in einer sicheren Umgebung, bevor du sie in Produktion setzt.
Autor
Redaktion

Ähnliche Materialien

AirDrop: Dateien drahtlos zwischen iPhone und Mac
Anleitung

AirDrop: Dateien drahtlos zwischen iPhone und Mac

TF1 in den USA schauen – 4 sichere Methoden
Streaming

TF1 in den USA schauen – 4 sichere Methoden

Origin Fehler 65546:0 schnell beheben
Fehlerbehebung

Origin Fehler 65546:0 schnell beheben

Feedburner: 0‑Abonnenten‑Fehler beheben
WordPress

Feedburner: 0‑Abonnenten‑Fehler beheben

Dateien zwischen iPad und Android übertragen
How-to

Dateien zwischen iPad und Android übertragen

Kreise & Wendeltreppen in Conan Exiles bauen
Spielanleitung

Kreise & Wendeltreppen in Conan Exiles bauen