Compliance controle met OpenSCAP en Ansible

Door: Arjan Braam, Linux consultant bij Conclusion Xforce

De combinatie van Ansible en OpenSCAP is perfect om systemen te controleren en op een geautomatiseerde manier veilig te houden.

16 maart 2021   |   Blog   |   Door: Conclusion Xforce

Deel

xforce beeld blog OpenSCAP

OpenSCAP biedt een groot aantal mogelijkheden en profielen om je systemen te toetsen. Daarnaast is het mogelijk een Ansible playbook te maken die de gevonden problemen op kan lossen. In dit blog gaan we aan de slag om vanuit een OpenSCAP een rapport en een playbook te maken.

OpenSCAP is voor de meest gangbare Linux distributies beschikbaar en zit meestal in de standaard OS repository. Voor deze uitleg gebruiken we Fedora 33 systeem met een grafische desktop zodat we ook aan de slag kunnen met de SCAP Workbench. Met de OpenSCAP toolset kun je rapporteren en controleren op de veiligheidsproblemen en kwetsbaarheden op je systemen. OpenSCAP gebruikt hier een groot aantal profielen voor en biedt ook de mogelijkheid om deze profielen zelf aan te passen aan de eigen beveiligingseisen.

Als eerste installeren we de oscap tool openscap-scanner en hiermee kunnen we oscap gebruiken op het systeem. Als tweede stap installeren we de scap-security-guide zodat we een aantal standaard scap security profielen hebben. Deze profielen worden in de map /usr/share/xml/scap/ssg/content opgeslagen. Als laatste installeren we SCAP-workbench wat een grafische interface is om SCAP- profielen mee te maken en aan te passen.

Met de onderstaande commando’s worden de benodigde pakketten geïnstalleerd en kun je zien welke profielen er beschikbaar zijn in een Fedora data stream. 

We maken hier gebruik maken van het “Standard Systems Security Profile for Fedora” profiel en deze wordt standaard geïnstalleerd.

[root@fedora33 openSCAP]# dnf install scap-security-guide openscap-scanner scap-workbench

[root@fedora33 openSCAP]# oscap info /usr/share/xml/scap/ssg/content/ssg-fedora-ds.xml  

Er zijn een groot aantal SCAP profielen beschikbaar en dat verschilt per OS distributie maar ook voor bepaalde applicaties zoals Firefox, JBoss FUSE en Red Hat Openshift Platform. Op de OpenSCAP website is een overzicht van de ondersteunde profielen. Een aantal voorbeelden van profielen zijn: PCI-DSS, NIST, CJIS en de CIS Benchmark.

Vanuit de oscap tool op het systeem kan er een duidelijk overzicht gemaakt worden van de inhoud van zo’n SCAP-profiel. Dit geeft alleen een overzicht van de punten die in het SCAP-profiel staan en waar een systeem aan moet voldoen. Met het onderstaande commando kan er zo’n SCAP-rapport gemaakt worden in html formaat.

[root@fedora33 openSCAP]# oscap xccdf generate guide \

 --profile xccdf_org.ssgproject.content_profile_standard \

/usr/share/xml/scap/ssg/content/ssg-fedora-ds.xml \

> security-guide.html

Het scannen van een systeem om te controleren of het compliant is met het gekozen profiel kan met onderstaand commando gedaan worden. Dit commando moet als root uitgevoerd worden omdat het grootste gedeelte van de controlepunten root rechten nodig zijn. Tijdens deze analyse van het systeem worden de resultaten opgeslagen in een xml file.

[root@fedora33 openSCAP]# oscap xccdf eval \

--profile xccdf_org.ssgproject.content_profile_standard \

--results /root/results.xml \

/usr/share/xml/scap/ssg/content/ssg-fedora-ds.xml

Voor het leesbaar maken vanuit het xml bestand kan deze geëxporteerd worden naar html formaat.

[root@fedora33 openSCAP]# oscap xccdf generate report \

results.xml > results.html

Met het volgende commando kan er een Ansible playbook gemaakt worden van het gebruikte profiel en de daar in gevonden punten. Dit commando geldt als voorbeeld want we gaan in de verdere stappen aan de slag met SCAP-Workbench om een eigen profiel te maken.

[root@fedora33 ~]# oscap xccdf generate fix \

--profile xccdf_org.ssgproject.content_profile_standard \

--fix-type ansible /usr/share/xml/scap/ssg/content/ssg-fedora-ds.xml \

> standard-profile.yml

SCAP Workbench

SCAP Workbench is een grafische tool die gebruikt kan worden voor het aanpassen van je profiel. In de onderstaande screenshots gaan we stap voor stap een wat basis aanpassingen doen.

In het opstart venster van SCAP Workbench moet je aangeven voor welk OS je de tool gaat gebruiken. En kiezen in ons geval voor Fedora.

xforce security guide

In het volgende scherm kun je kiezen welk profiel je wilt aanpassen of gebruiken. We kiezen hier voor “Standard Systems Security Profile for Fedora” en kiezen voor “Customize”. In het volgende venster kunnen we een profile-id opgeven voor het profiel wat we gaan maken.

New profile ID: xccdf_org.ssgproject.content_profile_standard_xforce

In het volgende scherm krijg je een overzicht van al de aanpassingen en controles die er in het standaard “Standard Systems Security Profile for Fedora” profiel zitten. Om het voorbeeld overzichtelijk te houden de-selecteren we alle controles. 

xforce deselecteren

Geef als zoekopdracht “console screen locking” op. 

We selecteren de optie “console screen locking” en deze controle zal ervoor zorgen dat de tools screen en tmux geïnstalleerd worden als we het Ansible playbook uitvoeren.

xforce ansible playbook

Geef “OK” en je komt terug in het aangepaste profile venster. Hier heb je de mogelijkheid om je aanpassingen op te slaan met de optie “Save customization only”. 

Dit wordt opgelagen als een tailoring file. Dit tailoring bestand kan gebruikt worden zodat de gemaakte aanpassingen toegepast kunnen worden zonder dat het volledig profiel aangepast hoeft te worden.

In plaats van het op te slaan als tailoring file is er ook de optie om gelijk een Ansible playbook te maken. We kiezen de optie “Generate remediaton role” voor ansible.

xforce Generate remediaton

Dit laat een Ansible playbook remediation.yml file zien en zal ervoor zorgen dat de aanpassingen uitgevoerd worden.

[root@fedora33 ~]# ansible-playbook --connection=local remediation.yml

Tot Slot

In dit blog hebben we een aantal stappen gezet om een overzicht te krijgen met wat de mogelijkheden zijn van OpenSCAP. Hopelijk is het gelukt om een beeld te schetsen dat de combinatie van OpenSCAP en Ansible een zeer krachtige tool kan zijn om systemen veilig en compliant te houden.