← Toutes les règles
SOCLE-RUN-SVC-006// systemd servicesmoyenneruntime effectif

Désactiver le serveur d'administration Cockpit

Désactive et arrête le serveur d'administration web Cockpit pour fermer son interface de connexion à distance sur le port TCP 9090.

Vérifié sur l’état résolu en cours d’exécution (ex. sshd -T, sysctl, systemctl show), attrape les drop-ins et Include qu’une lecture de fichier raterait. Réserve : runtime ≠ persistance ; une valeur correcte maintenant peut ne pas survivre à un redémarrage.

Un PASS prouve✓ actif maintenant✓ sur disque✓ survit au rebootle verdict qualifié →
FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0
Un seul check, mappé sur 1 norme

Pavois vérifie la configuration effective, l’état résolu et réellement appliqué, pas un fichier. Les scanners basés fichier (OVAL/SCAP, Lynis) ratent les Include, drop-ins et défauts runtime ; ce check voit ce qui est réellement en vigueur.

Un mapping est une référence croisée vers l’endroit où chaque norme situe cette exigence, ancrée et recoupée, pas une affirmation d’équivalence. Un check réussi est une preuve vers ces références, comment le lire.

Pourquoi cette règle

Cockpit est une console d'administration web qui fournit une forme de connexion à distance avec un contrôle administratif complet sur l'hôte, à l'écoute sur le port TCP 9090. Tout point d'administration exposé ou inutile élargit la surface d'attaque et offre une cible supplémentaire pour les attaques sur identifiants et l'exploitation. Si l'administration web à distance n'est pas explicitement requise, le service doit être désactivé.

Ce que vérifie Pavois

Pavois interroge systemd sur l'état effectif de cockpit.service (systemctl is-enabled / is-active). Cockpit est généralement activé par socket, donc un scan de fichier raterait le fait que cockpit.socket peut lancer le service à la demande, c'est l'état systemd vivant qui révèle si le point d'administration est joignable.

describe service('cockpit.service') do
  it { should_not be_enabled }
  it { should_not be_running }
end

Comment vérifier qu’elle est appliquée

Confirmez que le service et son socket sont désactivés :

systemctl is-enabled cockpit.service cockpit.socket
systemctl is-active cockpit.service cockpit.socket

Attendez disabled/masked et inactive. Vérifiez que rien n'écoute sur 9090 : ss -lntp | grep 9090 ne doit rien retourner.

Inspecter et investiguer

Inspectez l'unité avec systemctl status cockpit.service et journalctl -u cockpit. Les tentatives de connexion web et les sessions apparaissent aussi dans le journal et les logs PAM/auth. Confirmez la disparition du socket d'écoute avec ss -lntp 'sport = :9090'.

Remédiation

Le plan de durcissement de Pavois agit sur la ressource service nommée cockpit : il exécute disable (pas de démarrage au boot) puis stop (arrêt immédiat). Appliqué avec pavois harden apply. Note : si cockpit.socket est aussi présent, assurez-vous qu'il est également désactivé/masqué pour fermer complètement le point d'accès.

Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :

actiondisable, stop
namecockpit
resourceservice
pavois harden plan local

où la cible est local, un alias SSH user@hôte, ou un conteneur , Docs

Impact & précautions

Risque de mauvaise configuration : un point d'accès Cockpit exposé est une cible d'administration à distance et d'attaque sur identifiants. Précautions : si les administrateurs gèrent actuellement cet hôte via l'interface web Cockpit, le désactiver supprime ce chemin d'accès, assurez-vous d'abord que SSH ou un autre canal d'administration fonctionne pour ne pas perdre l'administration à distance. Aucun impact sur les services en cours ni sur les connexions hors Cockpit.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS2.1.3directper OS, see the benchmark tablehaute

Chaque référence est une référence croisée ancrée dans le benchmark amont et recoupée avec le SCAP Security Guide et ansible-lockdown, pas une affirmation d’équivalence. Direct = une exigence prescriptive au niveau de la ligne ; support = une famille de contrôle abstraite (NIST) vers laquelle le check apporte une preuve. Comment lire un mapping.

Sources & références