Compliance Auditing: OpenSCAP on SUSE (Artikel 179)
Implementierung von Compliance-Audits unter SUSE. Erfahren Sie alles über OpenSCAP, die Erstellung von Audit-Reports und das automatisierte Fixen von Sicherheitsmängeln.
# Compliance Auditing: Revisionssichere SUSE-Systeme mit OpenSCAP
TL;DR / Management Summary “Ist unser Server sicher?” ist keine Meinungsfrage, sondern eine Frage der Compliance. OpenSCAP ist das Werkzeug, um SUSE-Systeme gegen standardisierte Profile (z.B. PCI-DSS, HIPAA, BSI-Grundschutz) zu prüfen. Es scannt Konfigurationsdateien, Dateiberechtigungen und Patch-Stände und generiert einen detaillierten Bericht inklusive Lösungsvorschlägen. Ein Senior Admin nutzt OpenSCAP, um den Security-Status seiner Flotte objektiv nachzuweisen.
# 1. Einführung & Architektur
Was ist SCAP?
SCAP (Security Content Automation Protocol) ist ein Standard für Sicherheitsdaten.
- OVAL: Sprache zur Beschreibung von Systemzuständen.
- XCCDF: Sprache zum Erstellen von Checklisten.
# Der Audit-Workflow (Mermaid)
graph TD
A[Security Policy: PCI-DSS / STIG] --> B[SCAP Security Guide]
B --> C[Tool: oscap scanner]
D[SLES Host] --> C
C --> E[HTML Report: Pass/Fail]
C --> F[Remediation Script: Ansible / Bash]
F -->|Fixes| D
# 2. Installation & Profile
Den Scanner vorbereiten.
# Schritt 1: Pakete installieren
sudo zypper install openscap-utils scap-security-guide
# Schritt 2: Verfügbare Profile anzeigen
SUSE liefert Profile für verschiedene SLES-Versionen mit.
oscap info /usr/share/xml/scap/ssg/content/ssg-sle15-ds.xml
Suchen Sie nach Profilen wie pci-ds oder stig-sles15-disa.
# 3. Einen Scan durchführen
Die nackte Wahrheit.
# Scan starten und Bericht generieren
sudo oscap xccdf eval \
--profile pci-dss \
--results results.xml \
--report report.html \
/usr/share/xml/scap/ssg/content/ssg-sle15-ds.xml
Öffnen Sie die report.html im Browser. Rot markierte Punkte müssen behoben werden.
# 4. Day-2 Operations: Remediation
Fehler automatisch beheben.
OpenSCAP kann Skripte generieren, die das System wieder konform machen.
# Ansible-Fix generieren
oscap xccdf generate fix \
--profile pci-dss \
--fix-type ansible \
--output fix_compliance.yml results.xml
Sie können dieses Playbook nun mit Ansible (Artikel 109) auf Ihre gesamte Flotte ausrollen.
# 5. Troubleshooting & “War Stories”
Wenn der Scan lügt oder hakt.
# Story 1: “Der False-Positive bei Patches”
Symptom: OpenSCAP meldet 50 fehlende Sicherheits-Updates, obwohl zypper patch sagt, das System sei aktuell.
Ursache: Der SCAP-Content (ssg-sle15-ds.xml) ist veraltet und kennt die neuesten Patch-IDs von SUSE noch nicht.
Lösung: Aktualisieren Sie das Paket scap-security-guide oder laden Sie den neuesten Content direkt vom ComplianceAsCode Projekt herunter.
# Story 2: “Systembruch durch Auto-Remediation”
Symptom: Nach dem Ausführen des Fix-Skripts startet der Webserver nicht mehr. Ursache: Das Profil forderte eine Deaktivierung von unsicheren Protokollen, die Ihre Applikation jedoch zwingend benötigt. Lösung: Führen Sie niemals ein generiertes Fix-Skript ungesehen aus. Testen Sie es erst in einer Staging-VM und passen Sie die Variablen im Playbook an Ihre Bedürfnisse an.
# 6. Fazit & Empfehlung
- Regelmäßigkeit: Führen Sie Compliance-Scans wöchentlich via Cron oder SUSE Manager aus.
- Transparenz: Nutzen Sie die HTML-Reports für Audits. Sie sind professionell formatiert und enthalten alle nötigen Referenzen zu den Standards.
- Wahl: OpenSCAP ist der Industriestandard. Nutzen Sie keine proprietären Scanner, wenn Sie die volle Kontrolle über die Regeln haben wollen.
# Anhang: Cheatsheet
| Aufgabe | Befehl |
|---|---|
| Info zum Content | oscap info <xml_file> |
| Scan ohne Report | oscap xccdf eval --profile <id> <xml> |
| Report aus XML bauen | oscap xccdf generate report results.xml > report.html |
| Bash-Fix generieren | oscap xccdf generate fix --fix-type bash ... |
| Hilfe anzeigen | oscap --help |
| CVE Scan (Patch-Level) | oscap oval eval --results res.xml <suse-cve-file.xml> |