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

Désactiver le service vsftpd

Garantit que le serveur FTP vsftpd.service est désactivé et arrêté afin que l'hôte n'expose pas un service FTP en clair.

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é →
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

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

Exécuter un serveur FTP (vsftpd) ouvre une voie d'attaque réseau et doit être désactivé lorsqu'il n'est pas explicitement requis. Le FTP en clair transmet identifiants et données sans chiffrement, exposant à l'interception et au vol d'identifiants, et le service lui-même constitue un démon supplémentaire à corriger et durcir. Conformément au principe de moindre fonctionnalité, les hôtes qui n'ont pas besoin de servir des fichiers en FTP ne doivent pas exécuter vsftpd ; utilisez SFTP/HTTPS lorsque le transfert de fichiers est nécessaire.

Ce que vérifie Pavois

Pavois lit l'état effectif de l'unité via service('vsftpd.service') (systemctl is-enabled / is-active), en tenant compte des surcharges drop-in et de l'activation par socket. Cela détecte un service vsftpd réellement activé/en cours même si /etc/vsftpd.conf semble dormant, c'est l'état d'exécution, et non le fichier de configuration, qui expose le réseau.

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

Comment vérifier qu’elle est appliquée

Exécutez systemctl is-enabled vsftpd.service (attendu disabled/masked/introuvable) et systemctl is-active vsftpd.service (attendu inactive). Confirmez que rien n'écoute sur TCP/21 avec ss -lntp | grep ':21' (attendu : aucune sortie).

Inspecter et investiguer

Les transitions d'unité et l'activité des connexions sont dans journalctl -u vsftpd.service ; les logs de transfert/connexion de vsftpd sont par défaut dans /var/log/vsftpd.log (et les tentatives d'authentification dans /var/log/auth.log). Confirmez la disparition du service avec ss -lntp | grep ':21'.

Remédiation

Le plan de durcissement de Pavois agit sur la ressource service nommée vsftpd : il exécute disable et stop pour que le serveur FTP ne démarre pas au boot et soit arrêté maintenant. Il s'applique avec pavois harden apply. Si FTP n'est pas du tout nécessaire, supprimez aussi le paquet vsftpd pour éliminer entièrement le binaire et son socket.

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

actiondisable, stop
namevsftpd
resourceservice
pavois harden plan local

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

Impact & précautions

Désactiver vsftpd casse tout flux qui dépend de cet hôte pour servir des fichiers en FTP (téléversements anciens, intégrations d'équipements, dépôts anonymes). Précautions : inventoriez les clients utilisant TCP/21 avant de désactiver ; migrez-les vers SFTP (via le service SSH existant) ou HTTPS ; et si FTP est réellement requis, ne le conservez qu'avec FTPS/TLS, restreignez-le au segment réseau nécessaire et filtrez les ports de données/contrôle.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS2.1.6directper OS, see the benchmark tablehaute
NISTCM-7(a), CM-7(b), CM-6(a)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