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

Podman auf Debian 11 installieren und nutzen
DevOps

Podman auf Debian 11 installieren und nutzen

Apt-Pinning: Kurze Einführung für Debian
Systemadministration

Apt-Pinning: Kurze Einführung für Debian

FSR 4 in jedem Spiel mit OptiScaler
Grafikkarten

FSR 4 in jedem Spiel mit OptiScaler

DansGuardian + Squid (NTLM) auf Debian Etch installieren
Netzwerk

DansGuardian + Squid (NTLM) auf Debian Etch installieren

App-Installationsfehler auf SD-Karte (Error -18) beheben
Android

App-Installationsfehler auf SD-Karte (Error -18) beheben

Netzwerkordner mit KNetAttach in KDE
Linux Netzwerk

Netzwerkordner mit KNetAttach in KDE