Modul 10 · 10.1
Deutsch
Hardening und CIS-Prinzipien
Modul 10: Sicher bleiben · Lesezeit: 11 Minuten
Lernziel: Nach dieser Lektion können Sie erklären, was Hardening ist und welche Prinzipien dahinterstehen, Sie wissen, was die CIS Benchmarks sind und wie Sie sie sinnvoll einsetzen, und Sie können Ihren Server systematisch mit Lynis überprüfen.
Kernbegriffe: Hardening, Angriffsfläche, minimale Installation, minimale Rechte (Least Privilege), mehrschichtige Verteidigung (Defense in Depth), CIS Benchmarks, Level 1 und Level 2, CIS Controls, Lynis, Hardening Index, AppArmor, SELinux, sysctl, Zeitsynchronisation
Was ist Hardening?
Eine frische Installation von Debian oder Ubuntu ist recht sicher, aber so gebaut, dass sie an möglichst vielen Stellen funktioniert. Hardening (Härtung) bedeutet, Ihren Server genau an Ihre Nutzung anzupassen: alles entfernen, was Sie nicht brauchen, alles strenger einstellen, was strenger sein kann, ohne dass Ihre eigenen Dienste kaputtgehen.
In den vorherigen Modulen haben Sie das bereits Stück für Stück getan: SSH mit Schlüsseln (Modul 2), ein normaler Benutzer mit sudo (Modul 3), automatische Updates (Modul 4), eine Firewall und fail2ban (Modul 5), Dienste unter eigenen Benutzern (Modul 6). Diese Lektion bringt diese einzelnen Maßnahmen in einen Rahmen, damit Sie sehen, was noch fehlt.
Vier Prinzipien
1. Eine kleine Angriffsfläche. Was nicht vorhanden ist, kann nicht kaputtgehen. Jeder installierte Dienst, jeder offene Port, jedes Konto ist ein möglicher Zugang (Lektion 5.1). Installieren Sie minimal und räumen Sie auf, was Sie nicht mehr nutzen:
anna@web1:~$ systemctl list-units --type=service --state=running
anna@web1:~$ sudo ss -tulpn
anna@web1:~$ apt list --installed | wc -lLäuft ein Dienst, den Sie nicht kennen, finden Sie heraus, was er tut (Lektion 6.1). Brauchen Sie ihn nicht, entfernen Sie das Paket.
2. Minimale Rechte. Jeder Benutzer und jedes Programm erhält nur die Rechte, die nötig sind (Lektion 3.2). Keine tägliche Arbeit als root, Dienste unter eigenen Benutzern, Datenbankbenutzer nur mit Rechten auf ihre eigene Datenbank, kein chmod 777.
3. Mehrschichtige Verteidigung. Gehen Sie davon aus, dass eine Maßnahme versagt. Eine Datenbank, die nur auf 127.0.0.1 lauscht und hinter einer Firewall steht und ein starkes Passwort hat, ist auch dann sicher, wenn eine dieser drei Maßnahmen versehentlich ausfällt. Das nennt man Defense in Depth.
4. Wissen, was passiert. Hardening heißt nicht nur abriegeln, sondern auch hinsehen: Logs, die aufbewahrt werden (Lektion 6.2), eine Überwachung, die Meldung macht (Lektion 8.3), und Backups, mit denen Sie zurückkönnen (Modul 8). Ohne das bemerken Sie einen Einbruch erst, wenn es zu spät ist.
Die CIS Benchmarks
Das Center for Internet Security (CIS) ist eine amerikanische Non-Profit-Organisation, die die CIS Benchmarks erstellt: umfangreiche Listen mit empfohlenen Einstellungen pro Produkt, verfasst von Freiwilligen aus der Sicherheitsbranche. Es gibt mehr als hundert davon, auch für Debian Linux und Ubuntu Linux, jeweils pro Version. Sie können die PDFs nach dem Anlegen eines Kontos kostenlos für die nicht-kommerzielle Nutzung herunterladen.
Ein Benchmark für Linux enthält Hunderte von Empfehlungen, jede mit einer Erklärung, einer Prüfmethode und einer Anleitung zur Umsetzung. Sie sind in Profile unterteilt:
- Level 1: Basismaßnahmen, die Sie relativ schnell einführen können, mit einem klaren Sicherheitsgewinn, ohne dass der Server deutlich weniger brauchbar wird. Für die meisten Server das Ziel.
- Level 2: zusätzliche Maßnahmen für Umgebungen, in denen Sicherheit an erster Stelle steht (mehrschichtige Verteidigung). Sie können Funktionen oder Geschwindigkeit kosten und laut CIS selbst Schaden anrichten, wenn Sie sie ohne Sorgfalt anwenden.
Für Linux gibt es getrennte Profile für Server und Workstations.
Beispiele für Themen in einem Linux-Benchmark: separate Partitionen für /tmp und /var/log, ungenutzte Dateisysteme und Netzwerkprotokolle deaktivieren, Zeitsynchronisation, Audit-Logging, SSH-Einstellungen (viele davon kennen Sie aus Lektion 2.2), Passwortrichtlinien, Rechte auf wichtige Dateien und die Firewall.
Neben den Benchmarks gibt es die CIS Controls (derzeit Version 8.1): keine Einstellungen pro Produkt, sondern eine Liste von achtzehn Maßnahmengruppen für eine ganze Organisation, etwa "Inventar der Software", "Schwachstellenmanagement" und "Datenwiederherstellung". Für einen einzelnen Server sind die Benchmarks nützlicher; die Controls helfen, wenn Sie über Ihr gesamtes Unternehmen nachdenken.
Einen Benchmark sinnvoll nutzen
Ein Benchmark ist kein Knopf, den man drückt. Ein paar Regeln:
- Erst verstehen, dann anwenden. Jede Empfehlung hat eine Erklärung. Verstehen Sie nicht, warum, wenden Sie sie noch nicht an.
- Eine Sache nach der anderen, und testen. Eine strenge Einstellung für den Kernel oder das Netzwerk kann Ihre Anwendung lahmlegen. Erstellen Sie einen Snapshot, ändern Sie eine Sache und prüfen Sie, ob alles noch funktioniert.
- Nicht alles ist für Sie. Eine Empfehlung für eine separate
/var/log-Partition ist auf einem bestehenden VPS schwierig umzusetzen und bringt wenig. Wählen Sie bewusst aus und notieren Sie, warum Sie etwas nicht umsetzen. - Vorsicht bei fertigen Hardening-Skripten aus dem Internet, die "alles von CIS" auf einmal anwenden. Sie können SSH, Ihre Firewall oder Ihre Logs so verändern, dass Sie sich selbst aussperren, und danach wissen Sie nicht mehr, was geändert wurde.
Lynis: ein Audit von innen
Lynis ist ein kostenloses Open-Source-Programm (GPL) von CISOfy, das Ihren Server von innen durchgeht und pro Thema Warnungen und Vorschläge ausgibt. Es ändert selbst nichts; es berichtet nur.
anna@web1:~$ sudo apt install lynis
anna@web1:~$ sudo lynis audit system
...
-[ Lynis 3.x Results ]-
Warnings (1):
----------------------------
! Found one or more vulnerable packages. [PKGS-7392]
Suggestions (34):
----------------------------
* Consider hardening SSH configuration [SSH-7408]
- Details : AllowTcpForwarding (set YES to NO)
...
Lynis security scan details:
Hardening index : 66 [############# ]
Tests performed : 262So lesen Sie das Ergebnis:
- Warnings sind Dinge, die Sie sich wirklich ansehen müssen, etwa Pakete mit bekannten Sicherheitslücken (dann stehen Updates aus, Lektion 4.1).
- Suggestions sind Ratschläge. Viele sind nützlich, manche passen nicht zu Ihrem Server. Ein Vorschlag,
AllowTcpForwardingzu deaktivieren, legt zum Beispiel Ihre SSH-Tunnel lahm (Lektion 2.3). Wählen Sie bewusst aus. - Jede Meldung hat einen Code in Klammern, etwa
[SSH-7408]. Damit suchen Sie im Logbuch/var/log/lynis.log, was genau getestet wurde. - Der Hardening Index ist eine Zahl bis 100. Er ist ein Wegweiser, keine Note, der Sie hinterherjagen sollten. Ein Anstieg nach Ihren Anpassungen zeigt, dass Sie vorankommen; eine 100 ist kein Ziel.
Die Lynis-Version in der Paketquelle Ihrer Distribution kann etwas hinterherhinken. Für ein erstes Audit ist das kein Problem.
Drei weitere Themen in Kürze
- AppArmor und SELinux sind zusätzliche Sicherheitsschichten im Kernel, die pro Programm festlegen, was es darf. Debian und Ubuntu verwenden AppArmor, standardmäßig aktiv; AlmaLinux und Rocky verwenden SELinux. Deaktivieren Sie sie nicht, "weil etwas nicht funktioniert": Suchen Sie die Meldung im Journal und beheben Sie das Problem gezielt.
- sysctl setzt Einstellungen des Kernels, zum Beispiel für das Netzwerk. Die Standardwerte von Debian und Ubuntu sind vernünftig. Möchten Sie etwas ändern, legen Sie es in einer eigenen Datei in
/etc/sysctl.d/ab (Debian 13 liest/etc/sysctl.confnicht mehr). - Zeit: Ein Server mit falscher Uhrzeit macht Logs unbrauchbar und kann Zertifikate als ungültig ansehen. Prüfen Sie mit
timedatectl, dass dort "System clock synchronized: yes" steht.
In der Praxis
Bei WebOké verwalten Sie, wie bei anderen Anbietern eines VPS auch, die Sicherheit innerhalb Ihres Servers selbst: Der Anbieter kümmert sich um die Hardware, das Netzwerk und die Virtualisierungsplattform. Dieser Kurs ist Hilfe zur Selbsthilfe: Niemand schaut auf Ihrem Server mit. Erstellen Sie vor einer Hardening-Runde einen Snapshot im Panel und wissen Sie, wie Sie die Konsole öffnen, falls Sie sich doch aussperren.
Zusammenfassung
- Hardening bedeutet, Ihren Server an Ihre eigene Nutzung anzupassen: weg, was nicht nötig ist, strenger, was strenger sein kann.
- Vier Prinzipien: kleine Angriffsfläche, minimale Rechte, mehrschichtige Verteidigung und sehen, was passiert.
- Die CIS Benchmarks liefern pro Produkt Hunderte von Empfehlungen in den Profilen Level 1 (Basis) und Level 2 (streng); nutzen Sie sie mit Verständnis, Schritt für Schritt.
- Lynis prüft Ihren Server von innen und liefert Warnungen, Vorschläge und einen Hardening Index; es ändert selbst nichts.
- AppArmor/SELinux nicht deaktivieren; eigene Kernel-Einstellungen in
/etc/sysctl.d/; Zeitsynchronisation prüfen.
Quiz
Aufgabe
Aufgabe O10.1: Ein Audit mit Lynis. Erstellen Sie einen Snapshot, installieren Sie Lynis auf Ihrem Server und führen Sie sudo lynis audit system aus. Notieren Sie den Hardening Index, alle Warnungen und fünf Vorschläge. Wählen Sie drei Vorschläge, die Sie umsetzen, und einen, den Sie bewusst nicht umsetzen, mit Begründung. Führen Sie das Audit danach erneut aus und notieren Sie den neuen Index.
Aufgabe O10.1: Ein Audit mit Lynis
Diese Aufgabe machen Sie selbst; niemand prüft sie nach. Haken Sie ab, was Sie erledigt haben, und markieren Sie die Aufgabe als erledigt.
Zuerst die Warnungen (meist ausstehende Updates). Sinnvoll: strengere SSH-Einstellungen, automatische Updates, ungenutzte Dienste entfernen. Ein guter Grund, etwas auszulassen: AllowTcpForwarding, wenn Sie Tunnel verwenden. Der Index ist ein Wegweiser, kein Ziel.
Ihre Haken und Notizen bleiben nur in diesem Browser; wir senden sie nirgendwohin. Sind Sie angemeldet, speichern wir in Meine Kurse nur, dass Sie die Aufgabe erledigt haben.
Weiterführende Informationen
- Ihren VPS absichern: die ersten fünf Minuten
- CIS Benchmarks (Übersicht, auch Debian und Ubuntu): https://www.cisecurity.org/cis-benchmarks
- CIS Controls: https://www.cisecurity.org/controls
- Lynis, Dokumentation: https://cisofy.com/documentation/lynis/
- Das niederländische NCSC, Einstieg in die Cybersicherheit (niederländische Quelle): https://www.ncsc.nl/beginnen-met-cybersecurity
