← Toutes les règles
SOCLE-CLD-SSH-020// SSHmoyenneruntime effectif

Activer l'affichage de la dernière connexion SSH

Fait afficher par sshd la date, l'heure et l'origine de la précédente connexion de l'utilisateur à chaque connexion SSH en positionnant PrintLastLog yes.

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 24.04CIS 1.0.0Ubuntu 26.04

Pourquoi cette règle

Afficher l'heure et l'IP source de la connexion précédente à chaque connexion SSH donne aux utilisateurs un retour immédiat pour repérer des accès qu'ils n'ont pas effectués. Ce signal impliquant l'humain aide à détecter et signaler des identifiants compromis ou un usage non autorisé du compte bien plus tôt qu'en s'appuyant uniquement sur l'analyse des journaux.

Ce que vérifie Pavois

Pavois lit la valeur effective de printlastlog depuis sshd -T, la configuration résolue du démon. Un scan de /etc/ssh/sshd_config pourrait rater une valeur définie dans un drop-in Include sous /etc/ssh/sshd_config.d/, sshd -T reflète exactement ce que le démon en cours d'exécution applique.

describe command('sshd -T') do
  its('stdout') { should match(/^printlastlog\s+yes$/i) }
end

Comment vérifier qu’elle est appliquée

Exécutez sudo sshd -T | grep -i printlastlog. La sortie attendue est printlastlog yes. Vous pouvez aussi vous connecter en interactif et vérifier qu'une ligne Last login: ... apparaît.

Inspecter et investiguer

Les données affichées proviennent de la base lastlog ; inspectez-la avec lastlog ou last. Les événements de connexion SSH eux-mêmes sont consignés dans /var/log/secure (famille RHEL), suivez avec journalctl -u sshd -f.

Remédiation

pavois harden apply définit la directive sshd_setting printlastlog sur yes dans un drop-in géré, la valide avec sshd -t -f %{path}, puis déclenche un reload du service ssh pour que la ligne de dernière connexion s'affiche sans couper les sessions actives.

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

directiveprintlastlog
notifyaction: reload, service: ssh.service
resourcesshd_setting
valueyes
verifysshd -t -f %{path}
pavois harden plan local

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

Impact & précautions

Avec PrintLastLog no, les utilisateurs perdent un indice d'alerte précoce simple et peuvent ne pas remarquer que leur compte a été utilisé par quelqu'un d'autre. L'activer va de cosmétique à utile et ne présente quasiment aucun risque opérationnel. Précaution : si PAM affiche déjà la ligne de dernière connexion (certaines distributions le font via pam_lastlog), vous pourriez la voir en double, sans gravité, mais vous pouvez désactiver une des sources si vous le souhaitez. Le reload préserve votre session SSH en cours, il n'y a donc aucun risque de blocage.

Sources & références