What changed for Debian 12 and its CIS baseline
Debian 12 “Bookworm” entered the Debian LTS phase on July 12, 2026. Security support is scheduled through June 30, 2028, while Debian 13 is now the current stable release. Debian recommends upgrading to Debian 13 where practical. If you must keep Bookworm, confirm your CPU architecture and installed packages remain covered by LTS, keep the Bookworm security sources configured, and plan a tested migration before the support window closes.
The current CIS listing includes the CIS Debian Linux 12 Benchmark v2.0.0. CIS announced this as a substantial update in 2026: it added, removed, moved, and revised recommendations. Older Debian 12 checklists and automation may therefore target a different baseline. This guide uses the v2.0.0 benchmark as the assessment reference, but it does not reproduce every control or claim a passing result. Use the exact benchmark and profile accepted by your organization.
References: Debian’s Bookworm LTS handover announcement, the CIS Debian Benchmark listing, and CIS’s June 2026 benchmark update.
Before hardening: select a profile and recovery path
CIS hardening is not a one-size-fits-all shell script. A Level 1 profile is a practical starting point for many production servers; Level 2 adds defense in depth and can have a stronger effect on compatibility and operations. CIS recommends testing the chosen recommendations in a non-production environment first. If a regulator, customer contract, or internal policy names a profile, follow that specific requirement.
- Record the target as Debian 12 Bookworm, the CIS benchmark version, and the applicable server profile.
- Take a tested backup or VM snapshot and confirm console or out-of-band access before changing remote-login or firewall settings.
- Write down required services, ports, users, scheduled jobs, mount points, and application dependencies.
- Define who can approve exceptions and where scan reports and change records will be retained.
CIS describes Level 1 as a baseline profile and Level 2 as a more restrictive defense-in-depth profile. See the official CIS profile FAQ before choosing between them.
1. Confirm the Debian release and LTS coverage
Capture the host’s release, architecture, kernel, active services, and listening sockets before making changes:
cat /etc/os-release
dpkg --print-architecture
uname -r
systemctl --failed
sudo ss -tulpn
Bookworm’s LTS coverage is limited to listed architectures and excludes some packages. Check Debian’s Bookworm LTS package information, especially if the machine runs software outside the main Debian archive. A CIS score does not expand Debian’s security-support scope.
2. Das System sicher aktualisieren
Stellen Sie sicher, dass die APT-Quellen den Codenamen verwenden bookwormund die aktuellen Debian-Sicherheits-/LTS-Quellen für diese Installation enthalten. Vermeiden Sie es, die Quellen eines Produktivservers vorschnell von „ stable“ bookwormauf „debian 13“ zu ändern stable; der Alias „stable“ verweist nun auf Debian 13 und kann ein Sicherheitsupdate fälschlicherweise zu einem Upgrade der Distribution führen.
sudo apt update
sudo apt upgrade
Prüfen Sie die vorgeschlagenen Paketänderungen, bevor Sie sie bestätigen. Planen Sie ein Wartungsfenster für Aktualisierungen ein, die einen Kernel ersetzen oder einen kritischen Dienst neu starten. Verwenden Sie das Paket nicht, full-upgradeohne vorher die Paketentfernungen und Abhängigkeitsänderungen zu prüfen. Für die unbeaufsichtigte Installation von Patches unattended-upgradeskann das Debian-Paket die Installation aus konfigurierten APT-Quellen automatisieren. Entscheiden Sie, ob automatische Neustarts und Anwendungsneustarts mit den Änderungsrichtlinien des Hosts vereinbar sind, bevor Sie diese aktivieren.
3. Inventarisierungssoftware verwenden und nur das entfernen, was die Rolle nicht benötigt.
Nutzen Sie Ihre Dienstübersicht und die Liste der überwachten Ports, um unerwartete Netzwerkverbindungen zu identifizieren. Prüfen Sie die Paketzugehörigkeit, bevor Sie einen Daemon entfernen, und vergewissern Sie sich, ob ein Dienst von der Anwendung, dem Überwachungsagenten, der Backup-Software oder der lokalen Automatisierung benötigt wird. Das Deaktivieren eines Dienstes kann eine Abhängigkeit unterbrechen, die nicht aus dem Namen ersichtlich ist.
systemctl --type=service --state=running
sudo ss -lntup
apt-mark showmanual
Entfernen Sie nicht benötigte Pakete über APT erst, nachdem der Besitzer bestätigt hat, dass sie nicht mehr benötigt werden. Dokumentieren Sie für Dienste, die installiert bleiben müssen, aber nicht gestartet werden sollen, den Grund und verwenden Sie die exakte CIS-Empfehlung für das ausgewählte Profil. Vermeiden Sie Befehle, die alle Dienste einer Kategorie deaktivieren oder Pakete massenhaft löschen.
4. SSH-Sicherheit erhöhen, ohne sich selbst auszusperren
Für einen SSH-verwalteten Server erstellen und testen Sie ein benanntes Administratorkonto, sudobevor Sie die Anmeldung mit Root-Rechten oder Passwörtern einschränken. Stellen Sie sicher, dass die Anmeldung per Schlüssel in einer zweiten Terminal-Sitzung funktioniert und dass Sie die Konsole erreichen können. Wenden Sie anschließend nur die für Ihr Profil und Ihr Betriebsmodell erforderlichen SSH-Einstellungen an. Gängige Kontrollmechanismen umfassen die Verhinderung der direkten Root-Anmeldung und die Einschränkung der Passwortauthentifizierung. Diese sollten jedoch erst angewendet werden, wenn eine alternative Authentifizierungsmethode verfügbar ist.
Nach dem Bearbeiten einer Konfigurationsdatei /etc/ssh/sshd_configoder einer eingebundenen Konfigurationsdatei Syntax und gültige Werte überprüfen und anschließend SSH neu laden:
sudo sshd -t
sudo sshd -T | grep -E 'permitrootlogin|passwordauthentication'
sudo systemctl reload ssh
Lassen Sie die bestehende Sitzung geöffnet und testen Sie eine neue Anmeldung, bevor Sie sie schließen. Falls eine zentrale Identitätsverwaltung oder ein Notfallpasswortzugriff erforderlich ist, deaktivieren Sie diesen Pfad erst, nachdem der Ersatz getestet wurde. Das Handbuch zum OpenSSH-Server Bookworm von Debian dokumentiert die unterstützten Einstellungen; der Benchmark liefert die entsprechenden Zielwerte.
5. Konfigurieren Sie eine Host-Firewall mit dem erforderlichen Datenverkehr.
Wählen Sie eine Firewall-Verwaltungsmethode, die zum Host passt – beispielsweise nftables oder eine vorhandene, orchestrierungsgesteuerte Firewall – und verwenden Sie ein einziges autoritatives Regelwerk. Bevor Sie eine Standardrichtlinie zum Verweigern eingehender Verbindungen erzwingen, erlauben Sie den Verwaltungspfad und alle vom Server benötigten Dienste. Eine fehlerhafte Regel kann die Verbindung zu einem Remote-Host trennen oder einen Integritätscheck unterbrechen, ohne die Anwendung selbst zu beeinträchtigen.
sudo nft list ruleset
Vergleichen Sie die aktuellen Regeln mit Ihrem genehmigten Netzwerkdesign und testen Sie anschließend von einem autorisierten externen Host aus. Falls Ihre Organisation einen Firewall-Manager wie UFW verwendet, prüfen Sie dessen Regeln über diesen Manager, anstatt ein unabhängiges Regelwerk darüber zu legen. Die Befehlssyntax ist im nftables-Handbuch von Debian beschrieben; die korrekte Zulassungsliste hängt von der Serverrolle und der Netzwerksegmentierung ab.
6. Überprüfen Sie AppArmor und vermeiden Sie eine Schwächung der Anwendungsabschottung.
AppArmor ist das von Debian unterstützte Framework für die obligatorische Zugriffskontrolle. Überprüfen Sie, ob es installiert und aktiviert ist und Profile für die relevanten Dienste erzwingt:
sudo aa-status
systemctl status apparmor
Falls AppArmor fehlt, prüfen Sie zunächst, ob das Host-Image oder die Sicherheitsrichtlinie absichtlich ein anderes Linux-Sicherheitsmodul verwendet. Installieren oder erzwingen Sie keine neuen Profile in der Produktionsumgebung, ohne das Anwendungsverhalten vorher zu testen. Ein Profil im Beschwerdemodus protokolliert Richtlinienverstöße, blockiert sie aber nicht; der Erzwingungsmodus kann unautorisierten Datei- oder Netzwerkzugriff verhindern, und ein unzureichend getestetes Profil kann auch einen legitimen Dienst beeinträchtigen.
Die Dokumentation des Debian Bookworm AppArmor-Pakets beschreibt die Benutzerkomponenten. Wenden Sie die exakte Benchmark-Empfehlung für Profilstatus und Ausnahmen an, anstatt anzunehmen, dass die Paketinstallation allein diese erfüllt.
7. Fügen Sie eine Überwachungs- und Protokollaufbewahrung hinzu, die Sie tatsächlich überwachen können.
Falls dies im ausgewählten CIS-Profil erforderlich ist, installieren und aktivieren Sie den Audit-Daemon von Debian und wenden Sie anschließend die Regeln aus dem aktuellen Benchmark und Ihrem Änderungskontrollprozess an:
sudo apt install auditd
sudo systemctl enable --now auditd
sudo systemctl status auditd
sudo auditctl -l
Stellen Sie sicher, dass die erwarteten Regeln nach einem Neustart geladen werden und dass Audit-Protokolle erfasst, gespeichert und vor normalen Benutzern geschützt werden. Audit-Regeln können den Speicherplatz und das Ereignisvolumen erhöhen; passen Sie daher Aufbewahrungsdauer und Benachrichtigungen an die Auslastung des Hosts an. Wenn Protokolle zentral weitergeleitet werden, überprüfen Sie auch dort die Zustellung und Zugriffskontrollen. Die Paketseite von Bookworm auditd bei Debian erklärt, dass es Hilfsprogramme zum Speichern und Durchsuchen von Kernel-Audit-Protokollen bereitstellt; die Installation konfiguriert jedoch nicht automatisch den vollständigen CIS-Regelsatz.
8. Überprüfen Sie die Kernel-, Dateisystem- und Benutzerkontensteuerung anhand der genauen Checkliste.
Arbeiten Sie die Einstellungen des Benchmarks für Kernelparameter, Dateiberechtigungen, Passwortrichtlinien, Anmeldebanner, geplante Aufgaben und Dateisystem-Mountoptionen durch. Diese Einstellungen hängen von der Rolle des Hosts ab. Beispielsweise noexeckann ein temporäres Dateisystem mit einem Installationsprogramm oder einer Anwendung, die dort Dateien ausführt, in Konflikt geraten; die Deaktivierung von IPv6 kann ein Netzwerk, das IPv6 verwendet, beeinträchtigen; und restriktive Kontoalterungsrichtlinien können mit zentral verwalteten Identitäten in Konflikt geraten.
Erfassen Sie für jede Empfehlung das Prüfergebnis, den Sollwert, den Istwert und ob die Änderung anwendbar ist. Wenden Sie die zugehörigen Einstellungen in einer verwalteten Konfigurationsdatei oder einem Konfigurationsverwaltungssystem an und überprüfen Sie anschließend den effektiven Laufzeitstatus. Vermeiden Sie weitreichende rekursive chmodBefehle chown: Diese können unbemerkt Paketberechtigungen, Anwendungszugriffe und die Systemwiederherstellung beeinträchtigen.
9. Ausnahmen bewerten, beheben und dokumentieren
Führen Sie ein Bewertungstool aus, das den CIS Debian Linux 12 Benchmark v2.0.0 und das in Schritt 1 ausgewählte Profil explizit unterstützt. CIS listet Bewertungs- und Automatisierungsressourcen auf seiner Debian-Benchmark-Seite auf; einige sind nur für CIS SecureSuite-Mitglieder verfügbar. Eine PDF-Checkliste kann die manuelle Überprüfung unterstützen, lässt aber keine Rückschlüsse auf die Konformität mit einem generischen Linux-Scanner oder einem CIS-Benchmark für Debian 13 zu.
Beheben Sie festgestellte Mängel in kleinen Schritten. Überprüfen Sie nach jedem Schritt Zugriff, Anwendungsstatus, benötigte Ports, geplante Backups, Protokollerfassung und Überwachung. Führen Sie die Bewertung erneut durch und vergleichen Sie das Ergebnis mit dem vorherigen Bericht. Dokumentieren Sie für jede akzeptierte Abweichung die Kontrollmaßnahme, den Grund, die Ausgleichsmaßnahme, den Verantwortlichen und das Überprüfungsdatum. Die Angabe „Nicht zutreffend“ sollte durch Belege gestützt werden und darf nicht dazu dienen, die Bewertung zu verbessern.
Betriebscheckliste
- Verwenden Sie den aktuellen Debian 12 v2.0.0 Benchmark und das korrekte Serverprofil.
- Halten Sie die Sicherheitsquellen von Bookworm auf dem neuesten Stand und bestätigen Sie die LTS-Abdeckung für die Architektur und die Pakete dieses Hosts.
- Sichern Sie einen Wiederherstellungspfad, bevor Sie Änderungen an SSH, Firewall, Bootvorgang oder Dateisystemverhalten vornehmen.
- Testen Sie zunächst Level 2 und Änderungen mit Auswirkungen auf die Anwendung außerhalb der Produktionsumgebung.
- Protokollieren Sie die Ergebnisse der Bewertung, Ausnahmen, Paketaktualisierungen und den Neustartstatus.
- Planen Sie die Migration zu Debian 13, bevor Debian 12 LTS am 30. Juni 2028 endet, sofern die Arbeitslast dies zulässt.
Die Härtung kann das Angriffsrisiko verringern, die Einhaltung der CIS-Richtlinien wird jedoch durch die Bewertung der jeweiligen Benchmark-Version und des Profils, die Anwendung der erforderlichen Kontrollen, die Validierung des Ergebnisses und die Dokumentation autorisierter Ausnahmen sichergestellt. Sie ist keine Garantie für die Sicherheit eines Hosts und ersetzt nicht die Compliance-Prüfung des Unternehmens.