CIS-Härtung (sec-hardening)
Prüft das System gegen CIS-Benchmark-Empfehlungen: Sudo-Konfiguration, Kernel-Parameter, PAM, Audit-Logging, Festplattenverschlüsselung und mehr.
Konfiguration
| Parameter | Typ | Default | Beschreibung |
|---|
enabled | bool | true | Modul aktivieren/deaktivieren |
| Linux-Prüfungen | | | |
check_sudo | bool | true | Sudoers auf NOPASSWD prüfen |
check_sysctl | bool | true | Kernel-Parameter gegen Soll-Werte prüfen |
check_pam | bool | true | PAM-Passwortqualität prüfen |
check_auditd | bool | true | Audit-Daemon-Status prüfen |
check_repos | bool | true | Paketquellen prüfen |
check_luks | bool | true | Festplattenverschlüsselung prüfen |
allowed_nopasswd_users | list | ["root"] | Erlaubte NOPASSWD-Benutzer |
expected_sysctl | dict | siehe unten | Erwartete sysctl-Werte |
pam_minlen | int | 8 | Minimale Passwortlänge (pam_pwquality) |
trusted_sources | list | [] | Vertrauenswürdige Paketquellen |
| Windows-Prüfungen | | | |
check_password_policy | bool | true | Passwortrichtlinie prüfen |
check_audit_policy | bool | true | Audit-Policy prüfen |
check_bitlocker | bool | true | BitLocker-Verschlüsselung prüfen |
check_uac | bool | true | User Account Control prüfen |
check_smb1 | bool | true | SMBv1-Protokoll prüfen |
check_rdp_nla | bool | true | RDP Network Level Authentication prüfen |
check_drivers | bool | true | Treiber-Signaturen prüfen |
check_winrm | bool | true | WinRM-Verschlüsselung prüfen |
min_password_length | int | 8 | Minimale Passwortlänge |
Standard-sysctl-Werte
expected_sysctl:
net.ipv4.ip_forward: "0"
net.ipv4.conf.all.accept_redirects: "0"
net.ipv4.tcp_syncookies: "1"
net.ipv4.conf.all.send_redirects: "0"
YAML-Beispiel
sec_hardening:
enabled: true
check_sudo: true
check_sysctl: true
expected_sysctl:
net.ipv4.ip_forward: "0"
net.ipv4.tcp_syncookies: "1"
pam_minlen: 12
check_bitlocker: true
min_password_length: 12
Diagnose-Codes
Linux
| Code | Severity | Bedeutung | Empfehlung |
|---|
| 7400 | 0 | Hardening-Baseline eingehalten | — |
| 7401 | 1 | NOPASSWD in sudoers | NOPASSWD entfernen oder Benutzer explizit erlauben |
| 7402 | 1 | sudoers-Berechtigungen zu offen | chmod 0440 /etc/sudoers |
| 7403 | 1 | Kernel-Parameter weicht ab | sysctl-Wert anpassen |
| 7404 | 1 | Keine/schwache Passwortqualität | pam_pwquality konfigurieren |
| 7405 | 1 | auditd nicht aktiv | systemctl enable --now auditd |
| 7406 | 1 | auditd ohne Audit-Regeln | Audit-Regeln konfigurieren |
| 7407 | 1 | Unbekannte Paketquelle | Quelle prüfen oder zu trusted_sources hinzufügen |
| 7408 | 1 | Keine LUKS-Verschlüsselung | Festplattenverschlüsselung einrichten |
Windows
| Code | Severity | Bedeutung | Empfehlung |
|---|
| 8400 | 0 | Hardening-Baseline eingehalten | — |
| 8401 | 1 | Passwort-Mindestlänge zu kurz | Passwortrichtlinie verschärfen |
| 8402 | 1 | Keine Kontosperrung konfiguriert | Sperrrichtlinie aktivieren |
| 8403 | 1 | Passwort-Alter nicht begrenzt | Maximales Passwortalter setzen |
| 8404 | 1 | Audit-Unterkategorie nicht aktiviert | Audit-Policy aktivieren |
| 8405 | 1 | Laufwerk nicht mit BitLocker verschlüsselt | BitLocker aktivieren |
| 8406 | 1 | BitLocker-Schutz pausiert | Schutz fortsetzen |
| 8407 | 2 | UAC deaktiviert | UAC aktivieren (EnableLUA = 1) |
| 8408 | 1 | UAC auf niedrigstem Level | ConsentPromptBehaviorAdmin erhöhen |
| 8409 | 1 | RDP ohne NLA | NLA aktivieren |
| 8410 | 1 | SMBv1 aktiviert | SMBv1 deaktivieren |
| 8411 | 1 | Unsignierter Treiber | Treiber verifizieren oder ersetzen |
| 8412 | 1 | WinRM erlaubt unverschlüsselt | Verschlüsselung erzwingen |
- Linux: Prüft sudoers, sysctl, PAM, auditd, APT/YUM-Repos, LUKS.
- Windows: Prüft Passwort-/Sperr-/Audit-Policies, BitLocker, UAC, SMB, RDP, WinRM, Treiber.