oscap
Siehe auch
oscap ist das „Open Security Content Automation Protocol“ (OpenSCAP) Kommandozeilen-Tool.
Konfigurationsanweisungen werden in OVAL spezifiziert und können aus einer XCCDF-formatierten Checkliste aufgerufen werden. Diese finden sich für RHEL im Red Har OVAL Repository kategorisiert nach:
http://www.redhat.com/security/data/oval/com.redhat.rhsa-all.xml
http://www.redhat.com/security/data/oval/com.redhat.rhsa-RHEL8.xml
http://www.redhat.com/security/data/oval/com.redhat.rhsa-2017.xml
http://www.redhat.com/security/data/oval/com.redhat.rhsa-20130254.xml
Für CentOS (und viele andere) finden sich OVALs hier: https://oval.cisecurity.org/repository/download
Installation und Konfiguration
Tipp
Auf einer Fedora-Workstation macht sich dnf -y install scap-workbench
(GTK) gut.
# just the openscap scanner, neeeded for example for *scap-workbench* via SSH
yum -y install openscap-scanner
# this installs package "openscap-scanner" including SCAP definiton files, documentation and remediation tools
yum -y install scap-security-guide
Profile
Unter /usr/share/xml/scap/ssg/content
finden sich die verfügbaren Security-Profile. Das Kommando listet die für die Evaluation zur Verfügung stehenden Profile auf:
oscap info /usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml
Auditing / Scanning
Gegen alle bekannten Security Vulnerabilities prüfen (RHSA, CVE) - das dauert einige Minuten:
wget http://www.redhat.com/security/data/oval/com.redhat.rhsa-all.xml
oscap --verbose INFO oval eval \
--report rhsa-all-report.html \
--results rhsa-all-report.xml \
com.redhat.rhsa-all.xml
Gegen Schwachstellen aus dem Jahr 2017 prüfen:
wget https://www.redhat.com/security/data/oval/com.redhat.rhsa-2017.xml
oscap --verbose INFO oval eval \
--report rhsa-2017-report-2017.html \
--results rhsa-2017-report-2017.xml \
com.redhat.rhsa-all.xml
System gegen eine ganz bestimmte Schwachstelle prüfen:
wget http://www.redhat.com/security/data/oval/com.redhat.rhsa-20130254.xml
oscap --verbose INFO oval eval \
--report rhsa-20130254-report.html \
--results rhsa-20130254-report.xml \
com.redhat.rhsa-20130254.xml
System auditieren (SSG XCCDF Benchmark):
oscap --verbose INFO xccdf eval \
--fetch-remote-resources \
--profile xccdf_org.ssgproject.content_profile_rht-ccp \
--report ssg-rhel8-report.html \
--results ssg-rhel8-xccdf-result.xml \
/usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml
System auditieren (SSG USGCB):
oscap --verbose INFO xccdf eval \
--cpe usgcb-rhel5desktop-cpe-dictionary.xml \
--fetch-remote-resources \
--oval-results \
--profile united_states_government_configuration_baseline \
--report usgcb-rhel5desktop.report.html \
--results usgcb-rhel5desktop-xccdf.xml.result.xml \
/usr/share/xml/scap/ssg/content/usgcb-rhel5desktop-xccdf.xml
RHEL8-System gegen CIS auditieren (gibt es allerdings Stand 2020-11 noch nicht):
oscap --verbose INFO xccdf eval \
--datastream-id scap_org.open-scap_datastream_from_xccdf_ssg-rhel8-xccdf-1.2.xml \
--fetch-remote-resources \
--oval-results \
--profile xccdf_org.ssgproject.content_profile_cis \
--report cis-rhel8.html \
--results cis-rhel8.xml \
--results-arf cis-rhel8.arf \
--xccdf-id scap_org.open-scap_cref_ssg-rhel8-xccdf-1.2.xml \
/usr/share/xml/scap/ssg/content/ssg-rhel8-xccdf.xml
Remediation-Skripte
Mit Tools und Kickstart-Dateien aus diesen Ordnern kann man den gewünschten Level erreichen:
Kickstart:
/usr/share/scap-security-guide/kickstart
Bash:
/usr/share/scap-security-guide/bash
Ansible:
/usr/share/scap-security-guide/ansible
Alle dort abgelegten Skripte/Tools/Playbooks lassen sich auch dynamisch erzeugen. Vorher muss man prüfen, ob es ein solches Profil für die eigene Plattform gibt, anschliessend das System scannen und das Ansible-Playbook generieren:
oscap info \
/usr/share/xml/scap/ssg/content/ssg-rhel7-ds.xml
oscap xccdf eval \
--profile ospp \
--results ospp-results.xml
/usr/share/xml/scap/ssg/content/ssg-rhel7-ds.xml
oscap xccdf generate fix \
--fix-type ansible \
--output ospp-remediations.yml \
ospp-results.xml
--fix-type
muss dabei vom Typ bash, ansible, puppet oder anaconda sein.
Built on 2024-11-18