// Tutorial · Debian · Betrieb

Debian 13 (Trixie): Monitoring, Intrusion Detection & Backup (Teil 4)

📅 06.09.2026 ⏱14 Min. Lesezeit ✍️ Redaktion

Damit ist die Debian-Serie komplett: Nach Installation, Härtung und Firewall sorgt Teil 4 dafür, dass der Server sicher im Betrieb bleibt – mit Monitoring, CrowdSec als Intrusion-Detection, gezielter Kernel-Härtung und einer Backup-Strategie mit Restore-Test.

Warum Betrieb & Monitoring?

Ein Server ist nie „fertig“: Er läuft monatelang, sammelt Logs, füllt Platten und wird von Bots angeklingelt. Teil 4 beantwortet die drei Fragen des Betriebs: Läuft alles? (Monitoring), Wird etwas angegriffen? (Intrusion Detection) und Kann ich alles wiederherstellen? (Backup).

Serien-Überblick: Teil 1 = Basis · Teil 2 = Härtung & Wartung · Teil 3 = Firewall & Zugriffsschutz · Teil 4 = Betrieb: Monitoring, Intrusion Detection & Backup.

Konzept: Überwachen – Erkennen – Sichern

  • Überwachen: Dienste, Platte, RAM und Netz im Blick – am besten mit Alarm statt nur Dashboard.
  • Erkennen: CrowdSec wertet Logs aus und blockt Angreifer – geteiltes Wissen statt Einzelkämpfer-Logik.
  • Sichern: Backups, die automatisiert, verschlüsselt und getestet sind – die 3-2-1-Regel als Maßstab.

Monitoring & Ressourcen

Für die Dienste selbst nutzt du am besten Uptime Kuma (Artikel im Blog, Docker-basiert). Für die System-Basis direkt auf dem Host reichen zuerst diese Checks:

sudo apt install htop
htop                  # Last & RAM live
free -h               # Arbeitsspeicher
df -h                 # Plattenplatz
journalctl -p err -b  # Fehler seit Boot

Wichtige Kennzahlen im Blick behalten: freier Platz (Backups brauchen Platz!), freier RAM, Last-Durchschnitt und die Größe von /var/log. Wer später Metriken sammeln will, hängt node_exporter + Prometheus an – das ist Stoff für einen eigenen Artikel.

Merke: Ein Monitor ohne Alarm ist nur ein hübsches Dashboard. Uptime Kuma benachrichtigt per Telegram, E-Mail oder Matrix – dann erfährst du Ausfälle, bevor sie jemand meldet.

CrowdSec: Intrusion Detection

CrowdSec ist die moderne Weiterentwicklung des fail2ban-Gedankens aus Teil 3: Es analysiert Logs, blockt Angreifer per Firewall-Bouncer – und tauscht Bedrohungsdaten global aus. Installation:

curl -s https://install.crowdsec.net | sudo sh
sudo cscli console enroll  # optional: Community-IP-Sharing

Damit CrowdSec auch nginx-Logs versteht, wird der passende Parser installiert:

sudo cscli parsers install crowdsecurity/nginx-logs
sudo systemctl restart crowdsec

Die Blockade übernimmt der nftables-Bouncer (passt zu Teil 3):

sudo apt install crowdsec-firewall-bouncer-nftables

Status und getroffene Entscheidungen ansehen:

sudo systemctl status crowdsec
sudo cscli decisions list
sudo cscli alerts list
Hinweis: CrowdSec sendet standardmäßig nur anonymisierte Daten an die Community, wenn du den Console-Enroll aktivierst – ohne Enroll arbeitet alles lokal. IPs von Nutzern nicht unnötig sperren: Entscheidungen regelmäßig prüfen.

Kernel-Härtung (sysctl)

Kernel-Parameter werden über /etc/sysctl.d/99-hardening.conf gesetzt. Wichtig: Erst prüfen, was schon aktiv ist – Debian 13 setzt viele sichere Werte bereits selbst. Blindes Copy-Paste aus dem Internet ist hier gefährlich.

# /etc/sysctl.d/99-hardening.conf
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
kernel.kptr_restrict = 2
kernel.dmesg_restrict = 1
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
sudo sysctl --system          # anwenden
sudo sysctl net.ipv4.tcp_syncookies   # Wert prüfen
Vorsicht bei IPv6: net.ipv6.conf.all.disable_ipv6 = 1 nur setzen, wenn du IPv6 wirklich nicht nutzt – sonst brechen IPv6-Verbindungen (z. B. WebRTC, Mail) stillschweigend.

Backup-Strategie mit Borg

Empfehlung: BorgBackup – deduplizierend, komprimiert, verschlüsselt und in Debian enthalten. Ziel nach der 3-2-1-Regel: 3 Kopien, 2 Medien, 1 davon offsite.

sudo apt install borgbackup
sudo mkdir -p /mnt/backup
sudo borg init --encryption=repokey /mnt/backup/borg-repo

Backup-Skript /usr/local/bin/borg-backup.sh:

#!/bin/sh
export BORG_REPO=/mnt/backup/borg-repo
export BORG_PASSPHRASE=dein-langes-passwort

# Archivname mit dynamischem Datum generieren, um Namenskollisionen zu verhindern
borg create --stats --compression lz4 "$BORG_REPO"::server-$(date +%Y-%m-%d) /etc /root /home

# Bereinigung nach Aufbewahrungsregeln
borg prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6
sudo chmod +x /usr/local/bin/borg-backup.sh

Automatisierung per systemd-Timer (nicht cron):

# /etc/systemd/system/borg-backup.service
[Unit]
Description=Borg Backup
[Service]
Type=oneshot
ExecStart=/usr/local/bin/borg-backup.sh
# /etc/systemd/system/borg-backup.timer
[Unit]
Description=Taegliches Borg Backup
[Timer]
OnCalendar=*-*-* 02:30
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl daemon-reload
sudo systemctl enable --now borg-backup.timer
sudo systemctl list-timers borg-backup.timer
Restore-Test ist Pflicht: Ein Backup, das nie wiederhergestellt wurde, ist kein Backup. Monatlich prüfen: borg list /mnt/backup/borg-repo und einmal pro Quartal eine Test-Wiederherstellung in einen leeren Ordner durchführen.

Betriebsplan: Wochen & Monate

  • Wöchentlich: apt update && apt full-upgrade, sudo systemctl --failed, Plattenplatz df -h, UFW/nftables-Status, fail2ban/CrowdSec-Status.
  • Monatlich: Externer Portscan, borg-Liste prüfen, Journalgröße, Logs nach Auffälligkeiten durchsehen, Backups testen.
  • Vierteljährlich: Restore-Test, Passwörter/Secrets rotieren, Serien-Wissen anwenden: Teil 2-Checkliste erneut durchgehen.

Erste Schritte & Checks

sudo apt update && sudo apt install borgbackup htop crowdsec
sudo systemctl status crowdsec borg-backup.timer
sudo cscli decisions list
borg list /mnt/backup/borg-repo

Damit läuft der Server nach dem Vier-Klang aus der Serie: sauber installiert (1), gehärtet (2), abgeschottet (3), überwacht und gesichert (4).

Häufige Probleme (FAQ)

ProblemLösung
CrowdSec blockt eigene IPsudo cscli decisions delete -i DEINE-IP und Whitelist für deinen Zugang anlegen.
Borg-Repo nach Neustart nicht erreichbarExternes Laufwerk muss gemountet sein, bevor der Timer läuft – ggf. RequiresMountsFor= im Service ergänzen.
Borg-Passphrase vergessenOhne Passphrase sind die Daten unlesbar – Passphrase sicher aufbewahren (Passwortmanager + Papierkopie).
sysctl-Wert ändert sich nichtsudo sysctl --system ausführen und Datei auf Tippfehler prüfen (sudo sysctl -p /etc/sysctl.d/99-hardening.conf).
Timer startet nichtsystemctl list-timers, Zeitzone prüfen (timedatectl) und Persistent=true gesetzt?
Platte voll durch Backupsborg prune-Aufbewahrung anpassen oder Ziel-Laufwerk vergrößern – Monitoring warnt vorher.

Fazit: Die Serie ist komplett

Von der leeren Platte bis zum überwachten, gehärteten und gesicherten Server – die Debian-Serie deckt damit den kompletten Lebenszyklus ab. Wer alle vier Teile umsetzt, betreibt einen Server, der Einsteigern wie Fortgeschrittenen als solide Basis dient.

Merksätze: ① Überwachen ohne Alarm ist nur Dekoration. ② CrowdSec ersetzt fail2ban-Gedanken – mit geteiltem Wissen. ③ sysctl nur nach Prüfung setzen, nie blind kopieren. ④ Ohne Restore-Test ist ein Backup nur eine Hoffnung.
📝
....

Wir betreiben unsere komplette Infrastruktur selbst auf Open-Source-Software und schreiben nur über Tools, die wir im Alltag wirklich einsetzen. Fragen zum Artikel? Schreib uns.