Modules de base Linux PAM

Modules de base Linux PAM
Linux Pam est une API puissante qui vient avec plusieurs mérites. Premièrement, il fournit un schéma d'authentification standard qui est utilisable sur diverses applications. Il offre également une flexibilité imbattable pour les développeurs d'applications et les administrateurs système. Enfin, Linux Pam permet le développement de programmes sans nécessairement créer leurs protocoles d'authentification respectifs.

Comme tout protocole d'authentification typique, l'utilisation de PAM s'appuie sur la compréhension d'un éventail de concepts. Les composants PAM que vous devez internaliser et maîtriser incluent les groupes de contrôle et les drapeaux de contrôle.

Notamment, Linux Pam a quatre groupes de gestion que chaque utilisateur devrait connaître. Ils comprennent:

  • Groupe d'autheurs - Ils aident à valider les utilisateurs. Ils vérifient le nom d'utilisateur, le mot de passe et d'autres détails d'authentification.
  • Compte de groupe - Ils contrôlent l'accès à un service ou un programme tel que le nombre de fois où vous devez accéder ou utiliser un service. Ils contrôlent également les autres conditions telles que l'expiration des comptes et le temps.
  • Groupe de session - Ce groupe assume la responsabilité de l'environnement de service, en particulier pour démarrer et mettre fin à une session.
  • Groupe de mots de passe - Ce groupe est utile lors de la mise à jour des mots de passe.

Pour les drapeaux de contrôle, vous trouverez les indicateurs de contrôle requis, requis, suffisants et facultatifs. Comme son nom l'indique, les drapeaux de contrôle contrôlent l'accès aux programmes en fonction du comportement de chaque type de drapeau de contrôle.

En dehors des deux composants, un autre composant PAM important que vous devriez considérer sont les modules PAM - et c'est ce que cet article s'occupera. Cet article définira les différents modules PAM et fournira des illustrations ou des exemples viables.

Mais avant d'examiner les modules, examinons l'ordre des modules PAM.

Ordre des modules

L'ordre des modules PAM est vital car chaque module dépend du rôle précédent de la pile. Ainsi, une configuration comme dans la capture d'écran suivante vous permettra facilement de vous connecter:

Cependant, la commande dans la capture d'écran suivante est incorrecte et ne vous permettra pas d'accès:

Top 10 modules PAM de base

Les modules intégrés PAM suivants existent dans vos systèmes, et vous devriez être au courant de chacun pour l'utilisation appropriée de Linux PAM:

1. module PAM_SUCCEPED_IF
Ce module contrôle l'accès aux utilisateurs et aux groupes. Par exemple, vous pouvez valider les comptes d'utilisateurs à l'aide de cette commande:

L'exemple précédent signifie que seuls les utilisateurs dont les ID sont 1000 ou 3000 peuvent se connecter.

Un autre exemple est comme dans la commande suivante:

L'exemple précédent spécifie que seuls les utilisateurs avec les ID utilisateur égaux ou supérieurs à 2000 peuvent accéder au service ou au programme.

Un exemple d'utilisation d'un paramètre ingroup est tel que visible dans ce qui suit:

2. module PAM_DENY

Le module PAM_DENY est couramment utilisé pour nier ou restreindre un accès. Lorsqu'il est utilisé, le module renverra un résultat non OK lors du traitement. L'utilisation de ce module à la fin de votre pile de module protège toute erreur de configuration possible. Cependant, l'utiliser au début d'une pile de modules désactivera votre service, comme le montre la figure suivante:

Fait intéressant, vous pouvez utiliser ce module avec le compte, auth, mot de passe, et session groupes de gestion.

3. module PAM_ACCESS
Le module PAM_ACCESS est un autre module que vous pouvez utiliser avec tous les groupes de gestion. Il fonctionne de la même manière que le module PAM_SUCCEPED_IF. Cependant, le module PAM_SUCCEPED_IF ne vérifie pas les détails de connexion des hôtes en réseau, tandis que le module PAM_ACCESS se concentre sur celui-ci.

Vous pouvez ensuite taper les règles d'accès comme indiqué dans les figures suivantes:

Et

Les règles indiquent que seuls les utilisateurs de LinHinttecks ​​peuvent se connecter. Les signes + et - dans la règle permettent et nient respectivement. Ce module est également utilisable avec tous les groupes de gestion.

4. module PAM_NOLOGINE
Ce module est sélectif et permet uniquement à la racine de se connecter si le fichier existait. Contrairement aux modules précédents, que vous pouvez utiliser avec tous les groupes de gestion, ce module est uniquement utilisable avec authentification et compte groupes de gestion.

5. Module PAM_CRACKLIB
La cybercriminalité est en augmentation et les mots de passe forts sont obligatoires. Ce module définit les règles pour la force de vos mots de passe. Dans l'exemple suivant, le module vous fournit jusqu'à 4 chances de choisir une forte défaillance de mot de passe à laquelle il quittera. Encore une fois, le module prévoit que vous ne pouvez choisir qu'un mot de passe de 12 caractères ou plus.

6. module PAM_LOCALUSER
Ce module est souvent utilisé pour vérifier si un utilisateur est dans le / etc / passwd. Vous pouvez utiliser ce module avec tous les groupes de gestion, y compris Auth, mot de passe, session, et compte.

7. module PAM_ROOTOK
Seuls les utilisateurs de racine peuvent exécuter ce service car il vérifie si l'UID est 0. Ainsi, ce module est utile lorsqu'un service est dédié aux utilisateurs racinaires uniquement. Il est utilisable sans autre groupe de gestion, sauf le authentification groupe de gestion.

8. module PAM_MYSQL
Vous pouvez utiliser le module PAM_MYSQL pour valider les utilisateurs plutôt que de vérifier leurs informations d'identification contre le / etc / Shadow. Il est utilisable pour valider les utilisateurs avec les paramètres PAM_MYSQL. Vous pouvez l'installer en utilisant la commande suivante si vous ne l'avez pas dans votre système. Il s'agit d'un autre module que vous pouvez utiliser avec tous les groupes de gestion:

9. Module PAM_LIMITS
Si vous devez définir les limites des ressources système, le module PAM_LIMITS est ce dont vous avez besoin. Ce module affecte tout le monde, y compris les utilisateurs racinaires utilisant le fichier de configuration des limites disponibles dans le / etc / Security / Limits.d / répertoire. Il est avantageux de protéger les ressources du système et n'est utilisable que dans le session groupe de gestion.

Les limites fixées dans le / etc / la sécurité / limites.Le fichier Conf peut être dur ou doux. Seuls les utilisateurs racinaires peuvent modifier la valeur limite des limites dures, tandis que les utilisateurs ordinaires ne peuvent pas. D'un autre côté, même les utilisateurs ordinaires peuvent également modifier la valeur limite.

Encore une fois, les limites peuvent être classées comme processeur, fsize, données, NProc et bien d'autres. Un bon exemple est illustré dans la figure suivante:

La première limite pour les membres de Linhintadmins définit le nombre de processus pour chaque membre à 30. D'un autre côté, la deuxième limite est pour les membres de LinHintechs et définit la durée du CPU pour eux à 4000 minutes.

dix. Module PAM_RHOSTS
Il effectue l'authentification du réseau standard pour les services et les programmes souvent implémentés traditionnellement dans RSH et Rlogin, entre autres. Les trois options disponibles incluent le débogage, le superutilisateur et le silence. Il n'est utilisable qu'avec le groupe de gestion des autheurs et les fonctionnalités dans l'exemple suivant:

Conclusion

Cela nous amène à la fin de cet article. Espérons que les dix modules de base Linux PAM s'avéreront utiles dans votre voyage pour apprendre et utiliser PAM.