← Toutes les règles
SOCLE-CLD-PKG-061// Packagesmoyenneétat d’inventaire

Désinstaller le paquet nginx

Supprime le paquet web/reverse-proxy nginx lorsque l'hôte n'a aucun besoin de servir du contenu web.

Vérifié sur ce qui est installé ou enregistré, paquets présents/absents, bases de comptes.

Un PASS prouve✓ actif maintenant✓ sur disque✓ survit au rebootle verdict qualifié →
Debian 12CIS 1.1.0Debian 13CIS 1.0.0FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0Ubuntu 22.04CIS 3.0.0Ubuntu 24.04CIS 1.0.0Ubuntu 26.04
Un seul check, mappé sur 2 normes

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

Le paquet nginx installe un serveur web/reverse-proxy qui, une fois démarré, écoute les connexions entrantes et expose un service réseau. Selon le principe de moindre fonctionnalité (NIST CM-7), un logiciel non requis ne devrait pas être présent. Si aucun serveur web n'est nécessaire sur cet hôte, le supprimer protège contre son activation, retire un service en écoute fréquemment ciblé, et élimine de la surface d'attaque toute une classe de vulnérabilités et d'erreurs de configuration web.

Ce que vérifie Pavois

Pavois interroge la base de paquets via la ressource InSpec package('nginx') et vérifie should_not be_installed, en s'appuyant sur dpkg/rpm. Lire l'inventaire effectif est plus fiable que de vérifier si nginx écoute actuellement sur le port 80/443 : un service arrêté reste installé et peut être réactivé, et la configuration sous /etc/nginx/ ne prouve pas la disparition du binaire. L'état du paquet est la vérité de terrain pour la conformité au principe de moindre fonctionnalité.

describe package('nginx') do
  it { should_not be_installed }
end

Comment vérifier qu’elle est appliquée

RHEL : rpm -q nginx doit afficher package nginx is not installed. Debian/Ubuntu : dpkg -s nginx doit indiquer not installed. Confirmez qu'aucun service n'écoute sur les ports web avec ss -lntp | grep -E ':80|:443' (aucun processus nginx attendu).

Inspecter et investiguer

La suppression est journalisée dans /var/log/dpkg.log (Debian/Ubuntu) ou dnf history (RHEL). L'activité antérieure de nginx, accès et erreurs, apparaît dans /var/log/nginx/access.log, /var/log/nginx/error.log et journalctl -u nginx. Après suppression, aucune unité nginx ne doit subsister.

Remédiation

Le plan de durcissement de Pavois déclare une ressource package pour nginx avec l'action remove ; pavois harden apply le désinstalle via le gestionnaire de paquets natif (apt/dnf), ce qui arrête aussi le service nginx. Selon le packaging de la distribution, la configuration sous /etc/nginx/ peut subsister (par ex. apt sans purge) ; supprimez-la manuellement pour un état propre.

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

actionremove
namenginx
resourcepackage
pavois harden plan local

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

Impact & précautions

Si cet hôte sert réellement du contenu web ou fait office de reverse-proxy/répartiteur de charge, supprimer nginx met hors ligne ces sites et routes. Précautions : avant d'appliquer, confirmez que l'hôte n'a aucun rôle de serveur web, vérifiez ss -lntp pour des écoutes sur 80/443 et examinez /etc/nginx/. Si nginx est requis, ne le supprimez pas ; durcissez plutôt la configuration (désactiver les modules inutiles, restreindre les écoutes). Sur les hôtes sans rôle web, la suppression est sans danger et applique le principe de moindre fonctionnalité.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS2.1.18, 2.1.19directper OS, see the benchmark tablehaute
NISTCM-6(a), CM-7(a), CM-7(b)support800-53 Rev 5 · 800-171 Rev 2 (pinned)moyenne

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