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}
- Ajouter une variable d'environnement PAM contenant " {name} = {user-json} " pour les modules PAM en aval. La valeur de {user-json} est une chaîne contenant les informations de l'utilisateur IBM Verify au format JSON. Utilisé principalement pour aider les développeurs du module PAM à intégrer le module PAM de IBM.
- prompt_choice_start= {prompt}
- La chaîne {prompt} est générée immédiatement avant la liste des options 2FA . Par exemple, si {prompt} contient "Choose one of: \n", vous pouvez voir:
Choose one of: 1) user@us.ibm.com 2) 15551234567 3) TOTP Your choice (1->3): - prompt_choice_end= {prompt}
- La chaîne {prompt} est générée immédiatement avant la liste des options 2FA . Toute valeur %T dans cette {prompt} est remplacée par un nombre représentant le nombre total de choix. Par exemple, si {prompt} contient "Your choice (1-> %T):", vous pouvez voir:
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}
- voix_primaire= {prompt}
- présence_du_dispositif_de_primaire= {prompt}
- prompt_device_biomertic= {prompt}
- Ces arguments personnalisent l'option d'invite pour chaque type 2FA . Les substitutions suivantes peuvent être appliquées:
- %I Index de l'option 2FA
- %N Valeur associée au nom de l'option 2FA (par exemple, une adresse électronique)
- %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 surmonter ce nombre d'arguments de module pouvant être déplacés dans le fichier /etc/pam_ibm_auth.json , voir la fonction "additional-args" sous l'objet "pam" dans ce fichier. - device_prompt= {prompt}
- Si cette option est définie, le message spécifié s'affiche pour l'utilisateur lorsqu'il doit l'approuver sur un appareil 2FA . L'utilisation de cette option avec SSH. présente certaines limitations. Certains serveurs SSH transmettent un message (sans demander d'entrée), d'autres non. Par défaut, aucune invite n'est envoyée, elle dépend de l'appareil de l'utilisateur pour l'alerte.
- nom_utilisateur_attr= {attr_name}
Associe le nom d'utilisateur fourni à PAM à un utilisateur IBM Verify , en fonction d'un attribut contenu dans l'utilisateur Verify . Par exemple, le nom de l'utilisateur PAM peut être ajouté à un attribut personnalisé de l'utilisateur Verify appelé 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 localiser l'utilisateur Verify qui correspond au nom d'utilisateur PAM.
- gecos_match= {regex}
- gecos_replace= {replace_format}
- Ces arguments sont utilisés comme alternative à la méthode
gecos_field/gecos_separator. {regex} est utilisé pour correspondre à la valeur GECOS de l'utilisateur et extrait la valeur à fournir au formatgecos_replace. Voir la page de manuel regex (7) pour plus de détails sur regex.La valeur
{replace_format}est utilisée pour générer le nom de l'utilisateur Verify . Dans le site{replace_format}, tout $N, où N est compris entre 1 et 9, est remplacé par l'atome de regex correspondant, (pat), de la correspondance {regex}.Par exemple :[gecos_match=^([^/\]+)/([^/\]+)/([^/\]+)] [gecos_replace=$3/$1@MyRealm]Remarque: lors de l'utilisation de la méthode PAM [ arg ], tous les caractères imbriqués dans l'arg doivent être placés entre guillemets à l'aide de \.Si la zone GECOS est
"Test User/+15551234567/ibm.com", 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 rien n'est spécifié, la valeur par défaut est /etc/pam_ibm_auth.json pour les systèmes Linux et UNIX™. Ce fichier contient la configuration de l'API d'authentification IBM qui contient les détails de connexion du serveur Verify . 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 mot de passe fait référence au mot de passe de l'utilisateur Verify et non au mot de passe UNIX.Remarque: Si un mot de passe a été fourni à un module PAM précédemment démarré, par exemple pam_unix.so, ce mot de passe est utilisé dans tout Verify
auth methodsqui implique un mot de passe. Si le mot de passe fourni précédemment et le mot de passe Verify ne correspondent pas, l'authentification échoue. Ce problème est une limitation connue.
SiTableau 1. Valeurs acceptables Valeur Descriptif Mot de passe Requiert un mot de passe Verify valide. password-and-totp Un mot de passe Verify plus une valeur TOTP doit être fourni en une seule valeur. 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 Un mot de passe Verify doit être fourni et, s'il est correctement fourni, 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 mot de passe Verify doit être fourni et, s'il est correctement fourni, un message SMS est envoyé à l'appareil mobile enregistré de l'utilisateur avec une valeur de mot de passe à utilisation unique. 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 Un mot de passe Verify doit être fourni et, s'il est correctement fourni, un message électronique est envoyé à l'utilisateur avec une valeur de mot de passe à utilisation unique. 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 Un mot de passe Verify doit être fourni et, s'il est correctement fourni, l'utilisateur est invité à choisir l'une de ses inscriptions à l'authentification par mot de passe à utilisation unique. 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 Un mot de passe Verify doit être fourni et, s'il est correctement fourni, l'utilisateur est invité à se valider à 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: l'option"add_devices_to_choice="détermine s'il faut utiliserfingerprintouuserPresence. L'un de ces deux attributs seulement peut être utilisé pour un appareil particulier.password-then-transsmsotp Un mot de passe Verify doit être fourni et, s'il est correctement fourni, l'utilisateur est invité à fournir le mot de passe à utilisation unique envoyé par SMS à son téléphone mobile. 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 Un mot de passe Verify doit être fourni et, s'il est correctement fourni, 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. 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-voiceotp Un mot de passe IBM Verify doit être fourni. S'il est correctement fourni, un appel est effectué au téléphone de l'utilisateur et un message vocal informe l'utilisateur de la valeur OTP que muse doit être utilisée pour valider la connexion. mot-de-passe-et-totp-ou-dispositif Si une valeur TOTP est détectée dans le mot de passe fourni par l'utilisateur, la méthode équivalente à la méthode " password-and-totpest utilisée. Pour plus d'informations, voir password-and-totp.Si aucune valeur TOTP n'est détectée dans le mot de passe fourni par l'utilisateur, la méthode équivalente à la méthode "
password-and-deviceest utilisée. Pour plus d'informations, voir password-then-device.Remarque : si le mot de passe réel de l'utilisateur commence ou se termine par six chiffres et un séparateur, le serveur RADIUS peut le confondre avec une valeur TOTP intégrée. Par exemple, l'option "password-firstest définie sur false et le mot de passe commence par les six chiffres et le séparateur. De même, si la valeur est fixée à true et que le mot de passe se termine par un séparateur et six chiffres, la même condition s'applique. Dans l'un ou l'autre cas, une poussée de l'appareil ne peut pas être utilisée comme 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 rejeté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. Normalement, le mot de passe est fourni à la fin de la chaîne après le caractère de séparationtotp:password. Si l'argument est défini, le mot de passe doit être fourni au début de la chaîne avant le caractère de séparationpassword:totp. - 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,fingerprintouuserPresence. - verify_message={message}
- Cet argument est facultatif et prend par défaut la valeur"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
"". A la fin du processus de mappage du nom d'utilisateur UNIX à un nom d'utilisateur Verify , cette chaîne est ajoutée au nom d'utilisateur Verify résultant. Un cas d'utilisation typique consiste à ajouter le domaine utilisateur Verify à 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 cet argument est défini, le groupe UNIX spécifié est utilisé pour déterminer si une connexion utilisateur UNIX est exemptée de l'authentification 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é est utilisé pour déterminer si la connexion d'un utilisateur UNIX nécessite un 2FA. Lorsque cette option est activée et que l'utilisateur UNIX ne fait pas partie du groupe, l'utilisateur n'est pas invité à utiliser la 2FA.
- 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 affecte le comportement lorsque le module PAM d' Verify ne parvient pas à se connecter au serveur Verify . Si cet argument est défini, l'authentification 2FA aboutit lorsque le serveur Verify est inaccessible. Si l'option n'est pas fournie, toutes les authentifications qui requièrent une 2FA échouent si le serveur Verify 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'elle est définie sur une valeur comprise entre 1 et 32, la zone GECOS spécifiée à partir de l'utilisateur UNIX est utilisée comme nom d'utilisateur Verify . 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 occurrences du module PAM d' Verify se produisent dans l'ensemble de modules PAM configurés pour authentifier un utilisateur, un ID unique doit être attribué à chaque instance. 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 collection de sources d'identité configurées et leurs ID peuvent être extraits à partir d'une demande
GETenvoyée à: 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}
- Lorsqu'il existe plusieurs sources d'identité définies dans le titulaire et qu'elles utilisent la liaison d'identité, cet élément de configuration définit le nom d'un attribut de l'utilisateur localisé par "user_name_attr" qui identifie le nom d'utilisateur par rapport auquel le mot de passe doit être validé. Exemple de valeurs {attr_name} :
Définition des méthodes 2FA fournies dans le choix auth_methods
Comment activer ou désactiver les types d'authentification deuxième facteur présentés dans le choix de méthodes d'authentification.
| Type 2FA | Par défaut | Option d'activation/désactivation | Descriptif |
|---|---|---|---|
| Emailotp totp smsotp | activé | no_enrollments_in_choice | L'heure, le SMS et le mot de passe à utilisation unique par e-mail sont inclus par défaut et doivent être explicitement désactivés pour qu'ils ne soient pas présents. |
| périphérique | désactivé(e) | add_devices_to_choice | La fonction push de l'appareil, à la fois la biométrie (empreinte digitale) et la présence (accès à l'application de l'appareil), sont désactivées en tant que choix par défaut et doivent être explicitement activées si nécessaire. L'option verify_method_order détermine la priorité et les éléments utilisés. |
| transsmsotp transemailotp | désactivé(e) | transients_in_choice | Les valeurs de compte utilisateur transitoires (non vérifiées pour le téléphone mobile et l'e-mail) sont désactivées par défaut et doivent être explicitement activées si nécessaire. L'option transient_choices= détermine laquelle des options smsotp et/ou emailotp est utilisée. |
| voiceotp | désactivé(e) | voice_in_choice | Le mot de passe à usage unique basé sur le rappel vocal est désactivé par défaut et doit être explicitement activé si nécessaire. L'utilisateur doit s'inscrire explicitement à cette méthode pour qu'elle soit disponible. |