Désactiver Samba
Garantit que le service de partage de fichiers Samba (smb.service / smbd) n'est ni activé au démarrage ni en cours d'exécution, sauf si l'hôte est volontairement un serveur de fichiers de type Windows.
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.
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
Samba (smbd) implémente le protocole de partage de fichiers SMB/CIFS sur les ports 139 et 445. SMB a une longue histoire de vulnérabilités graves et largement exploitées (par ex. EternalBlue / MS17-010) et constitue un vecteur de prédilection de mouvement latéral et de rançongiciels au sein des réseaux. Le faire tourner là où aucun partage de fichiers de type Windows n'est nécessaire expose inutilement un service de grande valeur et fréquemment ciblé. Si l'hôte n'est pas un serveur de fichiers Samba, le service doit être arrêté et désactivé pour supprimer cette exposition.
Ce que vérifie Pavois
Pavois lit l'état effectif de smb.service depuis systemd, en vérifiant qu'il n'est ni enabled ni running. Cela reflète ce qui écoute réellement sur 139/445 plutôt que la simple existence de /etc/samba/smb.conf. Sur Debian/Ubuntu l'unité peut aussi se nommer smbd.service ; auditer l'état systemd résolu évite de deviner à partir de la présence d'un paquet ou d'une configuration et détecte les surcharges drop-in.
describe service('smbd.service') do
it { should_not be_enabled }
it { should_not be_running }
endComment vérifier qu’elle est appliquée
Exécutez systemctl is-enabled smb.service (ou smbd.service) et systemctl is-active smb.service ; attendez disabled/masked et inactive. Confirmez qu'aucun service n'écoute avec ss -tlnp | grep -E ':139|:445'.
Inspecter et investiguer
Inspectez journalctl -u smb.service -u smbd.service pour le démarrage/arrêt et les événements de connexion. systemctl show smb.service -p ActiveState -p UnitFileState donne l'état lisible par machine. Confirmez la fermeture des ports SMB avec ss -tlnp | grep -E ':139|:445'.
Remédiation
Le plan de durcissement de Pavois agit sur la ressource service nommée smb avec les actions disable puis stop : il supprime l'activation au démarrage et arrête smbd. Appliqué avec pavois harden apply. Les partages et la configuration existants sous /etc/samba/ restent en place, seul le service en cours est affecté.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| action | disable, stop |
|---|---|
| name | smbd.service |
| resource | service |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Désactiver Samba casse tous les partages de fichiers SMB/CIFS servis par cet hôte : les clients Windows/macOS/Linux montant \\hôte\partage ou //hôte/partage perdront l'accès, et tout partage d'impression via Samba s'arrête. Avant d'appliquer : confirmez qu'aucun client ne dépend des partages de cet hôte (smbstatus liste les sessions/verrous actifs) et qu'il n'est pas membre de domaine fournissant des services adossés à winbind. Si l'hôte est un serveur de fichiers, excluez cette règle. À noter : désactiver smb ne désactive pas en soi nmbd (NetBIOS), traitez-le séparément si nécessaire.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 2.1.14 | direct | per OS, see the benchmark table | haute |
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.