Compliance Automatisierung mit OpenSCAP: Linux Server kontinuierlich prüfen
AI generated
$
/etc
Linux · Compliance · Auditing · Server Härtung
Compliance Automatisierung mit OpenSCAP
von der Momentaufnahme zum laufenden Prozess

Compliance Automatisierung mit OpenSCAP verwandelt manuelle, fehleranfällige Checklisten in wiederholbare Scans gegen anerkannte SCAP-Profile. Wer den SCAP Security Guide richtig einsetzt, automatische Remediation-Skripte nutzt und den Prozess über Ansible und oscapd fortlaufend betreibt, macht Compliance zu einem beobachtbaren Betriebszustand statt zur einmaligen Vorbereitung auf ein Audit.

18 Min. Lesezeit OpenSCAP · SCAP Security Guide · oscap · Ansible RHEL · Rocky Linux · Debian/Ubuntu

1. Was OpenSCAP und der SCAP Standard sind

OpenSCAP ist die Referenzimplementierung des Security Content Automation Protocol, kurz SCAP, einer Sammlung von Standards des amerikanischen National Institute of Standards and Technology zur maschinenlesbaren Beschreibung von Sicherheitsanforderungen. Compliance Automatisierung mit OpenSCAP bedeutet konkret, dass ein Server nicht mehr manuell gegen eine PDF-Checkliste geprüft wird, sondern automatisiert gegen ein XML-basiertes Profil, das exakt definiert, welcher Zustand als konform gilt.

Der zentrale Baustein für Compliance Automatisierung ist der SCAP Security Guide, kurz SSG, ein von Red Hat und der Community gepflegtes Projekt, das fertige Profile für CIS Benchmark, PCI-DSS, DISA STIG und weitere Standards mitbringt, jeweils für die gängigen Distributionen. Statt jede Kontrolle manuell in ein eigenes Skript zu übersetzen, nutzt man ein bereits durch die Community getestetes und aktuell gehaltenes Profil.

Der Vorteil gegenüber rein manueller Prüfung liegt in der Wiederholbarkeit und Nachvollziehbarkeit. Ein OpenSCAP Scan liefert dieselbe Bewertung, unabhängig davon, wer ihn ausführt, und mit vollständiger Nachverfolgbarkeit, welche Regel geprüft wurde und mit welchem Ergebnis. Diese Eigenschaft macht Compliance Automatisierung mit OpenSCAP zur Grundlage jedes Audits, das über eine reine Momentaufnahme hinausgehen soll.

2. SCAP Security Guide installieren und Profile auswählen

Die Installation für Compliance Automatisierung mit OpenSCAP besteht aus zwei Paketen: dem Scanner selbst und dem Inhaltspaket mit den eigentlichen Profilen. Nach der Installation liegen die SCAP-Datenströme als XML-Dateien im System, aus denen sich einzelne Profile über ihre eindeutige ID auswählen lassen, etwa das CIS Level 1 Server Profil oder ein PCI-DSS spezifisches Profil.

Wichtig bei der Profilauswahl für Compliance Automatisierung ist, das Profil exakt zur eingesetzten Distributionsversion passend zu wählen. Ein SSG-Datenstrom für Debian 12 enthält andere Regeln und Pfade als einer für Ubuntu 24.04, selbst wenn beide Distributionen ähnlich aufgebaut sind. Ein falsch gewähltes Profil führt zu irreführenden Fehlschlägen bei Regeln, die auf dem tatsächlichen System gar nicht zutreffen.


#!/usr/bin/env bash
# Install OpenSCAP and SCAP Security Guide, list available profiles
set -euo pipefail

# Debian/Ubuntu
apt-get update
apt-get install -y openscap-scanner ssg-debian

# RHEL/Rocky Linux
# dnf install -y openscap-scanner scap-security-guide

# List all profiles available in the datastream for this distribution
oscap info /usr/share/xml/scap/ssg/content/ssg-debian12-ds.xml | grep -A1 "Profile"

3. Den ersten Scan mit oscap durchführen

Der erste Scan für Compliance Automatisierung sollte immer im reinen Bewertungsmodus laufen, ohne automatische Korrektur. Der Befehl oscap xccdf eval mit den Parametern --results und --report erzeugt eine maschinenlesbare XML-Datei und einen für Menschen lesbaren HTML-Report, der jede geprüfte Regel mit Status Pass, Fail, Not Applicable oder Error auflistet.

Ein oft übersehener Aspekt der Compliance Automatisierung mit OpenSCAP ist die Interpretation von "Error"-Status. Anders als "Fail" bedeutet "Error", dass die Regel technisch nicht ausgewertet werden konnte, etwa weil ein benötigtes Kommando fehlt oder ein Pfad nicht existiert. Diese Fälle brauchen manuelle Nachprüfung, da sie weder als konform noch als nicht konform automatisch eingeordnet werden können.


#!/usr/bin/env bash
# Read-only compliance assessment against CIS Level 1 Server profile
set -euo pipefail

oscap xccdf eval \
  --profile xccdf_org.ssgproject.content_profile_cis_level1_server \
  --results /var/compliance/scap-results-$(date +%Y%m%d).xml \
  --report /var/compliance/scap-report-$(date +%Y%m%d).html \
  /usr/share/xml/scap/ssg/content/ssg-debian12-ds.xml

echo "Scan complete, exit code reflects overall compliance status"
echo "0 = all rules passed, 2 = at least one rule failed"

4. Remediation Skripte automatisch generieren und anwenden

Der Kernvorteil von Compliance Automatisierung mit OpenSCAP gegenüber reiner manueller Bewertung ist die Fähigkeit, aus jedem fehlgeschlagenen Regelsatz ein direkt ausführbares Remediation-Skript zu generieren. Der Befehl oscap xccdf generate fix erzeugt wahlweise ein Bash-Skript oder ein Ansible-Playbook, das exakt die fehlgeschlagenen Kontrollen adressiert, ohne bereits konforme Einstellungen erneut anzufassen.

Trotz dieser Automatisierung gilt für Compliance Automatisierung dieselbe Vorsicht wie bei jeder Härtungsmaßnahme: generierte Remediation-Skripte gehören zuerst in eine Staging-Umgebung, nicht direkt auf ein Produktivsystem. Manche Remediation-Regeln, etwa das Deaktivieren bestimmter Kernel-Module, können Funktionalität beeinträchtigen, die im spezifischen Einsatzkontext tatsächlich benötigt wird.


#!/usr/bin/env bash
# Generate an Ansible remediation playbook from failed rules, review before applying
set -euo pipefail

RESULTS="/var/compliance/scap-results-$(date +%Y%m%d).xml"

# Generate Ansible playbook fixing only the failed controls
oscap xccdf generate fix \
  --profile xccdf_org.ssgproject.content_profile_cis_level1_server \
  --fix-type ansible \
  --output remediation-playbook.yml \
  "$RESULTS"

echo "Review remediation-playbook.yml before applying to any host"
echo "Recommended workflow: test in staging, then:"
echo "ansible-playbook remediation-playbook.yml -i inventory --limit staging --check"

5. Ergebnisse als HTML und XML Reports auswerten

Für Compliance Automatisierung sind zwei Ausgabeformate relevant, mit unterschiedlichem Zweck. Der HTML-Report ist für Menschen gedacht, mit farblich markierten Ergebnissen, Kontrollbeschreibung und Remediation-Hinweis pro Regel, ideal für ein manuelles Review-Meeting oder eine Auditor-Vorlage. Die XML-Ergebnisdatei ist für die Weiterverarbeitung durch Werkzeuge gedacht, etwa um einen Trend über die Zeit in ein zentrales Dashboard zu übertragen.

Ein wichtiger Kennwert bei der Auswertung ist die Scoring-Prozentzahl, die OpenSCAP aus dem Verhältnis von Pass zu Fail berechnet. Diese Zahl allein ist aber nur eine grobe Orientierung für Compliance Automatisierung. Entscheidender ist die Liste der konkret fehlgeschlagenen Kontrollen mit ihrer jeweiligen Kritikalität, weil ein einzelnes hochkritisches Fail schwerer wiegt als zehn niedrigpriore Fails zusammen.

6. OpenSCAP in Ansible Pipelines integrieren

Nachhaltige Compliance Automatisierung integriert den OpenSCAP Scan als festen Schritt in die Deployment-Pipeline, nicht als isolierte, manuell angestoßene Aktion. Nach jedem Ansible-Playbook-Lauf, der Systemkonfiguration ändert, sollte automatisch ein Scan folgen, der prüft, ob die Änderung versehentlich eine Kontrolle aus dem gewählten Profil verletzt hat.


# ansible/playbooks/deploy-with-compliance-gate.yml
# Configuration deployment followed by an automated OpenSCAP compliance gate

- name: Apply application configuration changes
  hosts: webservers
  roles:
    - php_fpm_config
    - nginx_vhost_config

- name: Run OpenSCAP compliance check after configuration changes
  hosts: webservers
  tasks:
    - name: Execute compliance scan
      command: >
        oscap xccdf eval
        --profile xccdf_org.ssgproject.content_profile_cis_level1_server
        --results /var/compliance/scap-results-{{ ansible_date_time.date }}.xml
        /usr/share/xml/scap/ssg/content/ssg-debian12-ds.xml
      register: scan_result
      failed_when: scan_result.rc == 1

    - name: Fail pipeline if compliance evaluation errored
      fail:
        msg: "OpenSCAP evaluation encountered an error, review before proceeding"
      when: scan_result.rc == 1

7. Continuous Compliance mit oscapd und Scheduling

Für vollautomatisierte, wiederkehrende Compliance Automatisierung ohne externe Pipeline bietet sich oscapd an, ein Daemon, der geplante Scans direkt auf dem Zielsystem ausführt und die Ergebnisse zentral über eine definierte Schnittstelle bereitstellt. Alternativ genügt für kleinere Umgebungen ein systemd Timer, der regelmäßig oscap xccdf eval ausführt und die Ergebnisse an ein zentrales Log- oder Monitoring-System weiterleitet.

Entscheidend für echte Compliance Automatisierung ist, dass die Ergebnisse nicht nur erzeugt, sondern auch aktiv überwacht werden. Eine sinnvolle Eskalationsregel ist, bei neu aufgetretenen Fails, die im vorherigen Scan noch nicht vorhanden waren, sofort eine Benachrichtigung auszulösen, statt auf die nächste geplante manuelle Durchsicht zu warten.

8. Eigene Profile und Tailoring anpassen

Standard-Profile aus dem SCAP Security Guide passen selten zu hundert Prozent auf jede reale Umgebung. Für Compliance Automatisierung, die auch organisationsspezifische Ausnahmen berücksichtigen muss, bietet OpenSCAP das Konzept des Tailoring: Eine separate XML-Datei referenziert das Basisprofil und überschreibt einzelne Regeln, etwa um eine bestimmte Kontrolle als nicht anwendbar zu markieren, mit dokumentierter Begründung im Tailoring-File selbst.


{
  "tailoring_metadata": {
    "base_profile": "xccdf_org.ssgproject.content_profile_cis_level1_server",
    "organization": "Mironsoft Hosting Fleet",
    "created": "2026-07-30",
    "excluded_rules": [
      {
        "rule_id": "xccdf_org.ssgproject.content_rule_partition_for_var_tmp",
        "reason": "Fixed disk layout from provider image, repartitioning risks downtime",
        "compensating_control": "noexec,nosuid mount options applied to /var/tmp instead",
        "approved_by": "ops-lead",
        "review_date": "2026-10-30"
      }
    ]
  }
}

Diese dokumentierte Ausnahme bleibt Teil der Compliance Automatisierung, wird aber nachvollziehbar von einem echten Prüfungsversagen unterschieden. Ein Tailoring-File sollte, wie jede andere Konfiguration auch, versioniert und über die gleiche Ansible-Pipeline verteilt werden wie das Basisprofil selbst.

9. OpenSCAP im Vergleich zu anderen Compliance Tools

Die folgende Tabelle ordnet OpenSCAP im Vergleich zu anderen verbreiteten Werkzeugen für Compliance Automatisierung unter Linux ein.

Werkzeug Lizenz Remediation Besonderheit
OpenSCAP + SSG Quelloffen, kostenlos Automatisch generierbar Standardisierte SCAP-Profile, breite Standard-Abdeckung
CIS-CAT Pro Kostenpflichtig Nur Hinweise, kein Auto-Fix Historische Trend-Reports inklusive
Ansible-Lockdown Rollen Quelloffen, kostenlos Direkt in Ansible Keine eigenständige Bewertung, nur Umsetzung
Chef InSpec Quelloffen, Enterprise kostenpflichtig Nur Bewertung, kein Auto-Fix Eigene Ruby-basierte Profil-DSL
Kommerzielle Cloud-Compliance-Suiten Kostenpflichtig Teils automatisiert Zentrale Dashboards über Serverflotten hinweg

OpenSCAP ist damit die einzige quelloffene Lösung, die sowohl standardisierte Bewertung als auch automatisch generierte Remediation aus einer einzigen Compliance Automatisierung Quelle liefert, ohne Lizenzkosten oder Abhängigkeit von einem externen Anbieter.

Mironsoft

Compliance Automatisierung, OpenSCAP-Rollout und Continuous Compliance für Linux Server

Compliance als laufenden Prozess statt Momentaufnahme?

Wir richten OpenSCAP mit passendem SCAP-Profil ein, generieren getestete Remediation-Playbooks und integrieren Continuous Compliance Checks in eure bestehende Deployment-Pipeline.

Profil-Auswahl

Passendes SCAP-Profil je Distribution und Compliance-Ziel

Remediation

Automatisch generierte, in Staging getestete Ansible-Playbooks

Continuous Compliance

Wiederkehrende Scans mit Alerting bei neu aufgetretenen Abweichungen

10. Zusammenfassung

Compliance Automatisierung mit OpenSCAP ersetzt manuelle Checklisten durch wiederholbare, maschinenlesbare Scans gegen anerkannte SCAP-Profile aus dem SCAP Security Guide. Der Prozess umfasst Profilauswahl passend zur Distribution, einen ersten rein bewertenden Scan, automatisch generierte, in Staging getestete Remediation-Skripte, und die Auswertung von HTML- sowie XML-Reports mit Fokus auf kritische Fails statt auf die reine Prozentzahl.

Nachhaltig wird Compliance Automatisierung erst durch Integration in Deployment-Pipelines oder einen dedizierten Daemon wie oscapd, ergänzt um dokumentiertes Tailoring für organisationsspezifische Ausnahmen. Wer diesen Kreislauf etabliert, verwandelt Compliance von einer einmaligen Audit-Vorbereitung in einen laufenden, beobachtbaren Betriebszustand.

Compliance Automatisierung mit OpenSCAP — Das Wichtigste auf einen Blick

SCAP Security Guide

Fertige Profile für CIS Benchmark, PCI-DSS und weitere Standards, passend zur Distribution wählen.

Bewertung vor Remediation

Erster Scan immer rein lesend, generierte Remediation-Skripte zuerst in Staging testen.

Pipeline-Integration

Scan nach jedem Konfigurationsänderungslauf, um versehentliche Compliance-Regressionen zu erkennen.

Tailoring

Organisationsspezifische Ausnahmen dokumentiert im Tailoring-File, versioniert wie jede andere Konfiguration.

11. FAQ: Compliance Automatisierung mit OpenSCAP

1OpenSCAP vs. SCAP Security Guide?
OpenSCAP ist der Scanner, SSG liefert die fertigen Profile mit den Kontrollen.
2Kann OpenSCAP automatisch beheben?
Ja, per generate fix als Bash-Skript oder Ansible-Playbook aus fehlgeschlagenen Kontrollen.
3Remediation direkt auf Produktion?
Nein, zuerst Staging-Test, da manche Kontrollen Funktionalität beeinträchtigen können.
4Was bedeutet Status Error?
Regel technisch nicht auswertbar, erfordert manuelle Nachprüfung statt automatischer Einordnung.
5Richtiges Profil auswählen?
Exakt zur Distributionsversion passend wählen, da SSG-Profile distributionsspezifisch sind.
6Was ist Tailoring?
Separate Datei, die Ausnahmen vom Basisprofil dokumentiert, ohne dieses selbst zu ändern.
7Integration in Pipeline?
Als Ansible-Task nach jedem Änderungslauf, mit Stop bei kritischen Fehlschlägen.
8Was ist oscapd?
Ein Daemon für geplante, wiederkehrende Scans direkt auf dem Zielsystem.
9Ist OpenSCAP kostenlos?
Ja, vollständig quelloffen, im Gegensatz zu manchen kommerziellen Alternativen.
10Ersetzt ein hoher Score das Audit?
Nein, entscheidend ist die Liste konkreter Fails nach Kritikalität, nicht nur die Prozentzahl.