GNU/Linux >> Tutoriels Linux >  >> Linux

PAM par exemple :utilisez authconfig pour modifier PAM

Les modules d'authentification enfichables (PAM) existent depuis longtemps sous Linux. L'objectif de PAM est de centraliser l'authentification et les exigences d'authentification pour les services et les modules.

Dans un article récent présentant PAM, j'ai mentionné que de nombreuses modifications de configuration sont effectuées à l'aide d'autres utilitaires. L'un de ces utilitaires est authconfig . Cet outil est utilisé avec Red Hat Enterprise Linux, jusqu'à RHEL7 inclus. Les dernières versions de Fedora et RHEL8 utilisent authselect à la place, bien que vous puissiez trouver le authconfig utilitaire dans un mode de compatibilité.

Le authconfig L'outil a été créé pour aider à la configuration du client pour l'authentification centralisée. Les fichiers PAM ne sont qu'une partie de cette configuration. Par exemple, en utilisant authconfig pour activer l'authentification Kerberos apporte des modifications à /etc/nsswitch.conf fichier et le /etc/krb5.conf fichier en plus d'ajouter le pam_krb5 module au /etc/pam.d/{system,password}-auth des dossiers. Une configuration PAM supplémentaire est également désormais possible avec authconfig outil, comme nous le verrons dans les exemples ci-dessous.

Trois interfaces de configuration d'authentification

Comme de nombreux utilitaires de configuration système, l'authentification peut être configurée à l'aide d'un outil d'interface utilisateur graphique (GUI), via une interface texte interactive (TUI) ou via la ligne de commande. Examinons les trois options.

L'outil graphique est fourni par le authconfig-gtk emballer. Cet utilitaire comporte plusieurs onglets pour organiser les options :

La version texte interactive ("TUI") est accessible avec le authconfig-tui commande. Utilisez la TAB touche pour déplacer les champs et le SPACE barre pour sélectionner ou désélectionner des options :

Enfin, il y a l'outil de ligne de commande scriptable authconfig . Cette commande comporte également de nombreuses options qui sont décrites avec --help option et dans le man page.

Les versions graphiques et textuelles sont interactives, mais ont des options limitées. Par exemple, vous pouvez activer l'authentification à l'aide d'un lecteur d'empreintes digitales dans les trois interfaces, mais seul l'outil de ligne de commande a une option pour configurer le pam_faillock module. Modifications de la force du mot de passe à l'aide de pam_pwquality module sont réalisés avec l'outil graphique et l'outil de ligne de commande mais pas l'interface texte interactive.

Premier exemple :activer le lecteur d'empreintes digitales

Avant d'aborder les détails de l'utilisation des options de ligne de commande, examinons les modifications apportées en activant le lecteur d'empreintes digitales en utilisant soit authconfig-tui ou authconfig-gtk :

[demo]$ grep fprintd /etc/pam.d/* # before enabling the fingerprint reader
/etc/pam.d/fingerprint-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/fingerprint-auth-ac:auth        sufficient    pam_fprintd.so

Avec l'option désactivée, seul le fingerprint-auth le fichier contient des références au fprintd module. Après avoir activé l'option, de nouvelles lignes sont ajoutées au /etc/pam.d/system-auth fichiers :

[demo]$ grep fprintd /etc/pam.d/* # after enabling the fingerprint reader
/etc/pam.d/fingerprint-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/fingerprint-auth-ac:auth        sufficient    pam_fprintd.so
/etc/pam.d/system-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/system-auth-ac:auth        sufficient    pam_fprintd.so

Deuxième exemple :paramètres pwquality

L'outil graphique dispose également d'une Options de mot de passe onglet qui contrôle le /etc/security/pwquality fichier :

[demo]# grep '^[^# ]' /etc/security/pwquality.conf # before changing a field

Ce fichier contient de nombreux commentaires utiles indiquant la syntaxe et les valeurs par défaut. Après avoir modifié l'un des champs, toutes les options sont définies à la fin du fichier :

[demo]# grep '^[^# ]' /etc/security/pwquality.conf # after changing a field
minlen = 12
minclass = 2
maxrepeat = 0
maxclassrepeat = 0
lcredit = 0
ucredit = 0
dcredit = 0
ocredit = 0

J'ai changé la longueur requise et le nombre requis de classes de caractères.

Utilisez l'outil CLI authconfig

L'une des choses délicates à retenir lors de l'utilisation de authconfig à la ligne de commande est d'ajouter le --update option. Il y a un --test option pour vérifier la syntaxe, un --update option pour mettre à jour le authconfig informations et les fichiers de configuration réels pour les options spécifiées, et un --updateall option qui réinitialise tous les fichiers de configuration pour correspondre à authconfig réglages. Le --updateall est un excellent moyen de supprimer toutes les modifications manuelles qu'un administrateur peut avoir apportées au système. Mon flux de travail utilise généralement simplement le --update option pour chaque changement.

Si vous exécutez le authconfig commandes en tant qu'utilisateur ordinaire, vous êtes invité à entrer un mot de passe pour élever les privilèges avant l'exécution des commandes. C'est même vrai avec le --help requêtes :

[demo]# authconfig --help
Usage: authconfig [options] {--update|--updateall|--test|--probe|--restorebackup <name>|--savebackup <name>|--restorelastbackup}

Options:
...omitted...
  --test                  do not update the configuration files, only print new settings
  --update, --kickstart   opposite of --test, update configuration files with changed settings
  --updateall             update all configuration files

Comme on le voit dans les versions GUI et TUI, l'authentification par empreinte digitale est une bascule marche/arrêt. Les options de la ligne de commande sont :

[demo]# authconfig --help | grep finger
    --enablefingerprint     enable authentication with fingerprint readers by default
    --disablefingerprint    disable authentication with fingerprint readers by default

Et la commande pour activer la fonction d'empreinte digitale est :

[demo]# authconfig --enablefingerprint --update

Les paramètres de mot de passe disponibles dans la version GUI mais pas dans la version TUI peuvent également être définis sur la ligne de commande.

[demo]# authconfig --help | grep passmin
  --passminlen=<number>          minimum length of a password
  --passminclass=<number>        minimum number of character classes in a password

Vous pouvez définir plusieurs options en même temps :

[demo]# authconfig --passminlen=12 --passminclass=2 --update

Étant donné que tous les pwquality les réglages peuvent être effectués avec toutes les versions de authconfig , il est courant d'utiliser l'une des options de ligne de commande, telles que --passminlen option, pour configurer initialement le /etc/security/pwquality dossier. L'utilitaire définit des valeurs pour toutes les options au bas du fichier. Un administrateur peut alors modifier manuellement n'importe lequel de ces champs facilement avec un sed commande, ou en utilisant la commande Ansible lineinfile module.

Le faillock module est un exemple de modification des fichiers de configuration PAM qui n'est disponible qu'avec la version en ligne de commande de authconfig . Ce module compte les tentatives d'authentification échouées par utilisateur pendant un intervalle spécifié et verrouille le compte s'il y a trop d'échecs d'authentification consécutifs.

[demo]# authconfig --help | grep fail
  --enablefaillock           enable account locking in case of too many consecutive authentication failures
  --disablefaillock          disable account locking on too many consecutive authentication failures
  --faillockargs=<options>   the pam_faillock module options

Le faillock module est également un peu différent. Il existe des options pour activer et désactiver, mais il existe également une option pour passer des arguments. Le seuil de comptage peut être ajusté, tout comme la longueur de l'intervalle et le délai de déverrouillage. Vous pouvez également choisir si le module s'applique uniquement aux utilisateurs ordinaires ou également au compte root. La page de manuel pour pam_faillock montre les options valides et les exemples de la dernière ligne dans le /etc/pam.d/* des dossiers. Le --faillockargs option pour authconfig attend une chaîne entre guillemets de toutes les options que vous avez définies dans les fichiers PAM. Si vous la laissez désactivée, les options par défaut du module sont utilisées.

Lorsqu'il est désactivé, il n'y a aucune référence au pam_faillock module. Cependant, si vous grep pour juste échec vous pouvez voir le pam_faildelay modules :

[demo]# grep faillock /etc/pam.d/* # before enabling the faillock module

Assurez-vous de citer le faillock arguments si vous incluez cette option :

[demo]# authconfig --enablefaillock --faillockargs='deny=4 unlock_time=300' --update

Après avoir activé le module, plusieurs lignes sont ajoutées à plusieurs /etc/pam.d/*auth fichiers.

Qu'en est-il des modifications manuelles des fichiers PAM ?

Lors de l'exploration des fichiers PAM modifiés par authconfig , vous remarquerez peut-être que plusieurs fichiers dans le répertoire /etc/pam.d répertoire ont un commentaire en haut sur les modifications manuelles écrasées par l'utilitaire. L'utilitaire s'est étendu pour couvrir de nombreuses fonctionnalités PAM standard, mais il est parfois nécessaire d'apporter des modifications manuelles. Si vous apportez des modifications manuelles, vous devez désactiver les modifications directement à partir de authconfig .

Il existe un article de la base de connaissances et un article de blog sur les services qui fournissent des étapes pour les modifications manuelles. Vous pouvez également trouver des exercices de formation formels pour les modifications manuelles et approfondir plusieurs modules spécifiques en assistant au cours Red Hat Security :Linux in Physical, Virtual, and Cloud (RH415).

Après tout ça, c'est un outil obsolète ?

Le authconfig Les utilitaires ont été créés à l'origine pour faciliter la configuration de différents types d'authentification centralisée. Au fil des années, il s'est étendu pour gérer également d'autres configurations PAM. Dans les systèmes actuels, la plupart de l'authentification centralisée est désormais configurée via ipa-client-install ou realmd , qui attendent tous deux le sssd et le pam_sss modules. Le authselect l'utilitaire remplace authconfig dans les versions récentes de Fedora et a été introduit dans Red Hat Enterprise Linux avec la version 8. Ce nouvel outil gère les configurations via des profils et ne modifie plus tous les différents fichiers de configuration centralisés. Le focus est sur /etc/nsswitch.conf fichier et les fichiers de configuration PAM. Il dispose de nombreuses options similaires pour activer et désactiver des fonctionnalités telles que les lecteurs d'empreintes digitales, les cartes à puce et le faillock module. Vous pouvez en savoir plus sur la migration avec man authselect-migration .

[ Téléchargement gratuit :Aide-mémoire sur les commandes avancées de Linux. ]


Linux
  1. Comment utiliser l'outil de domaines cPanel

  2. Comment utiliser l'outil de ligne de commande sipcalc Linux

  3. Comment utiliser l'outil de mise à niveau RedHat pour mettre à niveau CentOS de 6.x vers CentOS 7 ?

  4. Comment installer et utiliser l'outil de ligne de commande Mosh Linux

  5. Tutoriel GPROF - Comment utiliser l'outil de profilage Linux GNU GCC

Comment utiliser l'outil MySQL Optimize

Comment utiliser l'outil de gestion de projet ONLYOFFICE

Comment installer et utiliser l'outil de surveillance des ressources Bpytop sur Ubuntu 20.04

Comment utiliser execl (exemple inclus)

Personnalisez Okular pour modifier les propriétés de l'outil de surbrillance

Outil de vérification grammaticale à utiliser avec LaTeX ?