Il file di configurazione del sistema PAM
I seguenti parametri sono disponibili durante la configurazione di 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]Interfaccia del modulo
Solo il tipo module_interface di auth è supportato da questo modulo pam_ibm_auth.so .
Nome modulo
Il nome del modulo è pam_ibm_auth.so.
Argomenti del modulo
auth sufficient pam_ibm_auth.so auth_method=choice-then-otp [otp-prompt=Enter OTP %C- ]- user_env= {name}
- Aggiungere una variabile d'ambiente PAM contenente " {name} = {user-json} " per i moduli PAM a valle. Il valore di {user-json} è una stringa contenente le informazioni sull'utente IBM Verify in formato JSON. Utilizzato principalmente per aiutare gli sviluppatori di moduli PAM a integrarsi con il modulo PAM di IBM.
- prompt_choice_start= {prompt}
- La stringa {prompt} viene emessa immediatamente prima dell'elenco di scelte 2FA . Ad esempio, se {prompt} contiene "Scegli uno dei seguenti: \n" potrebbe essere visualizzato:
Choose one of: 1) user@us.ibm.com 2) 15551234567 3) TOTP Your choice (1->3): - prompt_choice_end= {prompt}
- La stringa {prompt} viene emessa immediatamente prima dell'elenco di scelte 2FA . Qualsiasi valore %T in questo {prompt} viene sostituito con un numero che rappresenta il numero totale di scelte. Ad esempio, se {prompt} conteneva "Your choice (1 -> %T):" potresti vedere:
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_biomertic= {prompt}
- Questi argomenti personalizzano l'opzione prompt per ogni tipo 2FA . Possono essere applicate le seguenti sostituzioni:
- %I L'indice dell'opzione 2FA
- %N Il valore associato al nome opzione 2FA (ad esempio, un indirizzo email)
- %T Il numero totale di scelte
Choose one of: 1) user@us.ibm.com 2) Unvalidated SMS 15551234567 3) TOTP Your choice (1->3):Nota: queste opzioni possono far sì che gli argomenti del modulo PAM diventino molto lunghi e difficili da gestire. Per superare questo numero di argomenti del modulo che è possibile spostare nel file /etc/pam_ibm_auth.json , consultare la funzione "additional-args" sotto l'oggetto "pam" in questo file. - device_prompt= {prompt}
- Se impostato, il messaggio specificato viene visualizzato per gli utenti quando devono approvare un dispositivo 2FA . L'uso di questo con SSH. ha alcune limitazioni. Alcuni server SSH passano un messaggio (senza richiedere l'input), altri no. Per impostazione predefinita, non viene inviata alcuna richiesta, si basa sul dispositivo dell'utente per l'avviso.
- nome_utente={attr_name}
Mappa il nome dell'utente fornito a PAM in un utente di IBM Verify , in base alla corrispondenza con un attributo contenuto nell'utente di Verify . Ad esempio, il nome dell'utente PAM potrebbe essere aggiunto a un attributo personalizzato dell'utente Verify chiamato altro nome utente. Tale attributo personalizzato specifica
user_name_attr=urn:ietf:params:scim:schemas:extension:ibm:2.0:User:customAttributes.otherUserNamePer impostazione predefinita, l'attributo utente "userName" viene usato per individuare l'utente Verify che corrisponde al nome dell'utente PAM.
- gecos_match= {regex}
- gecos_replace= {replace_format}
- Questi argomenti sono utilizzati come alternativa al metodo
gecos_field/gecos_separator. {regex} viene utilizzato per corrispondere al valore GECOS dell'utente ed estrae il valore da fornire al formatogecos_replace. Vedi la pagina man di regex (7) per i dettagli su regex.Il valore
{replace_format}viene utilizzato per generare il nome dell'utente Verify . In{replace_format}qualsiasi $N, dove N è 1 -> 9, viene sostituito dall'atomo di regex corrispondente, (pat), della corrispondenza {regex}.Ad esempio:[gecos_match=^([^/\]+)/([^/\]+)/([^/\]+)] [gecos_replace=$3/$1@MyRealm]Nota: quando si utilizza il metodo PAM [ arg], i caratteri] incorporati in arg devono essere racchiusi tra virgolette utilizzando \.Se il campo GECOS era
"Test User/+15551234567/ibm.com", l'utente generato è"ibm.com/Test User@MyRealm" - eseguire il debug
- Questo argomento è un'opzione del modulo PAM standard. Utilizzare la chiamata
syslog()per registrare le informazioni di debug sui file di log di sistema. - nosare
- Questo argomento è un'opzione del modulo PAM standard. L'opzione
nowarndisabilita la generazione di avvisi, incluse le avvertenze di scadenza delle password. - ibm_auth_config= {config-file}
- Se non specificato, l'impostazione predefinita è /etc/pam_ibm_auth.json per Linux e sistemi UNIX™. Questo file contiene la configurazione dell'API di autenticazione IBM che contiene i dettagli di connessione al server Verify . Vedi Il file di configurazione del modulo.
- auth_metod={auth_method}
- Questo argomento è facoltativo e predefinito per la validazione TOTP. Questo argomento specifica il metodo di autenticazione necessario per autenticare gli utenti. Il seguente elenco di metodi di autenticazione include alcuni metodi che accettano prima una password. La password in questi metodi fa riferimento alla password utente Verify , non alla password UNIX.Nota: se una password è stata fornita a un modulo PAM precedentemente avviato, ad esempio pam_unix.so, tale password viene utilizzata in qualsiasi Verify
auth methodsche implichi una password. Se la password precedentemente fornita e la password Verify non corrispondono, l'autenticazione ha esito negativo. Questo problema rappresenta una limitazione nota.
SeTabella 1. Valori accettabili Valore Descrizione Password Richiede una password Verify valida. password - e - totp Una password Verify più un valore TOTP deve essere fornita in un singolo valore. È possibile configurare se la password o il valore TOTP è prima nel valore, e configurare il carattere utilizzato per separare i due valori. Per impostazione predefinita il formato è TOTP:password.password - quindi - totp È necessario fornire una parola d'ordine Verify e, se fornita correttamente, viene richiesto e convalidato un valore TOTP. TOTP Viene chiesto e convalidato un valore TOTP. password - poi - smsotp È necessario fornire una parola d'ordine Verify e, se fornita correttamente, viene inviato un messaggio SMS al dispositivo mobile registrato dell'utente con un valore OTP. Poi il modulo PAM richiede il valore SMSOTP dall'utente e lo convalida. smsotp Viene avviata una validazione SMS OTP e viene chiesto e convalidato il valore SMS OTP. password - quindi - emailotp È necessario fornire una parola d'ordine Verify e, se fornita correttamente, viene inviato un messaggio email all'utente con un valore OTP. Il modulo PAM richiede il valore EmailOTP e lo convalida. emailotp Viene avviata una validazione OTP email e il modulo PAM richiede il valore email OTP e poi convalidato. password - quindi - scelta - poi - otp È necessario fornire una password Verify e, se fornita correttamente, all'utente viene richiesto di scegliere una delle proprie iscrizioni OTP. Dopo la scelta viene effettuata la validazione OTP e l'utente viene richiesto per il valore OTP. Nota:- Se l'utente è iscritto in un solo metodo OTP, allora il passo di scelta viene saltato e l'utente viene chiesto direttamente per il valore OTP.
- Se l'utente non ha delle iscrizioni OTP, allora entra in vigore il
"reject-on-missing-auth-method". - Se l'opzione
"add_devices_to_choice"è abilitata, le opzioni del dispositivo vengono aggiunte all'elenco. Consultare il metodo auth del dispositivo per i dettagli su quanto viene aggiunto. - Se l'opzione
"transients_in_choice"è abilitata, le sorgenti di email e sms transitanti sono elencate come opzioni. - Se l'opzione
"voice_in_choice"è abilitata, allora la voce OTP è indicata come opzione.
scelta - poi - otp All'utente viene chiesto di scegliere una delle relative iscrizioni OTP. Dopo la scelta viene effettuata la validazione OTP e l'utente viene richiesto per il valore OTP. Nota:- Se l'utente è iscritto in un solo metodo OTP, allora il passo di scelta viene tralasciato e l'utente viene chiesto direttamente per il valore OTP o per la verifica dei dispositivi.
- Se l'utente non ha delle iscrizioni OTP, allora
reject-on-missing-auth-methodentra in vigore. - Se l'opzione
"add_devices_to_choice"è abilitata, le opzioni del dispositivo vengono aggiunte all'elenco. Consultare il metodo auth del dispositivo per i dettagli su quanto viene aggiunto. - Se l'opzione
"transients_in_choice"è abilitata, le sorgenti di email e sms transitanti sono elencate come opzioni. - Se l'opzione
"voice_in_choice"è abilitata, allora la voce OTP è indicata come opzione.
password - poi - dispositivo È necessario fornire una password Verify e, se fornita correttamente, all'utente viene richiesto di convalidare se stesso utilizzando l'app IBM Verify sul proprio telefono. unità All'utente viene chiesto di convalidare se stessi utilizzando l'App IBM Verify sul proprio telefono. Se sono disponibili più dispositivi, l'utente viene spinto per una scelta. Nota: L'opzione"add_devices_to_choice="determina se utilizzarefingerprintouserPresence. Solo uno di quei due attributi può essere utilizzato per un determinato dispositivo.password - quindi - transsmsotp È necessario fornire una parola d'ordine Verify e, se fornita correttamente, all'utente viene richiesto di fornire l'OTP inviata tramite SMS al proprio telefono cellulare. Il numero di telefono è quello impostato nel loro record utente. transsmsotp All'utente viene chiesto di fornire l'OTP inviato da SMS al proprio cellulare. Il numero di telefono è quello impostato nel loro record utente. password - quindi - transemailotp È necessario fornire una parola d'ordine Verify e, se fornita correttamente, all'utente viene richiesto di fornire l'OTP inviato tramite email. L'indirizzo email è quello impostato nel loro record utente. transemailotp All'utente viene chiesto di fornire l'OTP inviato loro per posta elettronica. L'indirizzo email è quello impostato nel loro record utente. voceotp Una chiamata viene fatta al telefono dell'utente e un messaggio vocale informa l'utente del valore OTP che deve essere utilizzato per convalidare il login. password-poi-voiceotp È necessario fornire una password a IBM Verify . Se viene fornito con successo, viene effettuata una chiamata al telefono dell'utente e un messaggio vocale informa l'utente del valore OTP che dovrà essere utilizzato per convalidare il login. password-e-totp-o-dispositivo Se nella password fornita dall'utente viene rilevato un valore TOTP, viene utilizzato l'equivalente del metodo " password-and-totp. Per ulteriori informazioni, vedere password-e-totp.Se non viene rilevato un valore TOTP nella password fornita dall'utente, viene utilizzato l'equivalente del metodo "
password-and-device. Per ulteriori informazioni, vedere Password-then-device.Nota: Se la password effettiva dell'utente inizia o termina con sei cifre e un separatore, può essere scambiata dal server RADIUS come un valore TOTP incorporato. Ad esempio, l'opzione "password-firstè impostata su false e la password inizia con sei cifre e un separatore. Analogamente, se è impostata su true e la password termina con un separatore e sei cifre, si verifica la stessa condizione. In entrambe le situazioni, il push del dispositivo non può essere utilizzato come secondo fattore per l'autenticazione RADIUS. Il server RADIUS lo interpreta come un valore TOTP e cerca di convalidarlo. La convalida fallisce e l'autenticazione viene rifiutata."password"non fa parte del valore del metodo di autenticazione, ad esempio"device", il modulo libpam_ibm_auth.so può essere preceduto dal modulo PAM UNIX/Linux standard per autenticare una parola d'ordine locale per formare i due fattori. Può anche essere lasciato fuori per una password - meno autenticazione. - accet_on_missing_auth_method
- Questo argomento è facoltativo. Se impostato e l'utente non è registrato per l'autenticazione di secondo fattore, l'utente viene autenticato. Se questa opzione non è impostata e l'utente non è registrato per l'autenticazione di secondo fattore, l'utente non è autenticato.
- otp_prompt= {promt_str}
- Questo argomento è facoltativo e viene impostato per default sulla stringa inglese
"Enter OTP %C- ". Questa stringa viene visualizzata quando l'utente viene richiesto per l'input OTP. Qualsiasi%Cnel prompt viene sostituito dalla correlazione OTP oppure la stringa vuota per TOTP. Qualsiasi%%nel prompt viene sostituito da un singolo%. - password_primo
- Questo argomento è facoltativo. Colpisce solo il metodo
"password-and-totp"auth e determina l'ordine dei valori della password e del TOTP nella stringa che l'utente deve fornire. Normalmente la password viene fornita alla fine della stringa dopo il carattere separatoretotp:password. Se l'argomento è impostato, la password deve essere fornita all'inizio della stringa prima del carattere separatorepassword:totp. - password_separator= {sep_char}
- Questo argomento è facoltativo e viene impostato per default su un separatore di password di : (colon). Colpisce solo il metodo
"password-and-totp"auth e specifica il carattere che l'utente deve utilizzare per separare i valori TOTP e password. - verificfy_metod_order={order}
- Questo argomento è facoltativo e viene impostato per default su
"fingerprint,userPresence". Questa opzione sceglie quale dei due ha priorità. L'ordine predefinito priviledia l'impronta digitale se è presente.Nota: Se il "add_devices_to_choice" è abilitato, l'opzione"device"auth_method utilizza solo uno dei metodi,fingerprintouserPresence. - verificfy_message={message}
- Questo argomento è facoltativo e viene impostato per default su"Do you approve the request from
{hostname}?"dove
{hostname}viene sostituito dal nome host su cui è in esecuzione il modulo PAM. Quando viene utilizzato il"device"auth_method, il dispositivo dell'utente visualizza questo messaggio quando l'utente viene spinto a verificare l'accesso. - append= {string}
- Questo argomento è facoltativo e viene impostato per default su
"". Alla fine del processo per associare il nome utente UNIX ad un nome utente Verify , questa stringa viene aggiunta al nome utente Verify risultante. Un caso d'uso tipico è quello di aggiungere il dominio utente Verify all'utente, ad esempio "@www.ibm.com"per il dominio utente w3id . - add_devices_to_scelta
- Questo argomento è facoltativo e predefinito per non aggiungere le registrazioni del dispositivo dell'utente ai metodi
"choice-then-otp"e"password-then-choice-then-otp"auth. Se questo argomento è impostato, le registrazioni del dispositivo vengono aggiunte all'elenco delle scelte dell'utente per 2FA. - esempt_group={unix_group_name}
- Questo valore è facoltativo e viene impostato per default su no
exempt_group. Quando questo argomento è impostato, il gruppo UNIX specificato viene utilizzato per determinare se un login utente UNIX è esentato dall'autenticazione 2FA . Se un utente UNIX è nel gruppo, è esentato e non viene mai richiesto per 2FA. - 2fa_group={unix_group_name}
- Questo valore è facoltativo. Quando questa opzione è impostata, il gruppo UNIX specificato viene utilizzato per determinare se il login di un utente UNIX richiede un 2FA. Quando questa opzione è impostata e l'utente UNIX non fa parte del gruppo, all'utente non viene richiesto il 2FA.
- ritry={num_retries}
- Questo argomento è facoltativo e viene impostato per default su 3. Definisce il numero di tentativi che un utente ha se forniscono un valore 2FA non valido, ad esempio un valore TOTP cattivo. Definisce anche il numero di tentativi per la scelta di quale tipo OTP utilizzare durante il passo di scelta.
- fallmode_insicuro
- Questo valore è opzionale un default su un
failmodesicuro. Questo argomento influisce sul funzionamento quando il modulo Verify PAM non è in grado di collegarsi al server Verify . Se questo argomento è impostato, l'autenticazione 2FA riesce quando il server Verify non è raggiungibile. Se l'opzione non viene fornita impostata, tutte le autenticazioni che richiedono una 2FA non riescono se il server Verify non è raggiungibile. - gecos_field= {field_number}
- Questo argomento è facoltativo e predefinito per non utilizzare il campo GECOS dell'utente. Quando è impostato su un valore compreso tra 1 e 32, il campo GECOS specificato dall'utente UNIX viene utilizzato come nome utente Verify . L'opzione di accodamento influenza ancora questo valore. Il primo campo GECOS è definito come campo numero 1.
- gecos_separator= {char}
- Questo argomento è facoltativo e viene impostato per default su , (virgola). Questo valore definisce il carattere separatore del campo GECOS.
- id= {pam_module_id}
- Questo argomento è facoltativo e viene impostato per default su
"pam_ibm_auth". Se più di una ricorrenza del modulo PAM di Verify si verifica nella serie di moduli PAM configurati per autenticare un utente, a ciascuna istanza deve essere fornito un ID univoco. In caso contrario, i moduli potrebbero interferire tra loro. - identity_source= {id}
- Questo argomento è facoltativo e viene impostato per default sull'utilizzo dell'identità di identità di Cloud Directory. Se questo argomento è impostato, specifica la fonte di identità da utilizzare per autenticare gli utenti. Gli utenti vengono autenticati contro una fonte di identità LDAP Pass - Through configurata. Una raccolta di origini di identità configurate e i relativi ID può essere richiamata da una richiesta
GETa https://<tenant>/verify/v1.0/authnmethods/password. - ignore_isvalidato
- Questo valore è facoltativo e viene impostato per default su
false. Quando impostato sutrue, il modulo PAM tenta di utilizzare i metodi 2FA rilevanti anche se non convalidati. - transitori_in_scelta
- Questo argomento aggiunge email e numeri di telefono transitori all'elenco dei metodi utilizzati per autenticarsi con OTP.
- voce_in_scelta
- Questo argomento aggiunge voce OTP all'elenco dei metodi utilizzati per autenticarsi con OTP.
- transito_choices={choices}
- Questo argomento elenca i metodi e le scelte transitorie che vengono resi disponibili. Il valore dell'argomento deve essere uno o più
"emails"e"phoneNumbers". Ogni scelta deve essere separata da solo un , (virgola). - poll_timeout= {seconds}
- Questo argomento specifica il tempo di attesa per l'utente di convalidare il login dal proprio dispositivo. Se il tempo viene superato, si verifica un timeout e un errore di login.
- nessuna_iscrizione_alla_scelta
Questo argomento specifica di non aggiungere le iscrizioni SMS, email o TOTP nelle scelte. Per rendere disponibile una scelta,
transients_in_choiceoadd_devices_to_choiceo entrambi devono essere configurati.- id_link_attr= {attr_name}
- Quando sono presenti più origini identità definite nel tenant e utilizzano il collegamento identità, questo elemento di configurazione definisce il nome di un attributo dell'utente individuato da "user_name_attr" che identifica il nome utente rispetto al quale convalidare la password. Esempio{attr_name} valori:
Definire il2FA metodi forniti nella scelta auth_methods
Come abilitare o disabilitare i tipi di autenticazione a secondo fattore presentati nella scelta auth_methods.
| 2FA Tipo | Predefinito | Opzione di abilitazione/disabilitazione | Descrizione |
|---|---|---|---|
| totp smsotp emailotp | abilitato | nessuna_iscrizione_alla_scelta | Le password monouso basate su ora, SMS ed e-mail sono incluse per impostazione predefinita e devono essere esplicitamente disabilitate affinché non siano presenti. |
| unità | disabilitato | add_devices_to_scelta | Il push del dispositivo, sia la biometria (impronta digitale) che la presenza (accesso all'app del dispositivo), sono disabilitati come scelte per impostazione predefinita e devono essere abilitati esplicitamente se necessario. L'opzione verify_method_order determina la priorità e quali vengono utilizzati. |
| transmsotp transemailotp | disabilitato | transitori_in_scelta | I transitori (valori dell'account utente non verificati per telefono cellulare ed e-mail) sono disabilitati come scelta per impostazione predefinita e devono essere abilitati esplicitamente se necessario. L'opzione transient_choices= determina quale tra smsotp e/o emailotp viene utilizzato. |
| voceotp | disabilitato | voce_in_scelta | La password monouso basata sulla richiamata vocale è disabilitata per impostazione predefinita e deve essere abilitata esplicitamente se necessario. L'utente deve iscriversi esplicitamente a questo metodo affinché sia disponibile. |