Configurazione autenticazione LDAP
Transcript
Configurazione autenticazione LDAP
HR ZUCCHETTI SYSTEM HRPortal - Configurazione autenticazione LDAP www.zucchetti.it Il protocollo LDAP (Lightweight Directory Access Protocol) LDAP è un protocollo di comunicazione progettato per le reti TCP/IP. LDAP definisce il modo in cui un client della directory può accedere a un server della directory, eseguire operazioni sulla directory e condividerne i dati. Il protocollo LDAP rappresenta un metodo di accesso efficiente ai servizi directory privo delle tipiche complessità di altri protocolli di servizio directory. Poiché definisce le operazioni che possono essere eseguite per cercare e modificare informazioni in una directory e le modalità di accesso protetto alle informazioni di una directory, LDAP può essere utilizzato per cercare o enumerare oggetti directory e per amministrare o eseguire query in Active Directory. LDAP è uno standard Internet aperto. Utilizzando il protocollo LDAP, Active Directory consente l'interoperabilità con servizi directory di altri produttori. Il supporto LDAP di Active Directory include un oggetto provider LDAP come parte integrante delle ADSI (Active Directory Service Interfaces). LDAP e HRPortal In HRPortal è presente la possibilità di integrare l'autenticazione LDAP nativamente, non è necessario nessun intervento (a parte l’eventuale configurazione degli accessi di rete) per permettere l'accesso ai più comuni sistemi LDAP presenti sul mercato. www.zucchetti.it Configurazione Accessi LDAP Accedere ad HRPortal con un utente amministrativo e selezionare sul menu la voce "Pannello di Controllo" Nel sottomenu che si presenta selezionare la voce "Sistema" e dal menu la voce "HR Autenticazioni esterne" Verrà presentata una lista delle configurazioni già presenti nel sistema. Tramite gli strumenti di HRPortal è possibile modificare, cancellare o inserire le configurazioni. Tramite l'icona "Nuovo" www.zucchetti.it è possibile aprire la finestra di inserimento LDAP Compatibile Il codice viene presentato già compilato e non è necessario modificarlo, il sistema si occuperà di assegnare il progressivo corretto. E' obbligatorio inserire una descrizione della definizione che si sta inserendo, questa sarà poi utilizzata per permettere la scelta dell'autenticazione durante la configurazione degli utenti. Il tipo autenticazione deve essere "LDAP compatibile" per permettere l'utilizzo del protocollo LDAP, (le altre tipologie di autenticazione presenti nella lista sono utilizzate per configurazioni particolari). Service Host è il nome o l'indirizzo IP del server LDAP Service Port è la porta TCP/IP che viene utilizzata per la connessione LDAP (di norma è la porta 389, è obbligatorio inserirla con il ":" iniziale (ad esempio :389). Base DN è la stringa che identifica il punto dell'alberatura LDAP da cui si desidera far partire la ricerca (ad esempio dc=zucchetti, dc=it) Prefix name user / Domain è la stringa che deve essere posta prima del nome utente digitato durante la fase di login per comporre la stringa di ricerca LDAP (ad esempio cn=) Suffix name user / Domain è la eventuale stringa da aggiungere al nome utente digitato per comporre la stringa di ricerca LDAP www.zucchetti.it Nell'immagine seguente la configurazione di un LDAP per l'accesso ad un sistema Windows con i nomi nel formato DOMINIO\UTENTE Per configurare un accesso con un formato UTENTE@DOMINIO la configurazione sarà : www.zucchetti.it Di seguito la configurazione di un LDAP in cui viene utilizzata sintassi di interrogazione LDAP : In questo caso verrà creata una stringa di ricerca nel formato dc=zucchetti,dc=it,cn=UTENTE,ou=personale che verrà eseguita usando la stringa di connessione : ldap://server:389/ N.B. E' da tenere presente il fatto che il programma, in questo caso, non effettua una ricerca nell'alberatura LDAP, viene compiuta solo una verifica nell'ambito dei parametri passati, se le registrazioni degli utenti sono rintracciabili su più di una alberatura LDAP è necessario creare più configurazioni, in modo da coprire tutte le casistiche. www.zucchetti.it LDAP with search user Questa configurazione viene utilizzata nel caso in cui il codice utente digitato all’ingresso non sia corrispondente al codice utente utilizzato dal server LDAP ma sia un attributo dell’utente (ad esempio l’indirizzo di posta elettronica senza il @dominio). In questo caso inserire un nuovo elemento selezionando il “Tipo autenticazione” LDAP with search user. Il codice viene presentato già compilato e non è necessario modificarlo, il sistema si occuperà di assegnare il progressivo corretto. E' obbligatorio inserire una descrizione della definizione che si sta inserendo, questa sarà poi utilizzata per permettere la scelta dell'autenticazione durante la configurazione degli utenti. Service Host è il nome o l'indirizzo IP del server LDAP Service Port è la porta TCP/IP che viene utilizzata per la connessione LDAP (di norma è la porta 389, è necessario inserirla con il ":" iniziale (ad esempio :389). Base DN è la stringa che identifica il punto dell'alberatura LDAP da cui si desidera far partire la ricerca (ad esempio dc=zucchetti, dc=it) Prefix name user / Domain è la stringa che deve essere posta prima dell’utente trovato durante la fase di login per comporre la stringa di ricerca LDAP (ad esempio cn=) Suffix name user / Domain è la eventuale stringa da aggiungere al nome dell’utente trovato per comporre la stringa di ricerca LDAP www.zucchetti.it Connect username è la stringa di connessione LDAP di un utente con i permessi per leggere l’alberatura su cui ricercare la stringa digitata dall’utente del portale in fase di login Connect password è la password dell’utente indicato in Connect username (la password è visibile) Search Base è il punto dell’alberatura LDAP da cui far partire la ricerca, l’utente digitato sarà ricercato nell’alberatura al di sotto del ramo indicato. Filter criteria indica il dato da ricercare Suffix criteria è l’eventuale stringa da posporre al dato digitato per comporre la stringa di ricerca. La stringa viene composta unendo Filter Criteria + utente digitato + Suffix criteria. User field name è il dato da ricercare per recuperare l’utente con cui fare la login. Una volta trovato il dato esso verrà utilizzato per eseguire una login simile a quella di LDAP compatibile. Nell’immagine seguente un esempio di configurazione nel caso in cui l’utente digitato sia l’indirizzo di posta elettronica nel formato utente@dominio : In questo caso viene effettuata una ricerca partendo da cn=Users del dominio dc=dominio,dc=it usando la stringa mail=utente_digitato. Una volta trovato l’utente verrà utilizzato l’attributo cn per effettuare la login. La seguente immagine è l’esempio della stessa configurazione in cui l’utente digita solamente la prima parte dell’indirizzo di posta elettronica, omettendo @dominio: www.zucchetti.it In questo caso la stringa di ricerca diventa [email protected] www.zucchetti.it Configurazione Utenti Una volta inserita la configurazione degli accessi LDAP è necessario configurare le modalità di accesso degli utenti. Sempre in "Pannello di Controllo" selezionare "Utenti e Gruppi" e quindi "Utenti". Per configurare l'accesso LDAP di un utente selezionare l'utente in ed entrare in modalità di "modifica" e andare in "HR Autenticazione" : www.zucchetti.it E' possibile indicare la modalità con cui l'utente effettua il login alla procedura tramite la "Tipologia di validazione" : Solo Database indica che l'utente verrà controllato solo tramite la password indicata sulla configurazione dell'utente presente in HRPortal. Solo autenticazione esterna indica che l'utente verrà controllato sul server LDAP. Autenticazione esterna e Database indica che l'utente verrà controllato inizialmente su LDAP e in caso di errore su LDAP (utente non esistente, pasword errata, ecc...) verrà controllato verificando la password su Database. Per la verifica il programma utilizzerà le registrazioni delle configurazioni LDAP presenti in "Autenticazioni esterne" Se vengono selezionate le Tipologie "Autenticazione esterna e Database" e "Solo autenticazione esterna" è possibile indicare in "Autenticazione per" una delle registrazioni precedentemente inserite in "Autenticazione esterna" www.zucchetti.it Ciò significa che il controllo avverrà solo sull'LDAP selezionato, invece che su tutte le registrazioni presenti nelle "Autenticazioni esterne". N.B. Per questioni di sicurezza (evitare attacchi di brute force) nelle ultime release dei server LDAP è stato introdotto un controllo tale che, in caso di password errata, ritarda il tempo di risposta del server LDAP di almeno 3 secondi. In questo caso gli accessi a più di un server LDAP per effettuare la login risulterebbero rallentati dai tempi di latenza dovuti a questa implementazione di sicurezza. www.zucchetti.it Messaggi di errore Nel caso in cui un utente non riesca ad entrare nel portale collegarsi con una utenza amministrativa e verificare la presenza di uno dei seguenti errori nei contatori dell’applicativo. Gli errori sono tutti nel formato “LDAP:” + descrizione dell’errore + nome dell’utente che ha generato l’errore; non vengono mai mostrati i codici di errore che il server LDAP genera (normalmente nella forma code XX ….. data YYY) qui riportati fra []. LDAP: User not found for code user NomeUtente L’utente digitato non esiste sul server LDAP [code 49 / data 525] LDAP: Invalid credentials for code user NomeUtente La password digitata è sbagliata [code 49 / data 52e] LDAP: Not permitted to logon at this time for code user NomeUtente L’accesso LDAP ha delle limitazioni nell’orario e l’utente ha tentato di accedere prima/dopo il range permesso [code 49 / data 530] LDAP: Password expired for code user NomeUtente Password scaduta (non può essere cambiata da HRPortal) [code 49 / data 532] LDAP: Account disabled for code user NomeUtente Utente disabilitato (richiedere la riabilitazione all’amministratore LDAP) , avviene di solito se si sbaglia la password per un certo numero di volte [code 49 / data 533] LDAP: Account expired for code user NomeUtente L’utente è scaduto (normalmente per inattività). Se si presenta questo errore verificare che l’utente non sia disabilitato per lo stesso motivo anche sul portale [code 49 / data 701] LDAP: Account must reset password for code user NomeUtente L’utente deve cambiare la password (non può essere fatto da HRPortal) [code 49 / data 773] LDAP: Failed authentication for code user NomeUtente Errore generico; far verificare il log sul server LDAP [code 49 / data -669] www.zucchetti.it