S'assurer que la bannière d'avertissement de connexion distante est correctement configurée
Définit /etc/issue.net (la bannière proposée aux connexions distantes, p. ex. SSH via Banner) 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 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 distante doit énoncer le statut légal de l'accès, nommer l'organisation propriétaire et mentionner la surveillance, formulation souvent nécessaire pour poursuivre un accès distant non autorisé. Surtout, /etc/issue.net est exposé sur le réseau avant authentification ; ainsi tout échappement \s/\r/\m divulgue l'OS, le noyau et l'architecture à des attaquants non authentifiés, leur offrant une empreinte gratuite pour choisir leurs exploits. Les utilisateurs légitimes peuvent lire ces détails via uname -a après connexion.
Ce que vérifie Pavois
Pavois lit /etc/issue.net et vérifie qu'il est non vide et exempt des échappements \[smrvlSMRVL]. Remarque : la bannière n'atteint les clients SSH que si sshd -T indique banner /etc/issue.net ; cette règle vérifie le contenu du fichier, tandis que la directive SSH Banner relève de son propre contrôle de config effective. Lire le fichier est correct ici car c'est le texte littéral servi.
describe file('/etc/issue.net') do
its('content') { should match(/\S/) }
its('content') { should_not match(/\\[smrvlSMRVL]/) }
endComment vérifier qu’elle est appliquée
Exécutez cat /etc/issue.net (aucun échappement, avis clair). Confirmez qu'elle est réellement servie à distance avec sshd -T | grep -i banner (attendu banner /etc/issue.net), puis ssh -o PreferredAuthentications=none user@host doit afficher la bannière.
Inspecter et investiguer
Aucun journal dédié ; la bannière est un élément d'affichage. Les tentatives de connexion distante sont visibles dans /var/log/auth.log (Debian/Ubuntu) ou via journalctl -u ssh / journalctl -u sshd. Propriété/mode : stat /etc/issue.net (attendu root:root, 0644).
Remédiation
pavois harden apply écrit /etc/issue.net avec un avis d'accès autorisé neutre, propriétaire root:root, mode 0644, et aucun échappement dynamique. Aucun redémarrage requis ; si SSH est configuré avec Banner /etc/issue.net, le nouveau texte est servi à la connexion suivante sans redémarrage de sshd.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| content | Authorized access only. All activity on this system is monitored and recorded. Disconnect immediately if you are not an authorized user. |
|---|---|
| group | root |
| mode | 0644 |
| owner | root |
| path | /etc/issue.net |
| resource | file |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Sans risque et cosmétique, cela ne change que le texte de la bannière pré-authentification. Précautions : la bannière est montrée à quiconque atteint le port SSH ; gardez un texte générique et exempt d'échappements \. Le fichier n'a d'effet que si sshd_config définit Banner /etc/issue.net ; sans cela la bannière n'est jamais envoyée. Méfiez-vous des outils de provisionnement qui régénèrent /etc/issue.net au démarrage et peuvent l'annuler.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 1.6.3, 1.7.3 | 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.