Le fichier de configuration du système PAM
Les paramètres suivants sont disponibles lors de la configuration de IBM® Verify Gateway for Linux® PAM and AIX® PAM (Pluggable Authentication Modules).
#%PAM-1.0
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
...
#
# Authentication
#
authexec auth required pam_aix
dtaction auth required pam_aix
dtsession auth required pam_aix
...module_interface control_flag module_name [module_arguments]Interface du module
Le type d'interface de module auth seulement est pris en charge par
ce module pam_ibm_auth.so.
Nom du module
Le nom du module est pam_ibm_auth.so.
Arguments du module
auth sufficient pam_ibm_auth.so auth_method=choice-then-otp [otp-prompt=Enter OTP %C- ]- user_env= {name}
- Ajoutez une variable d'environnement PAM contenant « {name} = {user-json} » pour les modules PAM en aval. La valeur de ` {user-json} ` est une chaîne de caractères contenant les IBM Verify informations utilisateur au format JSON. Ce document est principalement destiné à aider les développeurs de modules PAM à intégrer leur module au module PAM d' IBM.
- prompt_choice_start= {prompt}
- La chaîne « {prompt} » s'affiche juste avant la liste des choix d' 2FA. Par exemple, si le fichier ` {prompt} ` contient « Choisissez l'une des options suivantes :\n », vous pourriez voir s'afficher :
Choose one of: 1) user@us.ibm.com 2) 15551234567 3) TOTP Your choice (1->3): - prompt_choice_end= {prompt}
- La chaîne « {prompt} » s'affiche juste avant la liste des choix d' 2FA. Toute valeur %T présente dans cette balise {prompt} est remplacée par un nombre correspondant au nombre total de choix. Par exemple, si le fichier « {prompt} » contenait « Votre choix (1->%T) : », vous pourriez voir s'afficher :
Choose one of: 1) user@us.ibm.com 2) 15551234567 3) TOTP Your choice (1->3): - prompt_trans_email= {prompt}
- prompt_trans_sms= {prompt}
- prompt_totp= {prompt}
- prompt_email= {prompt}
- prompt_sms= {prompt}
- prompt_voice= {prompt}
- prompt_device_presence= {prompt}
- prompt_device_biometric= {prompt}
- Ces arguments permettent de personnaliser l'option d'invite pour chaque type d' 2FA. Les substitutions suivantes peuvent être appliquées :
- %I L'index des options d' 2FA
- %N La valeur associée au nom de l'option 2FA (par exemple, une adresse e-mail)
- %T Nombre total de choix
Choose one of: 1) user@us.ibm.com 2) Unvalidated SMS 15551234567 3) TOTP Your choice (1->3):Remarque : ces options peuvent rendre les arguments du module PAM très longs et difficiles à gérer. Pour remédier à cela, bon nombre des arguments du module peuvent être déplacés dans le /etc/pam_ibm_auth.json fichier; voir la fonctionnalité « additional-args » sous l'objet « pam » dans ce fichier. - device_prompt= {prompt}
- Si cette option est activée, le message indiqué s'affiche à l'écran lorsque l'utilisateur doit donner son accord sur un appareil 2FA. Utilisation de cette fonctionnalité avec SSH. présente certaines limites. Certains serveurs SSH affichent un message (sans demander de saisie), d'autres non. Par défaut, aucune notification n'est envoyée; l'alerte s'affiche directement sur l'appareil de l'utilisateur.
- user_name_attr= {attr_name}
Associe le nom d'utilisateur fourni à PAM à un IBM Verify utilisateur, en fonction de la correspondance avec un attribut présent dans la fiche Verify de cet utilisateur. Par exemple, le nom d'utilisateur PAM pourrait être ajouté à un Verify attribut utilisateur personnalisé intitulé « Autre nom d'utilisateur ». Cet attribut personnalisé spécifie
user_name_attr=urn:ietf:params:scim:schemas:extension:ibm:2.0:User:customAttributes.otherUserNamePar défaut, l'attribut utilisateur « "userName" » est utilisé pour identifier l'utilisateur Verify correspondant au nom d'utilisateur PAM.
- gecos_match= {regex}
- gecos_replace= {replace_format}
- Ces arguments sont utilisés à la place de la
gecos_field/gecos_separatorméthode. La méthode « {regex} » sert à faire correspondre la valeur GECOS de l'utilisateur et extrait cette valeur afin de la fournir augecos_replaceformat. Consultez la page de manuel regex(7) pour plus de détails sur les expressions régulières.Cette
{replace_format}valeur sert à générer le Verify nom de l'utilisateur. Pour{replace_format}tout $N, où N vaut entre 1 et 9, est remplacé par l'atome d'expression régulière correspondant (pat), issu de la correspondance « {regex} ».Par exemple :[gecos_match=^([^/\]+)/([^/\]+)/([^/\]+)] [gecos_replace=$3/$1@MyRealm]Remarque : lorsque vous utilisez la méthode PAM [arg], tout caractère ] présent dans arg doit être échappé à l'aide du caractère \.Si le champ GECOS était
"Test User/+15551234567/ibm.com"alors l'utilisateur généré est"ibm.com/Test User@MyRealm" - débogage
- Cet argument est une option de module PAM standard. Utilisez l'appel
syslog()pour consigner des informations de débogage dans les fichiers journaux du système. - nowarn
- Cet argument est une option de module PAM standard. L'option
nowarndésactive la génération d'avertissements, notamment relatifs à l'expiration des mots de passe. - ibm_auth_config={config-file}
- Si aucune valeur n'est spécifiée, la valeur par défaut s'applique /etc/pam_ibm_auth.json aux systèmes Linux et UNIX™. Ce fichier contient la configuration de l'API d'authentification d' IBM, qui comprend les Verify informations de connexion au serveur. Voir le fichier de configuration du module.
- auth_method={auth_method}
- Cet argument est facultatif et la méthode par défaut est la validation des mots de
passe à utilisation unique limitée dans le temps (TOTP). Cet argument spécifie la méthode d'authentification qui est requise pour authentifier les
utilisateurs. La liste de méthodes d'authentification ci-dessous inclut en premier les
méthodes
qui acceptent un mot de passe. Dans ces méthodes, le terme « mot de passe » désigne le Verify mot de passe de l'utilisateur, et non le mot de passe UNIX.pam_unix.soRemarque : si un mot de passe a été fourni à un module PAM lancé précédemment, par exemple, ce mot de passe est utilisé dans toutes Verify
auth methodsles opérations nécessitant un mot de passe. Si le mot de passe fourni précédemment et le Verify mot de passe ne correspondent pas, l'authentification échoue. Ce problème est une limitation connue.
SiTableau 1. Valeurs admissibles Valeur Descriptif mot de passe Un mot de passe valide Verify est requis. password-and-totp Il faut saisir le Verify mot de passe et la valeur TOTP en une seule saisie. Vous pouvez indiquer si le mot de passe ou la valeur de mot de passe à utilisation unique limitée dans le temps (TOTP) apparaît en premier dans la valeur et configurer le caractère utilisé pour séparer les deux valeurs. Par défaut, le format est TOTP:password.password-then-totp Il faut saisir un Verify mot de passe; si celui-ci est correct, une valeur TOTP est demandée et validée. totp Une valeur de mot de passe à utilisation unique limitée dans le temps (TOTP) est demandée, puis validée. password-then-smsotp Un Verify mot de passe doit être saisi; si la saisie est validée, un SMS contenant un code à usage unique (OTP) est envoyé sur le téléphone portable enregistré de l'utilisateur. Ensuite, le module PAM demande la valeur SMSOTP à l'utilisateur et la valide. smsotp La validation du mot de passe à utilisation unique envoyé par SMS est initiée et la valeur de mot de passe à utilisation unique envoyée par SMS est demandée, puis validée. password-then-emailotp Il faut saisir un Verify mot de passe; si la saisie est validée, un e-mail contenant un mot de passe à usage unique (OTP) est envoyé à l'utilisateur. Le module PAM demande la valeur EmailOTP et la valide. emailotp La validation du mot de passe à utilisation unique envoyé par courrier électronique est initiée et le module PAM demande la valeur de mot de passe à utilisation unique envoyée par courrier électronique, puis la valide. password-then-choice-then-otp Il faut saisir un Verify mot de passe; si celui-ci est correct, l'utilisateur est invité à choisir l'une de ses options d'authentification à usage unique (OTP). Une fois le choix effectué, la validation du mot de passe à utilisation unique est initiée et l'utilisateur est invité à entrer la valeur de mot de passe à utilisation unique. Remarque :- Si l'utilisateur est inscrit à une seule méthode d'authentification par mot de passe à utilisation unique (OTP), l'étape de choix est ignorée et l'utilisateur est directement invité à entrer la valeur de mot de passe à utilisation unique.
- Si l'utilisateur n'est pas inscrit à une méthode d'authentification par mot de passe
à utilisation unique (OTP), le paramètre
"reject-on-missing-auth-method"est appliqué. - Si l'option
"add_devices_to_choice"est activée, les options d'appareil sont ajoutées à la liste. Reportez-vous à la méthode d'authentification de l'appareil pour des détails sur les options ajoutées. - Si l'option
"transients_in_choice"est activée, les sources de courriers électroniques et de SMS transitoires sont répertoriées en tant qu'options. - Si l'option
"voice_in_choice"est activée, l'entrée Mot de passe à utilisation unique envoyé par message vocal est répertoriée en tant qu'option.
choice-then-otp L'utilisateur est invité à choisir l'une de ses inscriptions à l'authentification par mot de passe à utilisateur unique (OTP). Une fois le choix effectué, la validation du mot de passe à utilisation unique est initiée et l'utilisateur est invité à entrer la valeur de mot de passe à utilisation unique. Remarque :- Si l'utilisateur est inscrit à une seule méthode d'authentification par mot de passe à utilisation unique (OTP), l'étape de choix est ignorée et l'utilisateur est directement invité à entrer la valeur de mot de passe à utilisation unique ou la vérification d'appareil.
- Si l'utilisateur n'est pas inscrit à une méthode d'authentification par mot de passe
à utilisation unique (OTP), le paramètre
reject-on-missing-auth-methodest appliqué. - Si l'option
"add_devices_to_choice"est activée, les options d'appareil sont ajoutées à la liste. Reportez-vous à la méthode d'authentification de l'appareil pour des détails sur les options ajoutées. - Si l'option
"transients_in_choice"est activée, les sources de courriers électroniques et de SMS transitoires sont répertoriées en tant qu'options. - Si l'option
"voice_in_choice"est activée, l'entrée Mot de passe à utilisation unique envoyé par message vocal est répertoriée en tant qu'option.
password-then-device Il faut saisir un Verify mot de passe; si celui-ci est correct, l'utilisateur est invité à s'identifier à l'aide de l'application « IBM Verify » sur son téléphone. périphérique L'utilisateur est invité à se valider lui-même à l'aide de l'application IBM Verify sur son téléphone. Si plusieurs appareils sont disponibles, l'utilisateur doit effectuer un choix. Remarque : cette option"add_devices_to_choice="permet de choisirfingerprintentre etuserPresence. L'un de ces deux attributs seulement peut être utilisé pour un appareil particulier.password-then-transsmsotp Il faut saisir un Verify mot de passe; une fois celui-ci validé, l'utilisateur est invité à saisir le mot de passe à usage unique (OTP) qui lui a été envoyé par SMS sur son téléphone portable. Le numéro de téléphone est celui qui est défini dans l'enregistrement utilisateur. transsmsotp L'utilisateur est invité à fournir le mot de passe à utilisation unique envoyé par SMS sur son téléphone mobile. Le numéro de téléphone est celui qui est défini dans l'enregistrement utilisateur. password-then-transemailotp Il faut saisir un Verify mot de passe; une fois celui-ci validé, l'utilisateur est invité à saisir le mot de passe à usage unique (OTP) qui lui a été envoyé par e-mail. L'adresse électronique est celle qui est définie dans l'enregistrement utilisateur. transemailotp L'utilisateur est invité à fournir le mot de passe à utilisation unique qui lui a été envoyé par courrier électronique. L'adresse électronique est celle qui est définie dans l'enregistrement utilisateur. voiceotp L'utilisateur reçoit un appel sur son téléphone et un message vocal lui transmet la valeur Mot de passe à utilisation unique envoyé par message vocal à utiliser pour valider la connexion. mot de passe puis OTP vocal Il faut saisir un IBM Verify mot de passe. Si cette information est fournie avec succès, un appel est passé vers le téléphone de l'utilisateur, et un message vocal lui communique le code OTP qu'il doit utiliser pour valider sa connexion. mot-de-passe-et-totp-ou-appareil Si une valeur TOTP est détectée dans le mot de passe fourni par l'utilisateur, la password-and-totpméthode équivalente est alors utilisée. Pour plus d'informations, consultez la page password-and-totp.Si aucune valeur TOTP n'est détectée dans le mot de passe fourni par l'utilisateur, la
password-and-deviceméthode équivalente est alors utilisée. Pour plus d'informations, consultez la section « Mot de passe puis appareil ».Remarque : si le mot de passe réel de l'utilisateur commence ou se termine par six chiffres suivis d'un séparateur, le serveur RADIUS risque de le confondre avec une valeur TOTP intégrée. Par exemple, l'optionpassword-firstest définie sur « false » et le mot de passe commence par les six chiffres et le séparateur. De même, si cette option est définie sur « true » et que le mot de passe se termine par un séparateur suivi de six chiffres, la même condition s'applique. Dans les deux cas, une notification push ne peut pas servir de deuxième facteur pour l'authentification RADIUS. Le serveur RADIUS l'interprète comme une valeur TOTP et tente de la valider. La validation échoue et l'authentification est refusée."password"ne figure pas dans la valeur auth-method, par exemple"device", le module libpam_ibm_auth.so peut être préfixé par le module PAM UNIX/Linux standard afin d'authentifier un mot de passe local pour former les deux facteurs. Il peut également être ignoré pour une authentification sans mot de passe. - accept_on_missing_auth_method
- Cet argument est facultatif. S'il est défini et que l'utilisateur n'est pas enregistré pour l'authentification à deux facteurs, l'utilisateur est authentifié. Si cette option n'est pas définie et que l'utilisateur n'est pas enregistré pour l'authentification à deux facteurs, l'utilisateur n'est pas authentifié.
- otp_prompt={promt_str}
- Cet argument est facultatif. Par défaut, il s'agit de la chaîne en anglais
"Enter OTP %C- ". Cette chaîne est affichée lorsque l'utilisateur est invité à saisir le mot de passe à utilisation unique. Les caractères%Cdans l'invite sont remplacés par la corrélation de mot de passe à utilisation unique (OTP) ou la chaîne vide pour le mot de passe à utilisation unique limitée dans le temps (TOTP). Les caractères%%dans l'invite sont remplacés par un caractère%unique. - password_first
- Cet argument est facultatif. Il n'a d'impact que sur la méthode d'authentification
"password-and-totp"et détermine l'ordre des valeurs de mot de passe et de mot de passe à utilisation unique limitée dans le temps (TOTP) dans la chaîne que l'utilisateur doit fournir.totp:passwordEn règle générale, le mot de passe se trouve à la fin de la chaîne, après le caractère de séparation.password:totpSi cet argument est défini, le mot de passe doit figurer au début de la chaîne, avant le caractère de séparation. - password_separator={sep_char}
- Cet argument est facultatif. Par défaut, le caractère de séparation est :
(deux-points). Il n'a d'impact que sur la méthode d'authentification
"password-and-totp"et spécifie le caractère que l'utilisateur doit employer pour séparer la valeur de mot de passe à utilisation unique limitée dans le temps (TOTP) et la valeur de mot de passe. - verify_method_order={order}
- Cet argument est facultatif. Par défaut, sa valeur est
"fingerprint,userPresence". Cette option indique laquelle des deux valeurs est prioritaire. L'ordre par défaut donne la priorité à la valeur fingerprint, si elle est indiquée.Remarque : si l'option « add_devices_to_choice » est activée, l'option"device"`auth_method` n'utilise qu'une seule des méthodes suivantes : soitfingerprint`,` soituserPresence`.` - verify_message={message}
- Cet argument est facultatif et sa valeur par défaut est"Do you approve the request from
{hostname}?"où
{hostname}correspond au nom de l'hôte sur lequel s'exécute le module PAM. Si la méthode d'authentification"device"est utilisée, l'appareil de l'utilisateur affiche ce message lorsque l'utilisateur est invité à vérifier l'accès. - append={string}
- Cet argument est facultatif. Par défaut, sa valeur est
"". À la fin du processus de mappage du nom d'utilisateur UNIX vers un Verify nom d'utilisateur, cette chaîne est ajoutée à la fin du nom d'utilisateur obtenu Verify . Un cas d'utilisation courant consiste à associer le Verify domaine utilisateur à l'utilisateur, par exemple « »@www.ibm.com"pour le domaine utilisateur w3id. - add_devices_to_choice
- Cet argument est facultatif. Le comportement par défaut consiste à ne pas ajouter
les enregistrements d'appareil de l'utilisateur aux méthodes d'authentification
"choice-then-otp"et"password-then-choice-then-otp". Si cet argument est défini, les enregistrements d'appareil sont ajoutés à la liste des choix de l'utilisateur pour l'authentification à deux facteurs. - exempt_group={unix_group_name}
- Cette valeur est facultative. Par défaut, il s'agit de
exempt_group. Lorsque ce paramètre est activé, le groupe UNIX spécifié sert à déterminer si la connexion d'un utilisateur UNIX est dispensée de l'authentification par l' 2FA. Si un utilisateur UNIX se trouve dans le groupe, il n'a pas besoin de se soumettre à l'authentification à deux facteurs. - 2fa_group={unix_group_name}
- Cette valeur est facultative. Lorsque cette option est activée, le groupe UNIX spécifié sert à déterminer si la connexion d'un utilisateur UNIX nécessite une authentification par le service d' 2FA. Lorsque cette option est activée et que l'utilisateur UNIX ne fait pas partie du groupe, aucune demande d' 2FA ne lui est adressée.
- retry={num_retries}
- Cet argument est facultatif et sa valeur par défaut est 3. Il définit le nombre de tentatives d'un utilisateur s'il fournit une valeur 2FA non valide, par exemple, une mauvaise valeur de mot de passe TOTP. Il définit également le nombre de nouvelles tentatives de sélection du type de mot de passe à utilisation unique à employer pouvant être effectuées au cours de l'étape de choix.
- failmode_insecure
- Cette valeur est facultative. Par défaut, il s'agit du mode sécurisé
failmode. Cet argument détermine le comportement lorsque le Verify module PAM ne parvient pas à se connecter au Verify serveur. Si ce paramètre est défini, l'authentification par « 2FA » aboutit même lorsque le Verify serveur est inaccessible. Si cette option n'est pas définie, toutes les authentifications nécessitant une 2FA échoueront si le Verify serveur est inaccessible. - gecos_field={field_number}
- Cet argument est facultatif. Le comportement par défaut consiste à ne pas utiliser la zone GECOS de l'utilisateur. Lorsqu'il est défini sur une valeur comprise entre 1 et 32, le champ GECOS associé à l'utilisateur UNIX est utilisé comme nom Verify d'utilisateur. L'option append continue d'avoir un impact sur cette valeur. La première zone GECOS est associée au numéro de zone 1.
- gecos_separator={char}
- Cet argument est facultatif. Par défaut, sa valeur est , (virgule). Cette valeur définit le caractère de séparation de la zone GECOS.
- id={pam_module_id}
- Cet argument est facultatif. Par défaut, sa valeur est
"pam_ibm_auth". Si plusieurs instances du module Verify PAM sont présentes dans l'ensemble des modules PAM configurés pour authentifier un utilisateur, chacune d'entre elles doit alors se voir attribuer un identifiant unique. Sinon, les modules risquent d'interférer les uns avec les autres. - identity_source={id}
- Cet argument est facultatif. Le comportement par défaut consiste à utiliser la
source d'identité Cloud Directory. Si cet argument est défini, il spécifie la source
d'identité à
utiliser pour authentifier les utilisateurs. Les
utilisateurs sont authentifiés avec une source d'identité passe-système LDAP
configurée. Une liste des sources d'identité configurées et de leurs identifiants peut être obtenue en envoyant une
GETrequête à : https://<tenant>/verify/v1.0/authnmethods/password. - ignore_isvalidated
- Cette valeur est facultative. Par défaut, il s'agit de
false. Si la valeur esttrue, le module PAM tente d'utiliser des méthodes d'authentification à deux facteurs pertinentes même si celles-ci n'ont pas été validées. - transients_in_choice
- Cet argument ajoute des adresses électroniques et des numéros de téléphone transitoires à la liste des méthodes utilisées pour l'authentification à l'aide d'un mot de passe à utilisation unique.
- voice_in_choice
- Cet argument ajoute le mot de passe à utilisation unique envoyé par message vocal à la liste des méthodes utilisées pour s'authentifier via un mot de passe à utilisation unique envoyé par message vocal.
- transient_choices={choices}
- Cet argument répertorie les choix et les méthodes transitoires disponibles. Sa valeur doit être
"emails"et/ou"phoneNumbers". Les choix doivent être séparés par une virgule , (virgule). - poll_timeout={seconds}
- Cet argument spécifie le délai pendant lequel l'utilisateur peut valider la connexion depuis son appareil. Si le délai est dépassé, la connexion échoue.
- no_enrollments_in_choice
Cet argument indique qu'aucune inscription à l'authentification par mot de passe à utilisation unique limitée dans le temps (TOTP), envoyé par SMS ou par courrier électronique, ne doit être ajoutée dans les choix. Pour qu'un choix soit disponible, vous devez configurer
transients_in_choiceouadd_devices_to_choice, ou les deux.- id_link_attr= {attr_name}
- Lorsque plusieurs sources d'identité sont définies dans le tenant et qu'elles utilisent la liaison d'identité, cet élément de configuration définit le nom d'un attribut de l'utilisateur, identifié par « user_name_attr », qui permet d'identifier le nom d'utilisateur à utiliser pour la validation du mot de passe. Exemples de valeurs pour « {attr_name} » :
Définition des méthodes d' 2FA s fournies dans la liste « auth_methods »
Comment activer ou désactiver les types d'authentification à deux facteurs proposés dans la liste « auth_methods ».
| 2FA Type | Par défaut | Option d'activation/désactivation | Descriptif |
|---|---|---|---|
| OTP par SMS, OTP par e-mail | activé | no_enrollments_in_choice | Les mots de passe à usage unique par SMS, par e-mail ou à durée limitée sont activés par défaut et doivent être désactivés explicitement pour ne plus être disponibles. |
| périphérique | désactivé(e) | add_devices_to_choice | Les notifications push sur l'appareil, qu'elles soient liées à la biométrie (empreinte digitale) ou à la présence (accès à l'application de l'appareil), sont désactivées par défaut et doivent être activées explicitement si nécessaire. L'option `verify_method_order` détermine l'ordre de priorité et les méthodes utilisées. |
| transsmsotp transemailotp | désactivé(e) | transients_in_choice | Les données temporaires (valeurs non vérifiées du compte utilisateur pour le numéro de téléphone portable et l'adresse e-mail) sont désactivées par défaut et doivent être activées explicitement si nécessaire. L'option `transient_choices=` permet de déterminer si `smsotp` et/ou `emailotp` sont utilisés. |
| voiceotp | désactivé(e) | voice_in_choice | Le mot de passe à usage unique par rappel téléphonique est désactivé par défaut et doit être activé explicitement si nécessaire. L'utilisateur doit s'inscrire explicitement à cette méthode pour qu'elle soit disponible. |