Benchmarks

Una anàlisi de conformitat compara el sistema objectiu amb una referència (el benchmark), que és un conjunt de regles de seguretat per avaluar la conformitat o la no conformitat del sistema.

Un benchmark es defineix amb la norma SCAP, que permet a les organitzacions automatitzar la manera com supervisen les vulnerabilitats i s’asseguren que compleixen les polítiques de seguretat.

Estructura d’un benchmark

Un benchmark inclou un fitxer XCCDF que descriu les regles de conformitat i les proves que permeten avaluar-les. Aquestes proves es poden escriure en format OVAL o SCE.

Cyberwatch admet dos formats de benchmark:

  • un fitxer ZIP que conté com a mínim un fitxer XCCDF i, si escau, els altres fitxers (scripts SCE o OVAL) els camins relatius dels quals s’han declarat al fitxer XCCDF
  • un fitxer en format DataStream

Exemple mínim de fitxer XCCDF

Exemple de fitxer XCCDF extret del benchmark del CIS per a Ubuntu Linux 22.04 LTS que defineix un benchmark amb una sola regla de conformitat:

<xccdf:Benchmark id="xccdf_org.cisecurity.benchmarks_benchmark_1.0.0_CIS_Ubuntu_Linux_22.04_LTS_Benchmark" xmlns:xccdf="http://checklists.nist.gov/xccdf/1.2" xmlns="http://checklists.nist.gov/xccdf/1.2" >
  <xccdf:title>CIS Ubuntu Linux 22.04 LTS Benchmark</xccdf:title>
  <xccdf:platform idref="cpe:2.3:o:canonical:ubuntu_linux:22.04:*:*:*:lts:*:*:*"/>
  <xccdf:Rule id="xccdf_org.cisecurity.benchmarks_rule_1.1.5.3_Ensure_noexec_option_set_on_varlog_partition" role="full" selected="false" weight="1.0">
    <xccdf:title xml:lang="en">Ensure noexec option set on /var/log partition</xccdf:title>
    <xccdf:description xml:lang="en">
      <xhtml:p><xhtml:span class="inline_block">noexec</xhtml:span> mount option specifies that the filesystem cannot contain executable binaries.</xhtml:p>
    </xccdf:description>
    <xccdf:rationale xml:lang="en">
      <xhtml:p> Since the <xhtml:span class="inline_block">/var/log</xhtml:span> filesystem is only intended for log files, set this option to ensure that users cannot run executable binaries from <xhtml:span class="inline_block">/var/log</xhtml:span>.</xhtml:p>
    </xccdf:rationale>
    <xccdf:fixtext xml:lang="en">
      <xhtml:div>
        <xhtml:p><xhtml:strong>IF</xhtml:strong> the <xhtml:span class="inline_block">/var/log</xhtml:span> partition exists, edit the <xhtml:span class="inline_block">/etc/fstab</xhtml:span> file and add <xhtml:span class="inline_block">noexec</xhtml:span> to the fourth field (mounting options) for the <xhtml:span class="inline_block">/var/log</xhtml:span> partition.</xhtml:p>
        <xhtml:p>Run the following command to remount <xhtml:span class="inline_block">/var/log</xhtml:span> with the configured options:    </xhtml:p>
        <xhtml:code class="code_block"># mount -o remount /var/log</xhtml:code>
      </xhtml:div>
    </xccdf:fixtext>
    <xccdf:complex-check operator="AND">
      <check system="http://oval.mitre.org/XMLSchema/oval-definitions-5">
        <check-content-ref href="CIS_Ubuntu_Linux_22.04_LTS_Benchmark_v1.0.0-oval.xml" name="oval:org.cisecurity.benchmarks.canonical_ubuntu_linux_22:def:2956581"/>
      </check>
    </xccdf:complex-check>
  </xccdf:Rule>
</xccdf:Benchmark>

Alguns elements que cal tenir en compte en aquest document:

  • L’identificador del benchmark, definit per l’atribut id de l’etiqueta <xccdf:Benchmark>, que serveix de referència per a Cyberwatch
  • La plataforma objectiu es defineix en format CPE amb l’atribut idref de l’etiqueta <xccdf:platform>. També es poden declarar una o diverses plataformes en una regla si se’n vol restringir l’aplicació
  • A la definició de la regla <xccdf:Rule>, el contingut de l’etiqueta <xccdf:complex-check> permet llistar les proves que cal executar i els camins relatius per accedir als fitxers on es defineixen

En aquest exemple, l’única regla fa referència a una prova en format OVAL; per tant, el benchmark contindrà aquest fitxer XCCDF i el fitxer OVAL declarat. Es podrà distribuir en format ZIP o en format DataStream.

En canvi, si la regla fes referència a un script en format SCE, declarant per exemple:

<check system="http://open-scap.org/page/SCE">
  <check-import import-name="stdout"/>
  <check-content-ref href="sce/ensure_no_exec_option.sh"/>
</check>

El benchmark contindria el fitxer XCCDF i un directori sce amb l’script de shell ensure_no_exec_option.sh. Caldria comprimir-ho tot en format ZIP per poder afegir-ho a Cyberwatch, tal com es descriu a continuació.

L’estructura de fitxers dins del fitxer ZIP ha de respectar obligatòriament els camins relatius declarats al fitxer XCCDF.

Afegir un benchmark

  1. Aneu a Administració > Benchmarks
  2. Feu clic al botó «Afegeix»
  3. Seleccioneu el benchmark que voleu afegir, en format ZIP o DataStream
  4. Feu clic a «Importa»

Durant la importació, si l’identificador del benchmark ja existeix a Cyberwatch, el benchmark s’actualitza. En cas contrari, es crea un benchmark nou.

Només es poden importar benchmarks nous per a les plataformes compatibles amb el mòdul de gestió de la conformitat de Cyberwatch. Per tant, es pot importar un benchmark per a altres versions de sistemes operatius, com ara macOS o Ubuntu 12.04, però no un benchmark que permeti verificar la configuració d’un programari o d’un dispositiu de xarxa, per exemple.

Llista de plataformes compatibles

A la taula següent s’indiquen les plataformes compatibles i els benchmarks ja instal·lats:

Sistemes operatiusCPE de la plataformaBenchmarks instal·lats
AlmaLinuxcpe:/o:almalinux:almalinux:8, …CIS Alma Linux OS 8 Benchmark
CIS AlmaLinux OS 9 Benchmark
Amazon Linux 2cpe:/o:amazon:linux_2CIS Amazon Linux 2 Benchmark
CIS Amazon Linux 2023 Benchmark
Apple macOScpe:/o:apple:mac_os_x:10.15.0, …CIS Apple macOS 10.15 Catalina Benchmark
CIS Apple macOS 11.0 Big Sur Benchmark
CIS Apple macOS 12.0 Monterey Benchmark
CIS Apple macOS 13.0 Ventura Benchmark
CIS Apple macOS 14.0 Sonoma Benchmark
CIS Apple macOS 15.0 Sequoia Benchmark
CentOS Linuxcpe:/o:centos:centos:6, …CIS CentOS Linux 6 Benchmark
CIS CentOS Linux 7 Benchmark
Debiancpe:/o:debian:debian_linux:9.0, …CIS Debian Linux 9 Benchmark
CIS Debian Linux 10 Benchmark
CIS Debian Linux 11 Benchmark
CIS Debian Linux 12 Benchmark
Fedora Linuxcpe:/o:fedora:linux:28CIS Fedora 28 Family Linux Benchmark
Microsoft Windows 8cpe:/o:microsoft:windows_8CIS Microsoft Windows 8 Benchmark
Microsoft Windows 10cpe:/o:microsoft:windows_10CIS Microsoft Windows 10 Enterprise Benchmark
CIS Microsoft Intune for Windows 10 Benchmark
Microsoft Windows 11cpe:/o:microsoft:windows_11CIS Microsoft Windows 11 Enterprise Benchmark
CIS Microsoft Intune for Windows 11 Benchmark
Microsoft Windows Server 2008cpe:/o:microsoft:windows_server_2008,
cpe:/o:microsoft:windows_server_2008:r2
CIS Microsoft Windows Server 2008 (non-R2) Benchmark
CIS Microsoft Windows Server 2008 R2 Benchmark
Microsoft Windows Server 2012cpe:/o:microsoft:windows_server_2012,
cpe:/o:microsoft:windows_server_2012:r2
CIS Microsoft Windows Server 2012 (non-R2) Benchmark
CIS Microsoft Windows Server 2012 R2 Benchmark
Microsoft Windows Server 2016cpe:/o:microsoft:windows_server_2016CIS Microsoft Windows Server 2016 Benchmark
Microsoft Windows Server 2019cpe:/o:microsoft:windows_server_2019CIS Microsoft Windows Server 2019 Benchmark
Microsoft Windows Server 2022cpe:/o:microsoft:windows_server:2022CIS Microsoft Windows Server 2022 Benchmark
Microsoft Windows Server 2025cpe:/o:microsoft:windows_server:2025CIS Microsoft Windows Server 2025 Benchmark
Oracle Linuxcpe:/o:oracle:linux:6, …CIS Oracle Linux 6 Benchmark
CIS Oracle Linux 7 Benchmark
CIS Oracle Linux 8 Benchmark
CIS Oracle Linux 9 Benchmark
Red Hat Enterprise Linuxcpe:/o:redhat:redhat_enterprise_linux:6, …CIS Red Hat Enterprise Linux 6 Benchmark
CIS Red Hat Enterprise Linux 7 Benchmark
CIS Red Hat Enterprise Linux 8 Benchmark
CIS Red Hat Enterprise Linux 9 Benchmark
Rocky Linuxcpe:/o:rocky:rocky_linux:8, …CIS Rocky Linux 8 Benchmark
CIS Rocky Linux 9 Benchmark
SUSE Linux Enterprise Server
OpenSUSE Leap
cpe:/o:suse:suse_linux_enterprise_server:12, …CIS SUSE Linux Enterprise 12 Benchmark
CIS SUSE Linux Enterprise 15 Benchmark
Ubuntucpe:/o:canonical:ubuntu_linux:16.04, …CIS Ubuntu Linux 14.04 LTS Benchmark
CIS Ubuntu Linux 16.04 LTS Benchmark
CIS Ubuntu Linux 18.04 LTS Benchmark
CIS Ubuntu Linux 20.04 LTS Benchmark
CIS Ubuntu Linux 22.04 LTS Benchmark
CIS Ubuntu Linux 24.04 LTS Benchmark
CIS Ubuntu Linux 26.04 LTS Benchmark
Nucli Linuxcpe:/o:linux:linux_kernel:*CIS Docker Benchmark

Estàndards compatibles

Les versions dels components SCAP compatibles, amb el seu espai de noms XML, són:

Els espais de noms XML no reconeguts s’ignoren. Per tant, un intent d’importació d’un benchmark amb una versió de DataStream o XCCDF desconeguda acabarà amb un error de fitxer XCCDF no trobat.

Enllaços útils

Glossari

SCAP

La norma SCAP (Security Content Automation Protocol) inclou diverses normes de components dissenyades per funcionar conjuntament. Per a cada component, la norma defineix un format de document amb la sintaxi i la semàntica de les estructures de dades internes. Totes les normes de components es basen en XML i cada norma de component defineix el seu propi espai de noms XML.

XCCDF

XCCDF (Extensible Configuration Checklist Description Format) és el llenguatge que s’utilitza per descriure les llistes de control de seguretat. El llenguatge està dissenyat per admetre l’intercanvi d’informació, la generació de documents, l’adaptació a l’organització i a cada situació, les proves de conformitat automatitzades i la puntuació de la conformitat.

El llenguatge no conté cap ordre per fer l’anàlisi i és principalment descriptiu. Des del document XCCDF es pot fer referència a altres documents de components (OVAL i scripts SCE).

OVAL

OVAL (Open Vulnerability and Assessment Language) és un llenguatge declaratiu per fer afirmacions lògiques sobre l’estat del sistema. S’utilitza per descriure les vulnerabilitats de seguretat o la configuració desitjada dels sistemes. Les definicions OVAL defineixen un estat segur de determinats objectes d’un ordinador, per exemple els fitxers de configuració, els permisos dels fitxers o els processos. Les definicions OVAL s’avaluen amb un intèrpret anomenat escàner.

Els conceptes principals del document OVAL són les definicions, les proves, els objectes i els estats. Cada definició especifica les proves que s’han de satisfer. Una prova relaciona un objecte i un estat. La prova té èxit quan un recurs designat per un objecte determinat compleix els requisits d’un estat corresponent.

SCE

SCE (Script Check Engine) és una extensió que permet executar scripts (escrits, per exemple, en Bash, PowerShell, …) a partir de la política SCAP. Us permet fer que els vostres scripts siguin interoperables amb la vostra política de seguretat.

DataStream

DataStream és un format que permet agrupar en un sol fitxer XML els diferents components SCAP del benchmark; en el nostre cas, XCCDF i OVAL.

CPE

El CPE (Common Platform Enumeration) serveix per identificar les plataformes i els sistemes informàtics amb noms definits sense ambigüitat.