← Toutes les règles
SOCLE-CLD-GEN-001// Bannersmoyenneconfig persistante

S'assurer que la bannière d'avertissement de connexion locale est correctement configurée

Définit /etc/issue (la bannière pré-connexion affichée sur les TTY locaux) sur un avertissement légal ne contenant aucune séquence d'échappement révélant l'OS ou la version (\s, \m, \r, \v, \l).

Vérifié sur le contenu d’un fichier de configuration persistant, la source de vérité qui survit aux redémarrages.

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 1 norme

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

La bannière de connexion doit énoncer le statut légal de l'accès, nommer l'organisation propriétaire et mentionner la politique de surveillance, formulation souvent nécessaire pour poursuivre un accès non autorisé. Tout aussi important, les séquences d'échappement comme \s (nom de l'OS), \r (version du noyau) et \m (architecture) divulguent des empreintes système détaillées à quiconque se trouve devant l'invite, aidant un attaquant à choisir des exploits ciblés. Les utilisateurs autorisés obtiennent ces détails via uname -a après connexion, il n'y a donc aucun intérêt à les exposer avant authentification.

Ce que vérifie Pavois

Pavois lit /etc/issue et vérifie qu'il est non vide et exempt des échappements \[smrvlSMRVL]. Il s'agit d'un fichier statique consommé par getty à l'invite locale ; lire le fichier représente donc bien la configuration effective ici, car aucune commande d'état résolu ne s'intercale entre le fichier et ce qu'affiche le TTY.

describe file('/etc/issue') do
  its('content') { should match(/\S/) }
  its('content') { should_not match(/\\[smrvlSMRVL]/) }
end

Comment vérifier qu’elle est appliquée

Exécutez cat /etc/issue. Attendez-vous à un avis d'utilisation autorisée clair et aucun échappement antislash comme \s/\r/\m. Lors d'une connexion console, vous devez voir exactement ce texte au-dessus de l'invite login:.

Inspecter et investiguer

Aucun journal d'exécution ; la bannière est un élément d'affichage. Pour auditer les changements du fichier : journalctl _COMM=login montre les connexions locales, et ls -l /etc/issue / stat /etc/issue confirme la propriété root:root et le mode 0644.

Remédiation

pavois harden apply écrit /etc/issue avec un avis d'accès autorisé neutre, propriétaire root:root et mode 0644. La bannière ne contient délibérément aucun échappement dynamique, donc aucun détail système ne fuite. Aucun redémarrage ni redémarrage de service n'est nécessaire : getty lit le fichier à la connexion suivante.

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

contentAuthorized access only. All activity on this system is monitored and recorded. Disconnect immediately if you are not an authorized user.
grouproot
mode0644
ownerroot
path/etc/issue
resourcefile
pavois harden plan local

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

Impact & précautions

Cosmétique et sans risque, cela ne change que ce qui s'affiche avant l'invite de connexion locale ; aucune interruption de service. Précautions : si vous personnalisez le texte, gardez-le générique et évitez de réintroduire des échappements \ (ils réintroduisent la fuite d'empreinte de l'OS). Certains outils de provisionnement régénèrent /etc/issue au démarrage, ce qui peut annuler ce réglage : assurez-vous qu'aucun modèle cloud-init/MOTD ne l'écrase.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS1.6.2, 1.7.2directper 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