Accueil
» Comment faire
»
Diagnostiquer les échecs de connexion SLES PAM sans se bloquer l'accès.
Diagnostiquer les échecs de connexion SLES PAM sans se bloquer l'accès.
Un message d'« échec d'authentification PAM » ne fournit pas de solution unique. Commencez par identifier le service et les utilisateurs concernés, puis consultez le journal système à l'heure correspondante. Sur SUSE Linux Enterprise Server (SLES), réparez un problème PAM global confirmé via la commande appropriée pam-configet ne modifiez un fichier de service individuel que si sa propre pile PAM est corrompue. Maintenez une session root ou d'administration ouverte pendant les tests ; une pile PAM défectueuse peut bloquer les nouvelles connexions SSH et console.
Le guide de sécurité et de renforcement de SLES 15 SP7 décrit PAM comme une pile de modules d'authentification, de compte, de mot de passe et de session. Cette distinction est importante : un mot de passe correct peut réussir cette authétape et être rejeté ultérieurement par une stratégie de compte ou une règle spécifique à un service. Un message d'erreur générique ne permet pas d'identifier l'étape défaillante.
Que prouve cette erreur, et que ne prouve-t-elle pas ?
PAM assure la médiation entre une application, telle que sshdla connexion à la console, et les méthodes d'authentification configurées. Chaque service compatible PAM possède un fichier dans le répertoire `/etc/ pam.json` /etc/pam.d/. Ce fichier peut inclure des fichiers communs SLES, tels que `/etc/pam.json` common-authet common-account`/etc/pam.json`, ce qui signifie qu'une défaillance isolée à SSH peut avoir une cause différente des défaillances affectant toutes les méthodes de connexion.
Vérifié : la pile SSH documentée de SUSE inclut pam_nologin.sodes fichiers PAM courants. Si /etc/nologinun module PAM existe, il interdit la connexion aux utilisateurs autres que root. Contexte variable : les règles modifiées localement, les services d'annuaire et les modules MFA tiers peuvent ajouter des contrôles supplémentaires. Le message seul ne permet pas de déterminer si le mot de passe est incorrect, si les fichiers PAM sont corrompus ou si le compte est verrouillé. Commencez par examiner le service concerné et son journal avant de remplacer la pile.
Quel chemin de connexion échoue ?
Reproduisez l'erreur une fois et notez l'heure, le nom d'utilisateur et la méthode : SSH, console texte locale, interface graphique, sudoetc. suSi vous pouvez vous connecter en tant qu'administrateur, consultez les messages système récents.
sudo journalctl -e
Le guide de dépannage SLES de SUSE recommande de consulter le journal système pour les erreurs de connexion et PAM. Recherchez, aux alentours de l'heure exacte de la tentative, le nom du module ou la raison de l'erreur : compte refusé, service d'annuaire indisponible, module manquant ou erreur de fichier/permission. Ne partagez pas les journaux publiquement sans avoir supprimé les noms d'utilisateur, les noms d'hôte, les adresses et autres informations sensibles.
Utilisez le journal système aux alentours de l'heure de l'échec de connexion pour trouver les messages PAM et de processus de connexion.
Si seul le protocole SSH échoue, consultez le journal du démon SSH :
sudo journalctl -u sshd
Consultez le journal sshd si l'échec se produit uniquement lors de l'authentification SSH.
Comparez ensuite les chemins d'accès. Si un utilisateur peut s'authentifier sur la console locale mais pas via SSH, examinez /etc/pam.d/sshdla politique d'accès SSH ou un module spécifique à SSH. Si plusieurs services refusent l'accès aux mêmes utilisateurs locaux, vérifiez leurs common-*fichiers partagés. Si un seul utilisateur échoue, vérifiez l'état de son compte et son mot de passe avant de modifier l'authentification globale du système.
S'agit-il d'un compte local ou d'une identité réseau ?
Pour un utilisateur local, vérifiez d'abord le nom d'utilisateur, la disposition du clavier et la touche Verr. Maj. Si une réinitialisation d'identifiants est nécessaire, utilisez l'outil de gestion de mots de passe approuvé par l'administrateur, tel que YaST User and Group Management, plutôt que de les modifier /etc/shadowmanuellement. Si l'accès SSH est refusé à tous les utilisateurs non root, vérifiez la présence d'un fichier de maintenance planifiée /etc/nologinavant de modifier le PAM ; supprimez-le uniquement si le blocage de maintenance est confirmé comme obsolète et que vous êtes autorisé.
Pour un utilisateur utilisant LDAP, Active Directory ou un autre annuaire, un mot de passe valide sur un autre serveur ne prouve pas que cet hôte SLES puisse accéder au fournisseur d'identité. SUSE mentionne parmi les causes possibles les problèmes de réseau et de DNS, la dérive de l'horloge Kerberos, les règles PAM mal configurées, la politique d'accès à l'hôte et les répertoires personnels indisponibles. Vérifiez si un autre utilisateur du domaine peut se connecter et si l'utilisateur concerné peut se connecter à un autre hôte. Enfin, vérifiez la configuration du service d'identité et la connectivité du serveur.
Lorsque l'hôte utilise SSSD, vérifiez son service et si PAM est configuré pour l'utiliser :
systemctl status sssd
sudo pam-config --query --sss
Vérifiez si SSSD est inclus dans PAM et s'il est en cours d'exécution lorsque les utilisateurs disposant d'un domaine ne peuvent pas s'authentifier.
SSSD peut mettre en cache les informations utilisateur et autoriser l'authentification même si l'annuaire est temporairement inaccessible. Toutefois, ce comportement dépend de sa configuration et des informations d'identification mises en cache. Un cache obsolète ou manquant n'est donc qu'une possibilité, et non une certitude. Avant de vider le cache ou de modifier des modules, vérifiez le DNS, la synchronisation horaire Kerberos, l'accessibilité de l'annuaire et les journaux SSSD. Si le fournisseur d'identité signale un « Compte verrouillé » ou un « Compte désactivé », demandez à l'administrateur de l'annuaire de vérifier la stratégie de ce compte ; PAM signale la décision, mais ne la prend pas nécessairement en charge.
Comment réparer un problème de configuration PAM confirmé ?
Examinez le fichier spécifique au service et les règles partagées qu'il contient :
Avant de modifier les règles d'authentification communes, veuillez examiner la pile PAM spécifique au service pour sshd.
Sous SLES, pam-configles fichiers globaux sont gérés dans le répertoire ` /etc/pam.d/common-*/etc/sless` ; les fichiers de service individuels, tels que `/etc/sless` /etc/pam.d/sshd, sont gérés séparément. Ne modifiez pas manuellement les fichiers communs générés, sauf si vous avez délibérément désactivé pam-configcette fonctionnalité pour ces derniers. Si vous confirmez que cet hôte est censé utiliser SSSD et que ses règles PAM SSSD sont manquantes, consultez la documentation SUSE sudo pam-config --add --ssspour les ajouter. N'utilisez cette fonctionnalité qu'après avoir vérifié que SSSD est configuré et en cours d'exécution, puis testez une nouvelle connexion tout en maintenant la session d'administration active ouverte.
Une idée fausse courante, mais risquée, est qu'il pam-config --creates'agit d'une commande de réparation inoffensive. SUSE indique qu'elle crée une configuration d'authentification Unix de base et écrase les fichiers préexistants qu'elle ne gère pas, tout en conservant des copies de sauvegarde. Cela peut supprimer les comportements personnalisés d'authentification multifacteur (MFA) ou d'authentification de répertoire. Ne l'utilisez pas comme une étape de récupération générique. En cas d'erreur de frappe dans un fichier de service, restaurez la configuration correcte et appropriée à la version du service à partir d'une sauvegarde fiable ou modifiez la ligne défectueuse en suivant la procédure de gestion des changements de votre organisation.
Comment pouvez-vous confirmer la réparation ?
Laissez la session racine ou administrateur d'origine ouverte. Ouvrez une seconde session via le même service qui a échoué (par exemple, une nouvelle connexion SSH) et testez le compte concerné. Vérifiez que le journal ne contient plus la même erreur PAM et qu'une autre méthode d'authentification configurée fonctionne. Si l'échec persiste, notez l'horodatage exact, le service, le nom du module PAM et les lignes de journal pertinentes (après les avoir anonymisées) ; ces informations sont plus utiles que le message générique « échec d'authentification ».