Debian 13 (Trixie): Monitoring, Intrusion Detection & Backup (Teil 4)
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).
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.
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
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
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
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, Plattenplatzdf -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)
| Problem | Lösung |
|---|---|
| CrowdSec blockt eigene IP | sudo cscli decisions delete -i DEINE-IP und Whitelist für deinen Zugang anlegen. |
| Borg-Repo nach Neustart nicht erreichbar | Externes Laufwerk muss gemountet sein, bevor der Timer läuft – ggf. RequiresMountsFor= im Service ergänzen. |
| Borg-Passphrase vergessen | Ohne Passphrase sind die Daten unlesbar – Passphrase sicher aufbewahren (Passwortmanager + Papierkopie). |
| sysctl-Wert ändert sich nicht | sudo sysctl --system ausführen und Datei auf Tippfehler prüfen (sudo sysctl -p /etc/sysctl.d/99-hardening.conf). |
| Timer startet nicht | systemctl list-timers, Zeitzone prüfen (timedatectl) und Persistent=true gesetzt? |
| Platte voll durch Backups | borg 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.