0x01. TERMES
Les langages :
OVAL : Open Vulnerability and Assessment Language OCIL : Open Checklist Interactive Language
Les formats :
XCCDF : Extensible Configuration Checklist Description Format
Les protocoles :
SCAP : Security Content Automation Protocol DS : DataStream
Les guides :
STIG : Security Technical Implementation Guide SSG : SCAP Security Guide
Les entités :
DISA : Defense Information Systems Agency ANSSI : Agence Nationale de la Sécurité des Systèmes d'Information NIST : National Institute of Standards and Technology RHEL : RedHat Enterprise Linux CIS : Community Internet Security
0x02. OVAL
OVAL est un langage normé XML. Ils se présentent sous la forme de fichier au format XML dont le balisage est les séquences permettent d'effectuer un ou plusieurs contrôles. C'est le programme d'interprétation qui se chargera d'effectuer ces opérations de contrôles selon le système, l'application ou l'appliance (application sous forme de machine virtuelle).
0x03. OCIL
OCIL est également un langage normé XML. Il représente l'interaction entre les contrôles et les options de contrôles. Le terme "questionnaire" revient dans les docum
0x01. XCCDF
XCCDF est un format de fichier, bien souvent utilisé pour l'interprétation machine d'un guide de recommandation de sécurité (SSG pour SCAP Security Guide). Ces fichiers documentaires permettent de documenter un contrôle ou une "remediation" (un code permettant la sécurisation).
0x04. OUTILS
Est mis à disposition plusieurs outils, dont :
- jOval :
-> outil développé en Java permettant l'intépretation des resources alimentant le protocole SCAP. Il est ainsi capable d'exploiter un XCCDF, un fichier OVAL ainsi que d'autres formats. Les données de sorties utilisent les standards : CSV, XML, JSON, ...
- oscap :
-> Developé par RedHat pour Linux, l'outil oscap (openscap) permet de faire des rapports détaillés avec la documentation associée, par exemple lors d'une évaluation si auditd n'est pas configuré pour surveiller les modifications de droits (SELinux par exemple) le rapport fournit du code shell (sh/bash) pour remédier au problème
- CISCAT :
-> Devlopé par le CIS, l'outil permet d'effectuer un audit ...
0x05. SCRIPTING AVEC OVAL
Obtenir la liste des ID d'un fichier OVAL (au format XML) :
grep -Poi '"oval:[a-z0-9_-]+:def:d+"' /usr/share/xml/scap/ssg/content/ssg-rhel7-oval.xml
Pour faire un contrôle, c'est à dire un appel à une définition OVAL :
oscap oval eval --id "oval:ssg-sebool_zoneminder_run_sudo:def:1" /usr/share/xml/scap/ssg/content/ssg-rhel7-oval.xml
Pour plusieurs contrôles :
for check in "oval:ssg-sebool_zoneminder_run_sudo:def:1" "oval:ssg-sebool_virt_use_rawip:def:1" "oval:ssg-sebool_virt_read_qemu_ga_data:def:1" oscap oval eval --id "$check" /usr/share/xml/scap/ssg/content/ssg-rhel7-oval.xml done
0x06. RAPPORTS XCCDF
Les rapports font un état du système en fonction du XCCDF définis ou associés selon que l'audit ait été fait avec un fichier DS (DataStream) ou un fichier XCCDF.
Rapport sur une installation CentOS durcie avec les STIG de la DISA
Rapport sur une installation classique Debian
Rapport sur une installation classique Ubuntu Server
0x07. RAPPORTS OVAL
Ces rapports font un état brute de fonderie du système en fonction du fichier OVAL, qui n'ont dont pas de filtre sur le niveau de conformité à avoir.
Rapport sur une installation CentOS durcie avec les STIG de la DISA
Rapport sur une installation classique Debian
Rapport sur une installation classique Ubuntu Server
=> Écrit par : Nicolas, le 21 octobre 2017