 |
» |
|
|
 |
Pluggable Authentication Modules (PAM) è una struttura standard che offre servizi di autenticazione, gestione degli account, delle sessioni e servizi per le password. Questa sezione presenta una panoramica di PAM e ne descrive i file di configurazione: /etc/pam.conf e /etc/pam_user.conf. Per ulteriori informazioni, vedere pam(3), pam_*(5), pam.conf(4), pam_user.conf(4) e security(4). Panoramica |  |
PAM offre la flessibilità di scegliere qualsiasi servizio di autenticazione disponibile nel sistema. La struttura di PAM consente anche di aggiungere nuovi moduli del servizio autenticazione e di renderli disponibili senza modificare le applicazioni. Quando un utente esegue l'accesso locale o remoto (ad esempio, usando login o rlogin), deve essere controllato o autenticato come utente valido del sistema. Poiché i metodi di autenticazione migliorano e cambiano costantemente, i servizi di accesso devono cambiare di conseguenza. PAM è stato sviluppato per evitare modifiche continue ai servizi di accesso, dovute esclusivamente alla revisione del codice di autenticazione, consentendo così di utilizzare più metodi di autenticazione senza modificare il codice di accesso. Di conseguenza, l'autenticazione dell'accesso, il controllo dell'account e la modifica della password usano l'interfaccia di PAM.
I programmi che necessitano di autenticazione dell'utente passano le loro richieste a PAM, che stabilisce il metodo di controllo corretto e restituisce la risposta appropriata. Non è necessario che i programmi conoscano qual'è il metodo di autenticazione utilizzato. Per una panoramica, vedere la Figura 2-1.
I metodi di autenticazione sono specificati sia a livello dell'intero sistema sia per singolo utente, utilizzando i seguenti file di sistema PAM: - /etc/pam.conf
File di controllo per l'intero sistema. Definisce quali moduli di servizio devono essere accoppiati con i servizi. Questi sono considerati come impostazioni predefinite del sistema. - /etc/pam_user.conf
File di controllo del singolo utente. Definisce quali opzioni i moduli di servizio devono utilizzare per utenti specifici. Questo è un file facoltativo.
Per ulteriori informazioni, vedere pam(3), pam.conf(4), pam_updbe(5), pam_user.conf(4). Librerie PAM |  |
I moduli di servizio PAM sono implementati mediante librerie condivise. PAM consente la coesistenza di più tecnologie di autenticazione nei sistemi HP-UX. Il file di configurazione /etc/pam.conf determina quale modulo di autenticazione usare. Le librerie PAM sono le seguenti:
PAM_DCE I moduli PAM_DCE consentono l'integrazione di DCE nei servizi di accesso ai sistemi (come login, telnet, rlogin, ftp). I moduli PAM_DCE offrono funzionalità per i moduli di gestione dell'autenticazione, degli account e delle password. Questi moduli sono supportati attraverso la libreria PAM_DCE, /usr/lib/security/pam_dce.sl. Per ulteriori informazioni, vedere pam_dce(5). PAM_HPSEC I moduli PAM-HPSEC gestiscono le estensioni specifiche di HP-UX per l'autenticazione, la gestione degli account, delle password e delle sessioni. L'uso di /usr/lib/security/$ISA/libpam_hpsec.so.1 è obbligatorio per servizi come login, dtlogin, ftp, su, remsh, rexec e ssh. Questi servizi devono porre libpam_hpsec.so.1 in cima allo stack, al di sopra di uno o più moduli non facoltativi. Il modulo pam_hpsec applica anche diversi attributi, definiti in /etc/default/security. Per ulteriori informazioni, vedere pam_hpsec(5) e security(4). PAM_KRB5 Kerberos è un protocollo di autenticazione di rete che consente comunicazioni protette fra reti, senza trasmettere in chiaro le password. Una password è autenticata da Key Distribution Center (KDC), che quindi rilascia un Ticket Granting Ticket (TGT). La libreria condivisa PAM Kerberos è /usr/lib/security/libpam_krb5.1. Per ulteriori informazioni, vedere pam_krb5(5). PAM_LDAP Lightweight Directory Access Protocol (LDAP) è uno standard per centralizzare le informazioni sull'amministrazione di utenti, gruppi e reti attraverso dei servizi di directory. L'autenticazione avviene in un server di directory LDAP. Per ulteriori informazioni, consultare la documentazione LDAP-UX all'indirizzo http://docs.hp.com/hpux/11iv2/index.html. PAM_NTLM PAM NT LAN Manager consente di autenticare gli utenti HP-UX rispetto ai server Windows durante l'accesso al sistema. PAM NTLM usa i server NT per autenticare gli utenti che accedono ad un sistema HP-UX. Per ulteriori informazioni, consultare HP CIFS Client Administrator's Guide all'indirizzo http://docs.hp.com/hpux/11iv2/index.html. PAM_UNIX I moduli PAM_UNIX offrono funzionalità per tutti i quattro moduli PAM: autenticazione, gestione degli account, delle sessioni e delle password. I moduli sono supportati dalla libreria PAM UNIX, /usr/lib/security/libpam_unix.1. Per ulteriori informazioni, vedere pam_unix(5). PAM_UPDBE Il modulo di servizio PAM per la definizione dei criteri per gli utenti, /usr/lib/security/libpam_updbe.1, legge le opzioni definite nel file di configurazione degli utenti, /etc/pam_user.conf e registra le informazioni nello handle PAM per l'uso successivo da parte dei moduli di servizio. Per ulteriori informazioni, vedere pam_updbe(5).
Configurazione dell'intero sistema con /etc/pam.conf |  |
Il file di configurazione di PAM, /etc/pam.conf, definisce i meccanismi di sicurezza usati per autenticare gli utenti. I suoi valori predefiniti forniscono il funzionamento usuale del sistema, sia nei sistemi HP-UX standard sia nei sistemi sicuri. Fornisce anche supporto per i controlli sui singoli utenti e per la funzionalità d'accesso integrato DCE  |  |  |  |  | NOTA: Con DCE, per creare il file di configurazione desiderato usare l'utility auth.adm. Questo file equivale, dal punto di vista funzionale, al file precedente di HP per l'accesso integrato, auth.conf. Per ulteriori informazioni, vedere auth.adm(1m). |  |  |  |  |
Perché gli utenti siano in grado di eseguire l'accesso o modificare la password, occorre che le librerie PAM (libpam e libpam_unix) ed il file di configurazione (/etc/pam.conf) si trovino nel sistema. L'autenticazione HP-UX dipende dal file /etc/pam.conf. Questo file deve essere di proprietà di root con le seguenti autorizzazioni: -r--r--r-- 1 root sys 1050 Nov 8 10:16 /etc/pam.conf |
Se nel sistema questo file è danneggiato o mancante, per risolvere il problema l'utente root sarà in grado di eseguire l'accesso alla console in modalità utente unico. I nomi dei servizi protetti sono elencati nel file di controllo del sistema, /etc/pam.conf, in quattro categorie di prova (tipo_modulo): autenticazione, account, sessione e password. Per ulteriori informazioni, vedere pam(3), pam.conf(4) e pam_user.conf(4). Esempio del file /etc/pam.conf |  |
Quello seguente è un esempio parziale del listato del file /etc/pam.conf. Le righe che iniziano con # sono commenti. Le sezioni in /etc/pam.conf sono autenticazione, gestione degli account, delle sessioni e delle password.  |
#
# PAM configuration
#
# Notes:
#
# If the path to a library is not absolute, it is assumed to be
# relative to the directory /usr/lib/security/$ISA/
#
# For PA applications, /usr/lib/security/$ISA/libpam_unix.so.1 is a
# symbolic link that points to the corresponding PA (32 or 64-bit) PAM
# backend library.
#
# The $ISA (i.e. Instruction Set Architecture) token will be replaced
# by the PAM engine with an appropriate directory string.
# See pam.conf(4).
#
# Also note that the use of pam_hpsec(5) is mandatory for some of
# the services. See pam_hpsec(5).
#
# Authentication management
#
login auth required libpam_hpsec.so.1
login auth required libpam_hpsec.so.1
su auth required libpam.hpsec.so.1 bypass_setaud
su auth required libpam_unix.so.1
dtlogin auth required libpam_hpsec.so.1
dtlogin auth required libpam_unix.so.1
dtaction auth required libpam_hpsec.so.1
dtaction auth required libpam_unix.so.1
ftp auth required libpam_hpsec.so.1
ftp auth required libpam_unix.so.1
rcomds auth required libpam_hpsec.so.1
rcomds auth required libpam_unix.so.1
sshd auth required libpam_hpsec.so.1
sshd auth required libpam_unix.so.1
OTHER auth required libpam_unix.so.1
#
# Account management
#
login account required libpam_hpsec.so.1
login account required libpam_unix.so.1
su account required libpam_hpsec.so.1
su account required libpam_unix.so.1 |
 |
Il file di configurazione degli utenti /etc/pam_user.conf |  |
Il file di configurazione di PAM, /etc/pam_user.conf, configura PAM a livello utente. Questo file è facoltativo. Occorre soltanto se le applicazioni PAM devono comportarsi in modo diverso per utenti differenti. È possibile assegnare a singoli utenti opzioni differenti, elencandole nel file /etc/pam_user.conf. Per un nome_accesso elencato qui, le opzioni elencate qui sostituiscono le opzioni specificate per il tipo_modulo e il percorso_modulo in /etc/pam.conf. Le voci in /etc/pam_user.conf utilizzano la sintassi seguente: nome_accesso tipo_modulo percorso_modulo opzioni |
dove: - nome_accesso
Il nome per l'accesso dell'utente. - tipo_modulo
Il tipo_modulo specificato in /etc/pam.conf. - percorso_modulo
Il percorso_modulo associato a tipo_modulo in /etc/pam.conf. - opzioni
Zero o più opzioni riconosciute dal modulo.
Il contenuto predefinito di /etc/pam_user.conf è costituito da commenti: #
# This file defines PAM configuration for a user. The configuration
# here overrides pam.conf.
#
# The format for each entry is:
# user_name module_type module_path options
#
# For example:
#
# user_a auth /usr/lib/security/libpam_unix.1 debug
# user_a auth /usr/lib/security/libpam_dce.1 try_first_pass
# user_a password /usr/lib/security/libpam_unix.1 debug
#
# user_b auth /usr/lib/security/libpam_unix.1 debug use_psd
# user_b password /usr/lib/security/libpam_unix.1 debug use_psd
#
# See the pam_user.conf(4) manual page for more information
# |
Esempi: Come funziona PAM per l'accesso |  |
Gli esempi seguenti descrivono il processo auth per login, che dipende da come è stato configurato il file /etc/pam.conf: Se in /etc/pam.conf è presente un'unica voce standard login/auth, come quella seguente, login procederà normalmente: login auth required /usr/lib/security/libpam_unix.1 |
Se ci sono due o più voci login/auth per tutto il sistema, come le seguenti, saranno elaborate secondo il loro ordine: login auth required /usr/lib/security/libpam_unix.1
login auth required /usr/lib/security/libpam_dce.1 |
In questo caso, sarà eseguito il processo login standard di HP-UX. Quindi, avverrà la procedura di autenticazione DCE. Se entrambi sono stati soddisfatti, l'accesso riuscirà. Sono eseguiti entrambi i processi, anche se l'utente non dovesse superarne uno. Se per l'autenticazione di utenti diversi dovessero essere necessari metodi di autenticazione differenti, collocare la voce speciale libpam_udpbe davanti ai moduli di autenticazione in /etc/pam.conf (le righe sono numerate per facilitare il riferimento): #/etc/pam.conf
#1
login auth required /usr/lib/security/libpam_udpbe.1
#2
login auth required /usr/lib/security/libpam_unix.1
#3
login auth required /usr/lib/security/libpam_dce.1 |
Collocare quindi le voci di ciascun utente interessato in /etc/pam_user.conf: #/etc/pam_user.conf
#4
mario auth /usr/lib/security/libpam_unix.1 debug
#5
mario auth /usr/lib/security/libpam_dce.1 try_first_pass
#6
isabella auth /usr/lib/security/libpam_unix.1 debug use_psd |
Quando mario eseguirà l'accesso, la riga 1 in /etc/pam.conf provocherà la lettura da parte di PAM di /etc/pam_user.conf. Dato che il percorso dei moduli alle righe 4 e 5 di /etc/pam_user.conf coincide con quello alle righe 2 e 3 di /etc/pam.conf, PAM sostituirà temporaneamente i campi delle opzioni vuote delle righe 2 e 3 di /etc/pam.conf rispettivamente con debug e try_first_pass. I moduli specificati nelle righe 2 e 3 saranno quindi eseguiti con le opzioni riviste. Quando isabella eseguirà l'accesso, la riga 1 in /etc/pam.conf provocherà la lettura da parte di PAM di /etc/pam_user.conf e sostituirà temporaneamente il campo opzioni della riga 2 di /etc/pam.conf con debug use_psd. La riga 3 resta invariata. I moduli specificati nelle righe 2 e 3 saranno quindi eseguiti con le opzioni riviste. Quando giorgio eseguirà l'accesso, la riga 1 in /etc/pam.conf provocherà la lettura da parte di PAM di /etc/pam_user.conf. Dato che non ci sono voci per giorgio, le righe 2 e 3 di /etc/pam_user.conf non saranno modificate. I moduli specificati nelle righe 2 e 3 saranno quindi eseguiti senza modifiche.
|