Verificar la conformitat d’un sistema Linux amb la guia ANSSI BP-028
Cyberwatch avalua la conformitat dels sistemes Linux amb la guia ANSSI-BP-028 v2.0 «Configuration recommendations of a GNU/Linux system», publicada per l’ANSSI.
El benchmark ANSSI_BP028_Linux cobreix les 80 recomanacions de la guia, repartides en 176 regles de conformitat: 164 es verifiquen automàticament i 12 s’han de verificar manualment. S’aplica a totes les distribucions Linux compatibles amb el mòdul de conformitat: Debian, Ubuntu, Red Hat Enterprise Linux i les seves derivades (AlmaLinux, Rocky Linux, Oracle Linux, CentOS), Fedora, SUSE Linux Enterprise Server i openSUSE Leap, Amazon Linux i Photon OS.
Marcs de conformitat
La guia classifica cada recomanació en un dels seus quatre nivells: Mínim, Intermedi, Reforçat i Alt (vegeu la interpretació dels nivells). Aquests nivells són acumulatius: les recomanacions s’apliquen des del nivell mínim fins al nivell objectiu. Per tant, cada marc de conformitat de nivell conté les regles d’aquest nivell i dels nivells inferiors:
| Marc de conformitat | Nivell objectiu | Recomanacions | Regles verificades automàticament |
|---|---|---|---|
ANSSI_BP028_level_1 | Mínim | 11 | 19 |
ANSSI_BP028_level_2 | Intermedi | 40 | 110 |
ANSSI_BP028_level_3 | Reforçat | 58 | 140 |
ANSSI_BP028_level_4 | Alt | 80 | 164 |
El marc de conformitat ANSSI_BP028 conté totes les regles del benchmark, com ANSSI_BP028_level_4.
Per avaluar un actiu, afegiu-li el marc de conformitat del nivell objectiu, i només aquest: afegir-ne diversos nivells no afegeix cap regla. Aquests marcs de conformitat són presents per defecte a Cyberwatch, però no s’assignen a cap actiu. Per assignar-los automàticament, per exemple a tots els servidors Linux, utilitzeu regles d’actius.
Organització de les regles
- Cada regla té una referència de la forma
ANSSI-BP028-R<n>-<nnn>, onR<n>és el número de la recomanació a la guia, per exempleANSSI-BP028-R12-001. - La categoria de la regla reprèn el número i el títol de la recomanació, per exemple «R12 – Paramétrer les options de configuration du réseau IPv4»: permet filtrar les regles per recomanació.
- Una recomanació té una regla per paràmetre que cal verificar (un paràmetre del nucli, una opció de muntatge, una directiva sudo), de manera que cada paràmetre es pugui corregir o ignorar per separat. Les recomanacions R15 a R27, que tracten sobre les opcions de compilació del nucli, són l’excepció: una regla per recomanació.
- El nivell d’una regla sempre és el de la seva recomanació a la guia.
- El títol, la descripció, l’objectiu i la remediació de les regles estan redactats en anglès. La descripció precisa què verifica la regla, on ho llegeix, i el comportament per defecte de les distribucions.
Tipus de regles
- Regles automatitzades: la regla verifica el que demana la guia.
- Controls parcials: quan una recomanació és en part organitzativa, la regla en verifica la part tècnica. La seva descripció comença amb el que es verifica i el que no («This rule checks… It does not check…»). Per exemple, la regla de R80 verifica que un tallafoc local està actiu, però no que cada servei només escolti a les interfícies de xarxa necessàries.
- Regles manuals: la recomanació no es pot verificar al sistema. La regla no s’avalua en cap actiu i no pertany a cap marc de conformitat. Es llista amb la menció «Regla manual» a la pàgina del benchmark
ANSSI_BP028_Linux, a Administració > Benchmarks.
Les recomanacions que cal verificar manualment són les següents:
| Recomanació | Nivell |
|---|---|
| R2 – Configurer le BIOS/UEFI | Intermedi |
| R4 – Remplacer les clés préchargées | Alt |
| R51 – Changer les secrets et droits d’accès dès l’installation | Reforçat |
| R58 – N’installer que les paquets strictement nécessaires | Mínim |
| R60 – Utiliser des dépôts de paquets durcis | Reforçat |
| R64 – Configurer les privilèges des services | Reforçat |
| R65 – Cloisonner les services | Reforçat |
| R66 – Durcir les composants de cloisonnement | Alt |
| R70 – Séparer les comptes système et d’administrateur de l’annuaire | Intermedi |
| R77 – Protéger la base de données des scellés | Alt |
| R78 – Cloisonner les services réseau | Reforçat |
| R79 – Durcir et surveiller les services exposés | Intermedi |
Llegir els resultats
Les regles s’executen amb els drets d’administrador. Per tant, un actiu analitzat sense agent ha de disposar d’un compte d’escaneig amb els drets sudo (vegeu els requisits del compte d’escaneig).
Els estats de les regles són els mateixos que per als altres marcs de conformitat:
- Èxit: l’actiu és conforme a la regla
- Fallada: l’actiu no és conforme a la regla
- Omesa: l’actiu s’ha analitzat sense drets sudo
- No aplicable: la regla no s’aplica a l’actiu, per exemple una regla de particionament en un contenidor, una regla sudo sense sudo instal·lat, o una regla d’arrencada segura en una arquitectura sense UEFI; la sortida comença llavors amb
N/A:seguit del motiu - Anomalia: el control no s’ha pogut executar
La sortida de cada regla, visible a la pestanya «Conformitat» de l’actiu, detalla el que s’ha constatat. Per als scripts propis del marc de conformitat, la primera línia dona el veredicte (PASSED, FAILED o N/A: <raison>), seguit del valor esperat i del valor constatat.
Les regles R53-001, R54-001, R54-002, R56-001 i R57-001 recorren els sistemes de fitxers locals. Cadascuna s’atura al cap de 5 minuts: llavors està en fallada, i la seva sortida indica el sistema de fitxers on s’ha aturat el recorregut.
Requisits del compte d’escaneig sense agent
Sense agent, Cyberwatch eleva els seus drets amb sudo -n, sense terminal, i després executa un intèrpret d’ordres que executa altres programes. El compte d’escaneig ha de tenir els drets sudo descrits a Informació tècnica sobre les connexions sense agent per als sistemes Linux, per exemple cyberwatch ALL=(ALL) NOPASSWD:ALL.
Diverses recomanacions de la guia restringeixen sudo o l’accés al sistema, i poden bloquejar aquest compte. Quan les apliqueu, preveieu les excepcions següents, substituint cyberwatch pel nom del compte d’escaneig:
R38 (grup dedicat a sudo): afegiu el compte d’escaneig al grup autoritzat a executar sudo; si no, ja no pot elevar els seus drets:
usermod -aG sudogrp cyberwatchR39 (directives de configuració de sudo): les directives
noexecirequirettyimpedeixen l’anàlisi. Afegiu per al compte d’escaneig les dues sobreescriptures següents, en dues línies diferents:Defaults:cyberwatch !noexec Defaults:cyberwatch !requirettysudo-rs, el sudo per defecte a partir d’Ubuntu 25.10, ignora qualsevol línia
Defaultsque contingui un paràmetre que no coneix: una línia únicaDefaults:cyberwatch !noexec,!requirettys’ignoraria,!noexecinclòs. sudo-rs no coneixrequiretty: en un actiu en què és l’únic sudo instal·lat, afegiu només la línia!noexec, perquè el seuvisudorebutja la segona. Les regles de R39 llisten aquestes sobreescriptures a la seva sortida, sense comptar-les com a desviacions.- R40 a R44 (especificacions de sudo): les regles ignoren les especificacions la llista d’usuaris de les quals és exactament el compte que executa l’anàlisi. Per tant, la línia
cyberwatch ALL=(ALL) NOPASSWD:ALLno les fa fallar. R47 (confinament SELinux dels usuaris): un usuari SELinux
user_uno pot utilitzar sudo. Abans d’associar els usuaris per defecte auser_u, associeu el compte d’escaneig aunconfined_u:semanage login -a -s unconfined_u cyberwatch- R80 (superfície d’atac dels serveis de xarxa): autoritzeu SSH abans d’activar el tallafoc, per no interrompre les anàlisis.
L’agent de Cyberwatch, que s’executa per defecte com a root, no es veu afectat per aquestes excepcions.
Recomanacions d’alt impacte
Algunes recomanacions no es corregeixen amb un simple canvi de configuració, o poden dificultar l’explotació. Abans d’aplicar-les, consulteu la guia i la remediació de cada regla:
- R15 a R27 (nivell Alt): opcions de compilació del nucli. Els nuclis de les distribucions no activen totes aquestes opcions: l’única correcció és recompilar el nucli o canviar-lo.
- R10 (nivell Reforçat): amb
kernel.modules_disabled = 1, el nucli rebutja qualsevol càrrega de mòdul fins al reinici següent, fins i tot per aroot. Els mòduls necessaris (controladors d’emmagatzematge, de xarxa o USB, sistemes de fitxers) s’han de carregar en l’arrencada. - R28 (nivell Intermedi): particionament tipus. Crear una partició després de la instal·lació requereix desplaçar dades, o fins i tot reinstal·lar el sistema.
- R39 (nivell Intermedi): la directiva
noexecfa fallar les ordres sudo que executen altres programes (gestors de paquets, scripts, reinicis de serveis) mentre no s’autoritzin una per una amb l’etiquetaEXEC.
Quan s’accepta una desviació, la regla es pot ignorar, amb un comentari que justifiqui aquesta decisió.
Diferències amb els altres marcs de conformitat
Security_Best_Practices
El marc de conformitat Security_Best_Practices és una base de bones pràctiques que s’assigna per defecte als servidors i a les estacions de treball. Per a Linux, té 45 regles, una part de les quals reprèn recomanacions de la guia BP-028, però no implementa la guia: els seus nivells es trien segons l’esforç de correcció esperat, i no segons el nivell de la recomanació.
Els marcs de conformitat ANSSI_BP028 cobreixen tota la guia, amb el nivell de cada recomanació. Tots dos es poden assignar al mateix actiu: quan una regla ANSSI reprèn el control d’una regla Security_Best_Practices, donen el mateix resultat.
Importació d’un DataStream ComplianceAsCode
El projecte ComplianceAsCode (paquet scap-security-guide) publica perfils ANSSI BP-028 als seus DataStreams. Aquests es poden importar com a benchmarks, però Cyberwatch no n’aplica els perfils: s’importen totes les regles del DataStream, sigui quin sigui el perfil, i només una part dels seus controls és compatible. ComplianceAsCode tampoc no ofereix cap perfil ANSSI per a Ubuntu.
Per avaluar un sistema Linux respecte a la guia, Cyberwatch recomana els marcs de conformitat ANSSI_BP028.