Tutoriel Linux Pam

Tutoriel Linux Pam
Linux-Pam est une riche collection de modules partagés qui authentifient interactivement un utilisateur à des programmes (ou des services) dans un système Linux. Linux-Pam est un acronyme pour les modules d'authentification enfichables, qui se sont développés à partir de la conception Unix-Pam. Il combine de nombreux modules d'authentification de bas niveau avec une API de haut niveau pour fournir une authentification dynamique pour les applications. Malgré le schéma d'authentification sous-jacent, cela permet aux développeurs de créer des applications qui nécessitent une authentification. Linux-Pam (également connu sous le nom de «PAM») est fréquemment pris en charge par défaut dans les variantes Linux contemporaines.

La chose la plus cruciale pour qu'un administrateur système comprenne comment les fichiers de configuration PAM fournissent le lien entre les services et les PAM qui effectuent les activités d'authentification réelles. Vous n'avez pas besoin de comprendre le fonctionnement interne de Pam. PAM pourrait modifier considérablement la sécurité de votre système Linux. Les paramètres incorrects peuvent interdire complètement ou partiellement l'accès à votre machine.

Interfaces de Linux-Pam dans Ubuntu 20.04

Quatre groupes de gestion différents gèrent séparément les tâches d'authentification PAM. Lorsqu'un utilisateur typique demande un service restreint, ces groupes gèrent diverses parties de la demande:

  • Compte: Ce module est utilisé pour déterminer si le compte fourni est valide dans les circonstances actuelles. Plusieurs facteurs sont vérifiés dans cette catégorie, y compris l'expiration du compte, l'heure de la journée, ou si l'utilisateur a l'autorisation du service pertinent.
  • Authentification: Dans ce module, l'identité de l'utilisateur est validée une fois que toutes les informations de base ont été vérifiées comme précises. L'identité de l'utilisateur est vérifiée en leur permettant de fournir une connexion ou tout autre élément de données particulier qu'il est nécessaire de savoir.
  • Mot de passe: Le module d'authentification est censé fonctionner en collaboration avec ce module, ce qui aide l'utilisateur à mettre à niveau les mots de passe. Les deux résonances offrent la possibilité d'appliquer des mots de passe sécurisés.
  • Session: Ce module décrit les activités qui doivent être prises au début et à la fin des sessions, et ce n'est pas le moins important des modules qui composent l'ordre par lequel la stratégie globale de PAM termine la tâche souhaitée. La session commence lorsque l'individu s'est authentifié avec succès.

Comment valider un programme Linux-PAM dans Ubuntu 20.04

Une application ou un programme doit être «conscient» ou expressément construit et compilé pour utiliser PAM. Utilisez la commande «LDD» pour voir si un programme a été construit en utilisant la bibliothèque PAM pour déterminer s'il s'agit de «Pam-Aware» ou non. Lorsque la commande «ldd / bin / su» est exécutée, le fichier «libpam.Ainsi »est mis en évidence dans la deuxième ligne qui prend en charge la requête. La validation est indiquée dans la capture d'écran ci-dessous:

Le répertoire / etc / pam.D / contient la configuration de Linux-PAM. Accédez au répertoire PAM en entrant la commande suivante dans le terminal de votre système d'exploitation Linux:

L'instantané précédent montre que l'on peut examiner le contenu en entrant la commande «LS» dans le répertoire PAM. Le serveur SSHD doit être installé s'il n'est pas répertorié comme un service qui implémente PAM. SSH, également connu sous le nom de Secure Shell, est une application de réseautage qui crypte la transmission des données et permet à divers types d'ordinateurs et utilisateurs de se connecter en toute sécurité et à distance sur un réseau vers divers systèmes. La commande suivante acquiert le package OpenSSH-Server:

Vous pouvez ensuite réintégrer le répertoire PAM, vérifier les services et voir le SSHD a été ajouté après la fin de l'installation de tous les fichiers. Le service SSHD est mis en évidence dans le «/ etc / pam.D ”répertoire.

Comment configurer un programme Linux-PAM dans Ubuntu 20.04

L'appel de chaque module PAM se traduit par le succès ou l'échec. Le résultat est géré par PAM en utilisant des drapeaux de contrôle. Les indicateurs de contrôle spécifient l'importance relative du succès ou de l'échec de chaque module à l'objectif global d'établir l'identité de l'utilisateur avec le service, et les modules peuvent être empilés dans un certain ordre. Il y a quatre drapeaux de contrôle préconfigurés disponibles:

  • Obligatoire: Pour que l'authentification progresse, la réponse du package doit réussir. L'utilisateur ne sera pas alerté si la tentative échoue à ce stade jusqu'à ce que tous les tests de package utilisent cette interface terminée.
  • requis: selon les arguments, si cela se casse, tout le reste. PAM sera également résilié et un avis de défaillance sera livré.
  • suffisant: si ce module est réussi et que tous les modules requis précédemment sont également réussis, aucun autre module requis n'est appelé.
  • Facultatif: indique que le module n'est pas essentiel pour savoir si la demande de service de l'utilisateur est réussie ou infructueuse. Sa valeur n'est considérée qu'en l'absence de succès ou d'erreurs concluantes de modules empilés antérieurs ou ultérieurs.
  • Inclure: lorsque le paramètre correspondant est apparié, chaque ligne du fichier de configuration est récupérée par cet indicateur de contrôle.

Tapez simplement la commande suivante à l'intérieur du répertoire PAM:

Comme vous pouvez le voir, le terme de contrôle de contrôle, que nous avons décrit plus tôt dans le fichier PAM suivant:

La directive générale suivante doit être utilisée lors de l'écriture de la configuration principale:

  • Service: le vrai nom du programme
  • Taper: Interface / contexte / type de module
  • Flag de contrôle: Si le module ne parvient pas à terminer sa tâche d'authentification, l'indicateur de contrôle détermine comment le PAM-API se comportera
  • Module: Le nom de fichier de chemin de chemin absolu ou relatif du Pam
  • Argument module: Les paramètres du module sont une liste de jetons qui peuvent être utilisés pour affecter la fonctionnalité du module

Si vous souhaitez empêcher les utilisateurs de racine de se connecter à n'importe quel système de SSH, vous devez restreindre l'accès au service SSHD. De plus, l'accès aux services de connexion doit être restreint.

Plusieurs modules limitent l'accès et les privilèges de subvention, mais nous pouvons utiliser le module incroyablement adaptable et riche en fonctionnalités / lib / sécurité / pam listfile.donc. Aller au / etc / pam.D / répertoire, ouvrez le fichier du service cible et apportez les modifications nécessaires comme suit:

Le règlement suivant doit être inséré dans le fichier:

Auparavant, le type de module est Auth (ou Context). Le drapeau de contrôle indique que malgré la façon dont les autres modules fonctionnent, si le module est utilisé, il doit réussir, ou si le résultat global sera un échec. Un moyen d'activer ou de refuser les services en fonction de tout fichier est fourni par le PAM Listfile.So Module. onerr = réussir est un argument pour le module. L'élément = l'utilisateur est un argument de module décrivant le contenu du fichier qui doit être vérifié. L'option Sense = Deny Module indique l'action à prendre si l'élément est situé dans le fichier. Sinon, la ligne de conduite opposée est demandée. Le fichier avec un élément par ligne est spécifié par le fichier d'option de module = / etc / ssh / deniedusers.

La racine du nom doit être ajoutée au fichier / etc / ssh / deniedusers après sa création:

Après avoir obtenu les autorisations nécessaires, enregistrez les modifications et fermez le fichier:

Avec la règle précédente en place, PAM sera invité à vérifier les / etc / ssh / deniedusers et à empêcher les utilisateurs répertoriés d'utiliser le SSH et les services de connexion à l'avenir.

Conclusion

Les programmes qui dépendent de l'authentification peuvent garantir que seules les applications autorisées se trouvent dans un système d'exploitation Linux en raison de l'API de haut niveau robuste connu sous le nom de PAM. Il a beaucoup de puissance, mais il est également assez difficile à comprendre et à opérer. Pour les applications et services exécutés sous Linux, PAM offre un support d'authentification dynamique. Les performances d'un module peuvent être évaluées à l'aide des indicateurs de contrôle répertoriés dans ce manuel. Le PAM est souvent utilisé dans de nombreux systèmes sécurisés car il est plus convivial et fiable que le mécanisme d'authentification conventionnel du mot de passe et du nom de nom.