Skip to content

Glossaire

pam_unix

Le module PAM standard d’authentification par mot de passe et de suivi des sessions, qui écrit les lignes pam_unix(service:type) dans auth.log et secure.

pam_unix est le module PAM (Pluggable Authentication Modules) standard des comptes Unix classiques. Il vérifie les mots de passe dans /etc/shadow (auth), contrôle que le compte et le mot de passe sont toujours valides (account), change les mots de passe (password) et enregistre le début et la fin des sessions (session). Presque tous les programmes qui authentifient des utilisateurs sous Linux passent par lui : sshd, login, sudo, su, passwd, cron.

Ses lignes indiquent entre parenthèses le service PAM et le type de module, pam_unix(service:type). Le service est le fichier de configuration PAM utilisé (sshd, sudo, sudo-i, su, su-l, cron, passwd), ce qui dit comment la session a été ouverte. Ces lignes vont dans la facility authpriv : elles aboutissent dans /var/log/auth.log sur Debian et Ubuntu, dans /var/log/secure sur la famille RHEL, et dans le journal.

Pourquoi c’est important en investigation

Les lignes pam_unix forment l’ossature d’une chronologie auth.log. Les lignes authentication failure portent l’adresse source (rhost=) et le compte visé par les tentatives de mot de passe. Les lignes session opened et session closed partagent le PID du processus qui a ouvert la session, ce qui associe chaque connexion à sa déconnexion. pam_unix(sudo-i:session) signale un shell root interactif, et pam_unix(passwd:chauthtok): password changed est une étape classique de prise de contrôle : l’intrus change le mot de passe du compte par lequel il est entré.

Exemple

sshd[2381]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=198.51.100.23  user=svc_backup
sshd[3071]: pam_unix(sshd:session): session opened for user svc_backup(uid=1001) by svc_backup(uid=0)
sudo: pam_unix(sudo-i:session): session opened for user root(uid=0) by svc_backup(uid=1001)
CRON[3402]: pam_unix(cron:session): session opened for user svc_backup(uid=1001) by (uid=0)

La première ligne est une tentative échouée, la deuxième le début d’une session SSH, la troisième un sudo -i, la quatrième une tâche cron.

Termes associés

  • systemd-logind : numérote la même session quelques millisecondes plus tard.
  • auid : la vue d’audit de cette connexion.
  • rsyslog : écrit ces lignes dans auth.log ou secure.

Linux Log Parser associe les lignes de session pam_unix par PID. Plus de détails dans l’analyse forensique d’auth.log.