4. Connettere i client LDAP al servizio Secure LDAP

Segui le istruzioni riportate in questo articolo per connettere il tuo client LDAP al servizio LDAP sicuro.

Importante:

  • Assicurati di leggere la documentazione del fornitore
    I dettagli riportati in questo articolo per la connessione del client LDAP al servizio LDAP sicuro sono solo di riferimento e sono soggetti a modifiche. Oltre a queste istruzioni di assistenza, assicurati di leggere la documentazione del fornitore per i passaggi più aggiornati per connettere il client al servizio LDAP sicuro.
  • Prima di iniziare
    Prima di utilizzare queste istruzioni, assicurati di aver già aggiunto il client al servizio LDAP sicuro, configurato le autorizzazioni di accesso, scaricato un certificato client e una chiave e, facoltativamente, creato le credenziali di accesso.
  • Test di connettività
    Facoltativamente, prima di iniziare con questi passaggi, potresti voler eseguire un rapido test di connessione utilizzando strumenti semplici come ldapsearch, ADSI e ldp.exe. Puoi anche utilizzare questi strumenti per la risoluzione dei problemi se riscontri errori durante il tentativo di connettere il client LDAP al servizio. Per istruzioni, consulta Test di connettività LDAP sicuro.
  • Come completare i passaggi di configurazione
    Dopo aver connesso il client LDAP seguendo le istruzioni riportate in questa pagina, dovrai completare la configurazione del client LDAP impostando lo stato del servizio su On nella Console di amministrazione Google. Per istruzioni, vedi 5. Imposta Client LDAP su On.

Argomenti trattati in questo articolo

Questo articolo comprende le seguenti sezioni:

Queste istruzioni presuppongono che i file della chiave e del certificato client scaricati si chiamino ldap-client.key e ldap-client.crt.

Istruzioni per la configurazione di base

Questa sezione include istruzioni generiche per connettere il client LDAP al servizio LDAP sicuro. Se il tuo client LDAP non è elencato nelle istruzioni riportate di seguito, consulta la documentazione dell'applicazione.

Nota: alcuni client LDAP, come Atlassian Jira e SSSD, eseguono una ricerca degli utenti per ottenere maggiori informazioni su un utente durante l'autenticazione. Per assicurarti che l'autenticazione utente funzioni correttamente per questi client LDAP, devi attivare Leggi le informazioni utente per tutte le unità organizzative in cui è attiva l'opzione Verifica le credenziali utente. Per le istruzioni, vedi Configura le autorizzazioni di accesso.

Per connettere il client LDAP al servizio LDAP sicuro:

  1. Configura il client LDAP con Cloud Directory come server LDAP.
  2. Carica il certificato sul client LDAP.

    Il servizio LDAP sicuro utilizza i certificati client TLS come meccanismo di autenticazione principale. Per iniziare la procedura di caricamento del certificato sul client LDAP, apri le impostazioni di autenticazione o della directory del client LDAP e inserisci i dettagli della tabella riportata di seguito.

    Nota: per informazioni dettagliate su come e dove caricare i certificati TLS, consulta la documentazione del fornitore.

Per le informazioni di base sulla connessione, utilizza la seguente tabella:

Hostname (Nome host)

ldap.google.com

Porte

389 per LDAP con StartTLS abilitato
636 per LDAPS (SSL/TLS abilitato)

Base DN (DN di base)

Il tuo dominio in formato DN, ad esempio

dc=example,dc=com per example.com

Nome utente e password

Oltre all'autenticazione tramite certificato, alcuni client LDAP richiedono l'inserimento di un nome utente e una password. Se i campi nome utente e password non sono obbligatori, puoi ignorare questo passaggio.

Genera un nome utente e una password nella Console di amministrazione Google. Per le istruzioni relative a questa operazione, consulta Generare le credenziali di accesso.

File del certificato client e della chiave

Utilizza i file del certificato e della chiave scaricati dalla Console di amministrazione Google. Se il client LDAP non fornisce un modo per eseguire l'autenticazione con un certificato client, consulta Utilizza stunnel come proxy.

IMPORTANTE: alcuni client LDAP, come Apache Directory Studio, non supportano il caricamento di certificati digitali. Per risolvere questo problema, vedi Utilizzare stunnel come proxy.

Istruzioni di configurazione per client LDAP specifici

ADSI Edit (Windows)

Segui questi passaggi:

  1. Segui i passaggi da 1 a 11 in ldp.exe (Windows) per installare i certificati client.
  2. Vai ad Action > Connect to… (Azione > Connetti a).
  3. Inserisci le seguenti impostazioni di connessione:

    Nome: digita un nome per la connessione, ad esempio Google LDAP.
    Connection Point (Punto di connessione): "Select or type a Distinguished Name or Naming Context" (Seleziona o digita un nome distinto o un contesto di denominazione)
    Inserisci il tuo nome di dominio in formato DN (ad esempio, dc=example,dc=com per example.com).

    Computer: "Seleziona o digita un dominio o un server"
    ldap.google.com

    Usa crittografia basata su SSL: selezionato
  4. Fai clic su Advanced… (Avanzate…) e inserisci i seguenti dettagli:

    Specify credentials: (Specifica credenziali:) selezionato
    Username: (Nome utente:) il nome utente delle credenziali di accesso della Console di amministrazione
    Password: la password delle credenziali di accesso della Console di amministrazione
    Port Number: (Numero di porta:) 636
    Protocol: (Protocollo:) LDAP
    Simple bind authentication: (Autenticazione con associazione semplice:) selezionato
  5. Fai clic su OK, quindi di nuovo su OK.
  6. Se la connettività ha esito positivo, i contenuti di Active Directory nel DN di base sono visualizzati nel riquadro a destra.

Apache Directory Studio

Per utilizzare Apache Directory Studio, connettiti tramite stunnel e utilizza una credenziale di accesso (nome utente e password) generata nella Console di amministrazione Google. Supponendo che le credenziali siano presenti e che stunnel sia in ascolto sulla porta 1389 di localhost, segui questi passaggi:

  1. Fai clic su File > New… (File > Nuovo…)
  2. Seleziona LDAP Browser > LDAP Connection (Browser LDAP > Connessione LDAP).
  3. Fai clic su Avanti.
  4. Inserisci i parametri di connessione:

    Nome connessione: scegli un nome, ad esempio Google LDAP
    Nome host: localhost
    Porta: 1389 (o la porta di ascolto/accettazione di stunnel)
    Metodo di crittografia: nessuna crittografia (nota: se stunnel è in esecuzione da remoto, è consigliabile la crittografia tra stunnel e il client).
  5. Fai clic su Avanti.
  6. Inserisci i parametri di autenticazione:

    Authentication Method (Metodo di autenticazione): Simple Authentication (Autenticazione semplice)
    Bind DN or user (DN o utente di associazione): il nome utente delle credenziali di accesso della Console di amministrazione
    Bind password (Password di associazione): la password delle credenziali di accesso della Console di amministrazione
  7. Fai clic su Avanti.
  8. Inserisci il DN di base.
    Questo è il nome di dominio in formato DN (dc=example,dc=com per example.com).
  9. Fai clic su Fine.

Atlassian Jira

Atlassian Jira esegue una ricerca degli utenti per ottenere maggiori informazioni su un utente durante l'autenticazione. Per assicurarti che l'autenticazione utente funzioni correttamente per questo client LDAP, devi attivare Leggi le informazioni utente e Leggi le informazioni sui gruppi per tutte le unità organizzative in cui è attiva l'opzione Verifica le credenziali utente. Per le istruzioni relative a questa operazione, vedi Configurare le autorizzazioni di accesso.

Importante: se ti attieni alle istruzioni riportate di seguito, il valore keystorePassword potrebbe essere esposto a utenti e file di log. Adotta precauzioni per evitare l'accesso non autorizzato alla shell locale, al file di log e alla Console di amministrazione Google. In alternativa alle seguenti istruzioni, utilizza il metodo stunnel4 (consulta (Facoltativo) Utilizza stunnel come proxy).

Nota:le seguenti istruzioni presuppongono che Jira sia installato in /opt/atlassian/jira.

Per connettere un client Atlassian Jira al servizio LDAP sicuro:

  1. Copia il certificato e la chiave nei tuoi server Jira. Questo è il certificato generato nella Console di amministrazione Google durante l'aggiunta del client LDAP al servizio LDAP sicuro.

    Ad esempio:
    $ scp ldap-client.key user@jira-server:
  2. Converti il certificato e le chiavi nel formato Java keystore. Durante questo processo ti verrà richiesto più volte di inserire una password. Per maggiore praticità, scegli una password sicura e utilizzala per tutte le richieste.

    $ openssl pkcs12 -export -out jira-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key

    $ sudo /opt/atlassian/jira/jre/bin/keytool -v -importkeystore -srckeystore jira-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore /opt/atlassian/jira/jira-ldap.jks -deststoretype JKS

  3. Configura Jira affinché utilizzi l'archivio chiavi appena creato. Segui le istruzioni riportate qui per aggiungere le opzioni:

    "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password"

    Su Linux:
    1. Modifica il file /opt/atlassian/jira/bin/setenv.sh.
    2. Individua l'impostazione JVM_SUPPORT_RECOMMENDED_ARGS.
    3. Aggiungi "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password", sostituendo "password" con la password selezionata sopra.
  4. Riavvia Jira.

    $ /opt/atlassian/jira/bin/stop-jira.sh
    $ /opt/atlassian/jira/bin/start-jira.sh

  5. Accedi all'interfaccia web di Jira come amministratore.
    1. Vai a Impostazioni > Gestione utenti. Per aprire le impostazioni utilizza l'icona a forma di ingranaggio in alto a destra.
    2. Fai clic su User Directories (Directory utente).
    3. Fai clic su Aggiungi directory.
    4. Scegli LDAP come tipo.
    5. Fai clic su Avanti.
  6. Inserisci i seguenti valori:

    Name (Nome)

    Google Secure LDAP

    Directory type (Tipo directory)

    OpenLDAP

    Hostname (Nome host)

    ldap.google.com

    Port (Porta)

    636

    Use SSL (Usa SSL)

    Selezionata

    Nome utente

    Genera un nome utente e una password nella Console di amministrazione Google. Per le istruzioni relative a questa operazione, consulta Generare le credenziali di accesso.

    Password

    Genera un nome utente e una password nella Console di amministrazione Google. Per le istruzioni relative a questa operazione, consulta Generare le credenziali di accesso.

    Base DN (DN di base)

    Il nome di dominio in formato DN, ad esempio, dc=example,dc=com per example.com

    Additional User DN (Altro DN utente)

    Facoltativo. "ou=Users"

    Additional Group DN (Altro DN gruppo)

    Facoltativo. "ou=Groups"

    LDAP Permissions (Autorizzazioni LDAP)

    Sola lettura

    Impostazioni avanzate

    Invariato

    User Schema Settings (Impostazioni schema utente) >
    User Name Attribute (Attributo nome utente)

    googleUid

    User Schema Settings (Impostazioni schema utente) >
    User Name RDN Attribute (Attributo RDN Nome utente)

    uid

    Group Schema Settings (Impostazioni schema gruppo) >
    (Classe oggetti gruppo)

    groupOfNames

    Group Schema Settings (Impostazioni schema gruppo) >
    Group Object Filter (Filtro oggetti gruppo)

    (objectClass=groupOfNames)

    Membership Schema Settings (Impostazioni schema appartenenza) >
    Group Members Attribute (Attributo membri gruppo)

    member

    Membership Schema Settings (Impostazioni schema appartenenza) >
    Use the User Membership Attribute (Utilizza attributo appartenenza utente)

    Selezionata
  7. Assegna un ruolo a un gruppo.

    Prima che Atlassian Jira possa consentire a un utente di accedere, l'utente deve essere membro di un gruppo a cui è stato concesso l'accesso a Jira.

    Per assegnare un ruolo a un gruppo:
    1. Vai a Settings (Impostazioni) > Applications (Applicazioni) > Application access (Accesso applicazioni).
    2. Nella casella di testo Seleziona gruppo, inserisci il nome del gruppo Google a cui vuoi fornire l'accesso a Jira.

CloudBees Core/Jenkins

Per istruzioni per la connessione di CloudBees Core al servizio Secure LDAP, leggi come configurare CloudBees Core con il servizio Secure LDAP di Google Cloud Identity.

FreeRadius

Segui questi passaggi:

  1. Installa e configura FreeRADIUS in /etc/freeradius/3.0/.

    Dopo aver installato FreeRADIUS puoi aggiungere la configurazione LDAP installando il plug-in freeradius-ldap.

    $ sudo apt-get install freeradius freeradius-ldap
  2. Copia i file della chiave e del certificato del client LDAP rispettivamente in /etc/freeradius/3.0/certs/ldap-client.key e /etc/freeradius/3.0/certs/ldap-client.crt.

    $ chown freeradius:freeradius
    /etc/freeradius/3.0/certs/ldap-client.*
    $ chmod 640 /etc/freeradius/3.0/certs/ldap-client.*

  3. Attiva il modulo LDAP.

    $ cd /etc/freeradius/3.0/mods-enabled/
    $ ln -s ../mods-available/ldap ldap

  4. Modifica /etc/freeradius/3.0/mods-available/ldap.
    1. ldap->server = 'ldaps://ldap.google.com:636'
    2. identity = nome utente delle credenziali dell'applicazione
    3. password = password delle credenziali dell'applicazione
    4. base_dn = 'dc=domain,dc=com'
    5. tls->start_tls = no
    6. tls->certificate_file = /etc/freeradius/3.0/certs/ldap-client.cer
    7. tls->private_key_file = /etc/freeradius/3.0/certs/ldap-client.key
    8. tls->require_cert = 'allow'
    9. Commenta tutti i campi nel breadcrumb che rappresenta la sezione "ldap -> post-auth -> update"
  5. Modifica /etc/freeradius/3.0/sites-available/default.
    In questo modo si modifica la connessione del client FreeRADIUS. Se non utilizzi il client predefinito, assicurati di aggiornare il client pertinente (tunnel interno o qualsiasi client personalizzato) che hai configurato.
    1. Modifica la sezione authorize per aggiungere il seguente blocco in basso dopo l'istruzione del protocollo di autenticazione della password (PAP):

      if (User-Password) {
      update control {
      Auth-Type := ldap
      }
      }

    2. Nella sezione authorize, attiva LDAP rimuovendo il segno "-" che lo precede.

      #
      # The ldap module reads passwords from the LDAP database.
      ldap
    3. Modifica la sezione authenticate modificando il blocco Auth-Type LDAP come segue:

      # Auth-Type LDAP {
      ldap
      # }

    4. Modifica la sezione authenticate modificando il blocco Auth-Type PAP come segue:

      Auth-Type PAP {
      # pap
      ldap
      }

GitLab

Per istruzioni su come collegare di GitLab al servizio Secure LDAP, leggi come configurare Google Secure LDAP per GitLab.

Itopia/Ubuntu

Per istruzioni su come connettere Itopia/Ubuntu al servizio LDAP sicuro, leggi come configurare il servizio LDAP di Google Cloud Identity su Ubuntu 16.04 per gli accessi utente.

Ivanti/LanDesk

Segui questi passaggi:

  1. Sul server web Ivanti, apri OpenLDAPAuthenticationConfiguration.xml o OpenLDAPSSLAuthenticationConfiguration.xml in un editor di testo in entrambe le seguenti cartelle:

    C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework e C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (dove servicedesk è il nome dell'istanza)
  2. Aggiorna il valore <Server> in ldap.google.com.
  3. Aggiorna il valore <Port> alla porta 3268 per il testo non crittografato con StartTLS abilitato e alla porta 3269 per la porta SSL/TLS (i valori predefiniti sono 389 per la porta di testo non crittografato o 636 per la porta SSL/TLS).
  4. Imposta il valore <TestDN> sul nome di dominio in formato DN. (ad esempio, dc=example,dc=com per example.com).
  5. Aggiungi la riga:

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPLogon.OpenLDAPAuthenticationProvider" />

    o la riga:

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
    sia a ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config sia a ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config.
  6. In Ivanti Configuration Center, apri l'istanza richiesta.
  7. Accanto all'applicazione Service Desk Framework, fai clic su Edit (Modifica).
    Viene visualizzata la finestra di dialogo Edit Application (Modifica applicazione) per Service Desk Framework.
  8. Nel gruppo Configuration parameters (Parametri di configurazione), seleziona Explicit only (Solo espliciti) nell'elenco Logon policy (Criteri di accesso), quindi fai clic su OK.
  9. Accanto all'applicazione Web Access, fai clic su Modifica.
    Viene visualizzata la finestra di dialogo Edit Application (Modifica applicazione) per Web Access.
  10. Nel gruppo Configuration parameters (Parametri di configurazione), seleziona Explicit only (Solo esplicito) nell'elenco Logon policy (Policy di accesso), quindi fai clic su OK.

Al momento dell'accesso, utilizza la password di rete dell'utente di un dominio associato.

Logging delle eccezioni per l'autenticazione del server LDAP

Se hai problemi a configurare l'autenticazione del server LDAP, puoi attivare il logging delle eccezioni per identificare il problema. Per impostazione predefinita, questa opzione è disattivata; consigliamo di disattivarla nuovamente al termine delle indagini.

Per attivare il logging delle eccezioni per l'autenticazione del server LDAP:

  1. Apri il file XML di configurazione dell'autenticazione appropriato in un editor di testo:

    DirectoryServiceAuthenticationConfiguration.xml, OpenLDAPAuthenticationConfiguration.xml o OpenLDAPSSLAuthenticationConfiguration.xml
  2. Modifica la riga:

    <ShowExceptions>false</ShowExceptions>
    in
    <ShowExceptions>true</ShowExceptions>
  3. Salva le modifiche.

Ldp.exe (Windows)

Segui questi passaggi:

  1. Converti i file della chiave e del certificato client in un file in formato PKCS12. Al prompt dei comandi, inserisci quanto segue:

    Se utilizzi macOS o Linux, utilizza i seguenti comandi:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    Inserisci una password per criptare il file di output.

    In Windows, utilizza i seguenti comandi:

    $ certutil -mergepfx ldap-client.crt ldap-client.p12

    Importante: i due file (<CERT_FILE>.crt e <CERT_FILE>.key) devono trovarsi nella stessa directory. Inoltre, assicurati che sia key che crt abbiano un nome identico (con un'estensione diversa). In questo esempio, utilizziamo i nomi ldap-client.crt e ldap-client.key.

  2. Vai al Pannello di controllo.
  3. Nella casella di ricerca, cerca "certificato" e fai clic su Gestisci certificati utente.
  4. Vai ad Action > All Tasks > Import… (Azione > Tutte le attività > Importa).
  5. Seleziona Current User (Utente corrente) e fai clic su Next (Avanti).
  6. Fai clic su Browse… (Sfoglia)
  7. Nell'elenco a discesa File type (Tipo di file) nell'angolo inferiore destro della finestra di dialogo, seleziona Personal Information Exchange (*.pfx;*.p12) (Scambio di informazioni personali).
  8. Seleziona il file ldap-client.p12 del passaggio 2, fai clic su Apri e poi su Avanti.
  9. Inserisci la password utilizzata al passaggio 2 e fai clic su Next (Avanti).
  10. Seleziona l'archivio certificati Personale, fai clic su Avanti e poi su Fine.
  11. Esegui Ldp.exe.
  12. Vai a Connessione > Connetti…
  13. Inserisci i seguenti dettagli di connessione:

    Server: ldap.google.com
    Port (Porta): 636
    Connectionless (Senza connessione): Non selezionato
    SSL: Selezionato
  14. Fai clic su OK.
  15. Vai a View > Tree (Visualizza > Struttura).
  16. Inserisci il DN di base, ovvero il tuo nome dominio in formato DN, ad esempio dc=example,dc=com per example.com.
  17. Fai clic su OK.
  18. Se la connessione va a buon fine, LDP.exe visualizza i contenuti di Active Directory, ad esempio tutti gli attributi presenti nel DN di base, nel riquadro a destra.

Netgate/pfSense

Per istruzioni su come connettere Netgate/pfSense al servizio LDAP sicuro, leggi come configurare Google Cloud Identity come origine di autenticazione.

OpenLDAP/ldapsearch (Linux)

Per accedere alla directory LDAP dalla riga di comando, puoi utilizzare il comando ldapsearch di OpenLDAP.

Supponendo che i file del certificato e della chiave client siano ldap-client.crt e ldap-client.key, il tuo dominio sia example.com e il nome utente sia jsmith:

$ LDAPTLS_CERT=ldap-client.crt LDAPTLS_KEY=ldap-client.key ldapsearch -H ldaps://ldap.google.com -b dc=example,dc=com '(uid=jsmith)'

In questo modo, le variabili di ambiente pertinenti vengono impostate in modo da puntare alle chiavi client. Puoi sostituire le altre opzioni di ldapsearch con i filtri da applicare, gli attributi richiesti e così via. Per altri dettagli, consulta le pagine del manuale di ldapsearch ("man ldapsearch").

ldapsearch (macOS)

Segui questi passaggi:

  1. Converti i file della chiave e del certificato client in un file in formato PKCS12. Al prompt dei comandi, inserisci quanto segue:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    Inserisci la password per criptare il file di output.
  2. Fai clic su nell'angolo in alto a destra della barra dei menu e digita Accesso Portachiavi.
  3. Apri l'applicazione Accesso Portachiavi e, dall'elenco a sinistra, fai clic su Sistema.
  4. Fai clic sull'opzione File nella barra del menu a sinistra in alto e seleziona Import Items (Importa elementi).
  5. Vai alla posizione con il file ldap-client.p12 generato, seleziona ldap-client.p12 e fai clic su Apri.
    Se richiesto, inserisci la password.
    Ora nell'elenco dei certificati del portachiavi di sistema dovrebbe essere visualizzato un certificato con il nome Client LDAP.
  6. Fai clic sulla freccia accanto al certificato LDAP Client (Client LDAP). Sotto viene visualizzata una chiave privata.
    1. Fai doppio clic sulla chiave privata.
    2. Nella finestra di dialogo, seleziona la scheda Controllo dell'accesso e fai clic su + nell'angolo in basso a sinistra.
    3. Nella finestra che si apre, digita Comando+Maiusc+G per aprire una nuova finestra, quindi sostituisci il testo esistente con /usr/bin/ldapsearch.

    4. Fai clic su Go (Vai).

      Verrà aperta una finestra in cui ldapsearch è evidenziato.

    5. Fai clic su Aggiungi.

    6. Fai clic su Salva modifiche e inserisci la password, se richiesto.

      Ora è tutto pronto per accedere alla tua directory LDAP dalla riga di comando utilizzando il comando ldapsearch di OpenLDAP.

  7. Supponendo che il file ldap-client.p12 importato in precedenza nel portachiavi abbia il nome Client LDAP, che il tuo dominio sia example.com e che il nome utente sia jsmith, inserisci quanto segue:

    $ LDAPTLS_IDENTITY="LDAP Client" ldapsearch -H ldaps://ldap.google.com:636 -b dc=example,dc=com '(uid=jsmith)'

Il comando imposta le variabili di ambiente pertinenti in modo che rimandino al certificato client importato. Puoi sostituire le altre opzioni di ldapsearch con i filtri da applicare, gli attributi richiesti e così via. Per maggiori dettagli, vedi le pagine dedicate a ldapsearch man (man ldapsearch).

OpenVPN (versione community)

Segui questi passaggi:

  1. Se necessario, installa e configura OpenVPN oppure, se lo hai già fatto, apri la pagina delle impostazioni in OpenVPN.

    La configurazione generica di una VPN esula dall'ambito di questo articolo del Centro assistenza. Dopo aver configurato una VPN, puoi aggiungere l'autenticazione e l'autorizzazione degli utenti via LDAP. In particolare, dovrai installare il plug-in openvpn-auth-ldap.

    $ sudo apt-get install openvpn openvpn-auth-ldap
  2. Copia i file della chiave e del certificato del client LDAP in /etc/openvpn/ldap-client.key e /etc/openvpn/ldap-client.crt.
  3. Crea un file, /etc/openvpn/auth-ldap.conf, contenente quanto segue (supponendo che example.com sia il nome di dominio):

    <LDAP>
    URL ldaps://ldap.google.com:636 #
    Timeout 15
    TLSEnable false
    TLSCACertDir /etc/ssl/certs
    TLSCertFile /etc/openvpn/ldap-client.crt
    TLSKeyFile /etc/openvpn/ldap-client.key
    </LDAP>
    <Authorization>
    BaseDN "dc=example,dc=com"
    SearchFilter "(uid=%u)" # (or choose your own LDAP filter for users)
    RequireGroup false
    </Authorization>

  4. Modifica il file di configurazione di OpenVPN, in genere denominato /etc/openvpn/server.conf o in modo simile. In fondo al file, aggiungi quanto segue:

    plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
    verify-client-cert optional

  5. Riavvia il server OpenVPN.

    $ sudo systemctl restart openvpn@server
  6. Configura i client VPN in modo che utilizzino i nomi utente e le password degli utenti. Ad esempio, in una configurazione client OpenVPN, aggiungi auth-user-pass alla fine del file di configurazione client OpenVPN e avvia il client OpenVPN:

    $ openvpn --config /path/to/client.conf
  7. Segui le istruzioni per utilizzare stunnel come proxy.

OpenVPN Access Server (versione commerciale)

Per istruzioni su come connettere OpenVPN Access Server al servizio LDAP sicuro, leggi come configurare il servizio LDAP sicuro di Google con OpenVPN Access Server.

PaperCut MF e NG

Per istruzioni su come connettere PaperCut al servizio LDAP sicuro, leggi come sincronizzare e autenticare gli utenti di Google Workspace e Google Cloud Identity in PaperCut.

Puppet Enteprise

Per istruzioni su come connettere Puppet Enterprise al servizio Secure LDAP, leggi l'articolo su Google Cloud Directory per PE.

Softerra LDAP Browser

Importante: prima di iniziare, assicurati di aver installato Softerra LDAP Browser con numero di versione 4.5 (4.5.19808.0) o successivo. Consulta LDAP Browser 4.5.

Segui questi passaggi:

  1. Converti i file della chiave e del certificato client in un file in formato PKCS12. Al prompt dei comandi, inserisci quanto segue:

    Se utilizzi macOS o Linux, utilizza i seguenti comandi:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    Inserisci una password per criptare il file di output.

    In Windows, utilizza i seguenti comandi:

    $ certutil -mergepfx ldap-client.crt ldap-client.p12

    Importante: i due file (<CERT_FILE>.crt e <CERT_FILE>.key) devono trovarsi nella stessa directory. Inoltre, assicurati che sia key che crt abbiano un nome identico (con un'estensione diversa). In questo esempio, utilizziamo i nomi ldap-client.crt e ldap-client.key.

  2. In Softerra LDAP Browser, installa la coppia di chiavi.
    1. Vai a Tools > Certificate Manager (Strumenti > Gestione certificati).
    2. Fai clic su Import… (Importa).
    3. Fai clic su Next (Avanti).
    4. Fai clic su Browse… (Sfoglia)
    5. Nell'elenco a discesa Tipo file nell'angolo in basso a destra della finestra di dialogo, seleziona Personal Information Exchange (*.pfx;*.p12).
    6. Seleziona il file ldap-client.p12 nel passaggio 2 precedente.
    7. Fai clic su Open (Apri) e scegli Next (Avanti).
    8. Inserisci la password di cui al precedente passaggio 2 e fai clic su Next (Avanti).
    9. Seleziona l'archivio certificati Personale.
    10. Fai clic su Avanti.
    11. Fai clic su Fine.
  3. Aggiungi un profilo del server.
    1. Vai a File > Nuovo > Nuovo profilo…
    2. Inserisci un nome per il profilo, ad esempio Google LDAP.
    3. Fai clic su Avanti.

      Inserisci quanto segue:

      Host: ldap.google.com
      Porta:
      636
      DN di base: il tuo nome di dominio in formato DN. (ad es. dc=example,dc=com per example.com)
      Utilizza connessione protetta (SSL): selezionato
    4. Fai clic su Avanti.
    5. Seleziona External (SSL Certificate) (Esterno (Certificato SSL)).
    6. Fai clic su Avanti.
    7. Fai clic su Fine.

Sophos Mobile

Per istruzioni su come connettere Sophos Mobile al servizio LDAP sicuro, leggi come connettere Sophos Mobile a Google Cloud Identity / Google Cloud Directory utilizzando LDAP sicuro.

Splunk

Quando connetti Splunk al servizio LDAP sicuro, assicurati di utilizzare Splunk versione 8.1.4 o successive. Quando utilizzi versioni precedenti di Splunk, ad esempio la versione 8.1.3, al server LDAP potrebbero essere inviate query LDAP eccessive, il che potrebbe comportare l'esaurimento rapido della quota LDAP. Per ulteriori informazioni sui problemi relativi alla versione 8.1.3 di Splunk, consulta Problemi noti di Splunk.

Segui questi passaggi:

  1. Copia i file della chiave e del certificato client LDAP rispettivamente in /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key e /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt.

    $ cat /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.key > /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem

    $ sudo chown $(splunkuser):$(splunkuser) /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*

    $ sudo chmod 644 /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*

  2. Modifica il file ldap.conf per aggiungere le seguenti configurazioni:

    ssl start_tls
    TLS_REQCERT never
    TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem
    TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem

  3. Aggiungi le seguenti configurazioni nel file /home/splunkadmin/.ldaprc dell'utente:

    TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
    TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem

  4. Aggiungi la strategia LDAP utilizzando l'interfaccia utente web di Splunk. Inserisci i seguenti dettagli e poi fai clic su Salva:

Name

Google Secure LDAP

Host

ldap.google.com

Port (Porta)

636

SSL abilitato

Selezionata

Ordine di connessione

1

Bind DN

Inserisci le credenziali di accesso che hai generato nella Console di amministrazione Google.

Password DN di associazione

Inserisci le credenziali di accesso che hai generato nella Console di amministrazione Google.

Base DN (DN di base)

Il nome di dominio in formato DN (ad esempio, dc=example,dc=com per il dominio example.com)

Filtro della base utenti

Inserisci il filtro base utenti per la classe di oggetti in base a cui vuoi filtrare gli utenti.

Attributo nome utente

uid

Attributo del nome reale

displayname

Attributo Email

posta

Attributo di mappatura dei gruppi

dn

DN di base del gruppo

Il nome di dominio in formato DN (ad esempio, ou=Groups,dc=example,dc=com per il dominio example.com)

Filtro di ricerca per gruppi statici

Inserisci il filtro di ricerca gruppi statici per la classe di oggetti in base a cui vuoi filtrare i gruppi statici.

Attributo del nome del gruppo

cn

Attributo membro statico

member

SSSD (Red Hat Enterprise e CentOS)

Durante l'autenticazione, SSSD esegue una ricerca per recuperare ulteriori informazioni sull'utente. Per assicurarti che l'autenticazione utente funzioni correttamente per questo client LDAP, devi attivare Leggi le informazioni utente e Leggi le informazioni sui gruppi per tutte le unità organizzative in cui è attiva l'opzione Verifica le credenziali utente. Per le istruzioni relative a questa operazione, vedi Configurare le autorizzazioni di accesso.

Per connettere un client SSSD su Red Hat 8 o CentOS 8 al servizio LDAP sicuro:

  1. Aggiungi il client SSSD al servizio LDAP sicuro:
    1. Nella Console di amministrazione Google, vai ad Applicazioni > LDAP > AGGIUNGI CLIENT.
      Assicurati di accedere con il tuo account aziendale e non con il tuo account Gmail personale.
    2. Inserisci i dettagli del client e fai clic su CONTINUA.
    3. Configura le autorizzazioni di accesso:
      Verifica credenziali utente: tutto il dominio
      Lettura informazioni degli utenti: tutto il dominio
      Lettura informazioni dei gruppi:ON
    4. Fai clic su AGGIUNGI CLIENT LDAP.
    5. Scarica il certificato generato.
    6. Fai clic su VAI AI DETTAGLI DEL CLIENT.
    7. Cambia lo stato del servizio impostandolo su ON.
  2. Installa le dipendenze:

    dnf install openldap-clients sssd-ldap
    install -d --mode=700 --owner=sssd --group=root /etc/sssd/ldap


    Decomprimi il file ZIP del certificato e copia i file .crt e .key in /etc/sssd/ldap
  3. (Facoltativo) Esegui un test con ldapsearch:

    LDAPTLS_REQCERT=never \
    LDAPTLS_KEY=Google.key \
    LDAPTLS_CERT=Google.crt \
    ldapsearch -H ldaps://ldap.google.com:636/ \
    -b dc=example,dc=com \
    -D usertoverify@example.com \
    -W \
    '(mail=usertoverify@example.com)' \
    mail dn


    Inserisci la password Google dell'utente quando richiesto.

    Nota: all'utente deve essere assegnata una licenza Google Workspace Enterprise o Cloud Identity Premium.

  4. Crea il file /etc/sssd/sssd.conf con i seguenti contenuti:

    [sssd]
    services = nss, pam
    domains = example.com

    [domain/example.com]
    ldap_tls_cert = /etc/sssd/ldap/Google.crt
    ldap_tls_key = /etc/sssd/ldap/Google.key
    ldap_tls_reqcert = never
    ldap_uri = ldaps://ldap.google.com
    ldap_search_base = dc=example,dc=com
    id_provider = ldap
    auth_provider = ldap
    ldap_schema = rfc2307bis
    ldap_user_uuid = entryUUID

  5. Aggiorna le autorizzazioni e le etichette SELinux:

    chown 0:0 /etc/sssd/sssd.conf /etc/sssd/ldap/*
    chmod 600 /etc/sssd/sssd.conf /etc/sssd/ldap/*
    restorecon -FRv /etc/sssd

  6. Riavvia SSSD:

    systemctl restart sssd
  7. Test:

    da ssh a server:

    ssh -l user@example.com {HOSTNAME}

Risoluzione dei problemi

  1. Controlla la versione di SSSD (deve essere maggiore o uguale a 1.15.2):

    # sssd --version
    2.2.3

  2. In RHEL/CentOS (o qualsiasi distribuzione con applicazione di SELinux), i file di configurazione SSSD e il file e la chiave del certificato devono essere in una directory accessibile dal ruolo sssd_conf_t:

    # egrep "object_r:sssd_conf_t" /etc/selinux/targeted/contexts/files/file_contexts

    Controlla se in /var/log/audit/audit.log sono presenti messaggi di rifiuto AVC.

  3. Verifica che /etc/nsswitch.conf contenga "sss" per le entità passwd, shadow, group e netgroup:

    passwd: files sss
    shadow: files sss
    group: files sss
    netgroup: files sss


    In questo caso, i file locali sostituiranno gli utenti LDAP.
  4. Controlla /var/log/sssd.conf per verificare la presenza di errori di configurazione:

    Esempio:
    [sssd] [sss_ini_add_snippets] (0x0020): Config merge error: File /etc/sssd/sssd.conf did not pass access check. Skipping.

    Azione: devi eseguire chmod 600 sul file .conf.

    Example:
    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_groups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. Check for typos.

    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_initgroups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. Check for typos.

    Azione: rimuovi le estensioni LDAP delle corrispondenze dei gruppi non supportate da sssd.conf.

  5. Verifica se in /var/log/sssd_{DOMAIN}.log sono presenti errori LDAP, di rete o di autorizzazione.

    Esempio:

    [sssd[be[example.com]]] [sss_ldap_init_sys_connect_done] (0x0020): ldap_install_tls failed: [Connect error] [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (self signed certificate)]

    Azione: devi aggiungere "ldap_tls_reqcert = never" a sssd.conf.

    Per aumentare il livello di dettaglio degli errori, aggiungi "debug_level = 9" in sssd.conf nella sezione del dominio e riavvia sssd.

SSSD (altre distribuzioni Linux)

Durante l'autenticazione, SSSD esegue una ricerca per recuperare ulteriori informazioni sull'utente. Per assicurarti che l'autenticazione utente funzioni correttamente per questo client LDAP, devi attivare Leggi le informazioni utente e Leggi le informazioni sui gruppi per tutte le unità organizzative in cui è attiva l'opzione Verifica le credenziali utente. Per le istruzioni relative a questa operazione, vedi Configurare le autorizzazioni di accesso.

Per connettere un client SSSD al servizio LDAP sicuro:

  1. Installa SSSD versione >= 1.15.2.

    $ sudo apt-get install sssd
  2. Supponendo che i file del certificato e della chiave del client siano denominati /var/ldap-client.crt e /var/ldap-client.key e che il tuo dominio sia example.com, modifica /etc/sssd/sssd.conf con una configurazione come:


    [sssd]
    services = nss, pam
    domains = example.com

    [domain/example.com]
    ldap_tls_cert = /var/ldap-client.crt
    ldap_tls_key = /var/ldap-client.key
    ldap_uri = ldaps://ldap.google.com
    ldap_search_base = dc=example,dc=com
    id_provider = ldap
    auth_provider = ldap
    ldap_schema = rfc2307bis
    ldap_user_uuid = entryUUID
    ldap_groups_use_matching_rule_in_chain = true
    ldap_initgroups_use_matching_rule_in_chain = true

  3. Modifica la proprietà e l'autorizzazione del file di configurazione:

    $ sudo chown root:root /etc/sssd/sssd.conf
    $ sudo chmod 600 /etc/sssd/sssd.conf

  4. Riavvia SSSD:

    $ sudo service sssd restart

Suggerimento:se utilizzi il modulo SSSD su computer Linux senza indirizzi IP esterni su Google Compute Engine, puoi comunque connetterti al servizio LDAP sicuro, a condizione che l'accesso interno ai servizi Google sia abilitato. Per maggiori dettagli, consulta Configurazione dell'accesso privato Google.

macOS

Segui questi passaggi per connettere il client macOS per l'autenticazione degli account utente tramite il servizio LDAP sicuro.

Requisiti di sistema

  • macOS deve essere Catalina versione 10.15.4 o successiva.
  • L'ID utente super amministratore di Google è necessario per completare il passaggio 1 della fase di preparazione.
  • Devi avere le autorizzazioni amministrative locali per eseguire questa configurazione.

Contenuti:

Fase di preparazione

Le istruzioni riportate in questa sezione sono incentrate su come impostare e testare manualmente l'autenticazione macOS utilizzando il servizio LDAP sicuro.

Passaggio 1: esegui l'onboarding di macOS come client LDAP nella Console di amministrazione Google

Per istruzioni, vedi Aggiungi client LDAP o guarda questa demo di Secure LDAP. Durante questa procedura, scaricherai anche un certificato client TLS generato automaticamente.

Passaggio 2: importa il certificato nel portachiavi di sistema

  1. Copia il certificato (il file ZIP scaricato nel passaggio 1) e la chiave nel computer macOS.
    Suggerimento:decomprimi il file per trovare i file cert e key.
  2. Importa la coppia di chiavi nel portachiavi di sistema:
    1. Converti la chiave e il certificato in un file PKCS 12 (p12). Esegui questo comando nel terminale:

      openssl pkcs12 -export -out ldap-client.p12 -in ldap-client.crt -inkey ldap-client.key

      Suggerimento: annota il nome del file .p12.

      Il sistema ti chiederà di inserire una password. Inserisci una password con cui criptare il file p12.

    2. Apri l'applicazione Accesso Portachiavi.

    3. Fai clic sul portachiavi Sistema.

    4. Fai clic su File > Importa elementi.

    5. Seleziona il file ldap-client.p12 creato in precedenza.

    6. Se richiesto, inserisci la password dell'amministratore per consentire la modifica del portachiavi di sistema.

    7. Inserisci la password creata in precedenza per decriptare il file .p12.

      Nota: nell'elenco delle chiavi dovrebbero essere visualizzati un nuovo certificato e la chiave privata associata. Il nome del certificato può essere LDAP Client (Client LDAP). Prendi nota del nome del certificato per il passaggio successivo riportato di seguito.
    8. Segui il passaggio 6 nella sezione ldapsearch (macOS) di questo articolo per configurare il controllo degli accessi per la chiave privata in modo da aggiungere le app specificate di seguito. Se la chiave privata non viene visualizzata nella categoria Tutti gli elementi, prova a passare alla categoria I miei certificati e individua la voce della chiave privata corretta espandendo il certificato corrispondente.

      L'app ldapsearch, come specificato nelle istruzioni, è pertinente solo se è necessario risolvere dei problemi, non per altri scopi. In genere viene rimosso prima di fornire agli utenti l'accesso a macOS.

      Le seguenti tre app devono essere aggiunte all'elenco di controllo dell'accesso:

      /System/Library/CoreServices/Applications/Directory Utility
      /usr/libexec/opendirectoryd
      /usr/bin/dscl
  3. Aggiungi una riga al file /etc/openldap/ldap.conf, assicurandoti che "LDAP Client" sia esattamente lo stesso nome del certificato mostrato nell'applicazione Accesso Portachiavi di macOS dopo l'importazione del file .p12 (il nome deriva dal nome comune del soggetto X.509 del certificato generato):

    sudo bash -c 'echo -e "TLS_IDENTITY\tLDAP Client" >> /etc/openldap/ldap.conf'

Passaggio 3: indirizza il dispositivo alla directory di Google per l'autenticazione

Apri l'applicazione Utility Directory per creare un nuovo nodo della directory LDAP:

  1. Fai clic sul lucchetto per apportare le modifiche e inserisci la password.
  2. Seleziona LDAPv3 e fai clic sull'icona con la matita per modificare le impostazioni.
  3. Fai clic su Novità.
  4. Come nome del server, inserisci ldap.google.com, seleziona Encrypt using SSL (Crittografa utilizzando SSL) e fai clic su Manual (Manuale).
  5. Seleziona il nuovo nome del server e fai clic su Modifica.
  6. Inserisci un nome descrittivo, ad esempio Google Secure LDAP, per il nome della configurazione.
  7. Seleziona Encrypt using SSL (Cripta utilizzando SSL) e assicurati che la porta sia impostata su 636.
  8. Vai alla scheda Ricerca & Assegnazione.
    1. Scegli RFC2307 dall'elenco a discesa Accedi a questo server LDAPv3 utilizzando.
    2. Quando richiesto, inserisci le informazioni relative al dominio in Suffisso per la base di ricerca. Ad esempio, inserisci dc=zomato,dc=com per un nome di dominio zomato.com.
    3. Fai clic su OK.
    4. Configura gli attributi nel tipo di record Utenti:
      1. Nella sezione Tipi di record e attributi, seleziona Utenti e fai clic sul pulsante "+".
      2. Nella finestra popup, scegli Tipi di attributi, seleziona GeneratedUID e poi fai clic su Ok per chiudere la finestra popup.

        GeneratedUID dovrebbe essere visualizzato sotto Utenti dopo l'espansione.
      3. Fai clic su GeneratedUID e poi sull'icona "+" nella casella a destra.
      4. Inserisci apple-generateduid nella casella di testo e fai clic su Invio.
      5. Nel nodo Users (Utenti), fai clic sull'attributo NFSHomeDirectory.
      6. Nella schermata a destra, aggiorna il valore di questo attributo impostandolo su #/Users/$uid$
      7. Fai clic su Ok e inserisci la password per salvare le modifiche.
  9. Nella finestra Utility Directory, configura la nuova configurazione LDAP:
    1. Vai alla scheda Cerca policy.
    2. Fai clic sull'icona lucchetto per apportare le modifiche e inserisci la password dell'utente corrente quando richiesto.
    3. Cambia l'opzione del menu a discesa da Percorso di ricerca a Percorso personalizzato.
    4. Apri la scheda Authentication (Autenticazione) e fai clic sull'icona "+".
    5. Scegli /LDAPv3/ldap.google.com dall'elenco Domini della directory, quindi fai clic su Aggiungi.
    6. Fai clic sul pulsante Applica e inserisci la password amministratore, se richiesto.
  10. Esegui i quattro comandi che seguono per disattivare i meccanismi di autenticazione SASL DIGEST-MD5, CRAM-MD5, NTLM e GSSAPI. macOS utilizzerà Simple Bind per l'autenticazione utilizzando il servizio LDAP sicuro di Google:

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string DIGEST-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string CRAM-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string NTLM" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSSAPI" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

  11. Riavvia il computer per ricaricare la configurazione di OpenDirectory.

Passaggio 4: crea un account mobile (consente l'accesso offline)

Qualsiasi utente di Google Workspace o Cloud Identity può accedere con un account di rete (Account Google) utilizzando il proprio nome utente e la propria password. La procedura di accesso richiede una connessione di rete. Se un utente deve eseguire l'accesso con o senza connessione alla rete, è possibile creare un account dispositivo mobile. Un account mobile ti consente di utilizzare il nome utente e la password del tuo account di rete (Account Google) per accedere, indipendentemente dal fatto che tu sia connesso o meno alla rete. Per maggiori dettagli, vedi Creare e configurare account mobili su Mac.

Per creare un account dispositivo mobile per gli utenti di LDAP sicuro:

  1. Esegui il seguente comando per connetterti al server LDAP sicuro e configurare un percorso della home directory e uno o più account mobili:

    sudo /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n $uid -v

    Suggerimento: sostituisci $uid con la parte del nome utente dell'indirizzo email associato all'Account Google dell'utente. Ad esempio, mrossi è la parte del nome utente per mrossi@solarmora.com.

  2. Quando ti viene chiesto il nome utente amministratore SecureToken, inserisci il tuo nome utente amministratore e inserisci la password nel prompt successivo. In questo modo, $uid verrà aggiunto a FileVault. Questo è necessario se il disco macOS è crittografato.

Passaggio 5 (facoltativo): imposta la preferenza per la schermata di accesso

  1. Vai a Preferenze di Sistema > Utenti e gruppi > Opzioni login in basso a sinistra.
  2. Per sbloccare, devi fornire le credenziali di amministratore.
  3. Modifica l'opzione Mostra la finestra di login come in Nome e password.

Passaggio 6: riavvia il dispositivo e accedi

  1. Assicurati che il dispositivo sia connesso a Internet. Se non disponi di una connessione a internet, l'accesso per l'utente LDAP sicuro non funzionerà.
    Nota: la connessione a internet è necessaria solo per il primo accesso. Gli accessi successivi possono avvenire senza accesso a internet.
  2. Accedi al dispositivo con l'account utente configurato per l'utilizzo di LDAP sicuro per l'autenticazione.

Fase di deployment

Le istruzioni contenute in questa sezione sono incentrate sull'automazione della configurazione dei dispositivi per gli utenti. Esegui i passaggi 1 e 2 di seguito sullo stesso dispositivo macOS su cui hai completato la configurazione manuale durante la fase di preparazione.

Passaggio 1: crea un profilo Mac con certificato utilizzando Apple Configurator 2

  1. Installa Apple Configurator 2 sul computer dove hai configurato manualmente l'autenticazione macOS con LDAP sicuro.
  2. Apri Apple Configurator 2, crea un nuovo profilo e, nella sezione dei certificati, fai clic su Configura e importa il file .p12 generato in precedenza.

    Nota: assicurati che il file .p12 abbia una password. Inserisci questa password nella sezione Password del certificato.

  3. Salva questo profilo.
  4. Per i dispositivi che utilizzano processori M1 o M2, salta questo passaggio e vai al passaggio 5. Apri il profilo in qualsiasi editor di testo e aggiungi le seguenti righe nel primo tag <dict>:

    <key>PayloadScope</key>
    <string>System</string>


    Il motivo di questa aggiunta è che Apple Configurator non supporta ancora i profili per macOS.
  5. Nel secondo tag <dict>, parallelo ai dati del certificato, aggiungi le seguenti righe:

    <key>AllowAllAppsAccess</key>
    <true/>


    In questo modo avrai la certezza che sia possibile accedere a questo certificato da tutte le applicazioni.

Passaggio 2: converti il file di configurazione di Directory (plist) in xml

In questo passaggio, estrai tutte le configurazioni manuali completate durante il passaggio 3 della fase di preparazione in un file XML. Puoi utilizzare questo file e il profilo Mac creato nel passaggio 1 precedente per configurare automaticamente altri dispositivi macOS.

  1. Copia /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist sul desktop o altrove.
  2. Convertilo in XML per poterlo esaminare in qualsiasi editor di testo. Esegui questo comando nel terminale:

    sudo plutil -convert xml1 <path>/ldap.google.com.plist

    Puoi accedere al file come <path>/ldap.google.com.plist.
  3. Modifica l'autorizzazione del file precedente in modo da poter aprire il file XML. Assicurati che non sia vuoto.

Passaggio 3: crea uno script Python per automatizzare la configurazione sui dispositivi degli utenti finali

Copia lo script Python seguente e salvalo come file Python (file .py).

Nota:questo script di esempio è progettato per essere compatibile con la versione 3.10.x di Python. Questo script viene fornito così com'è. L'Assistenza Google non fornirà alcun supporto per gli script di esempio.

Ldap_python_config.py

#!/usr/bin/python
from OpenDirectory import ODNode, ODSession, kODNodeTypeConfigure
from Foundation import NSMutableData, NSData

import os
import sys

# Reading plist
GOOGLELDAPCONFIGFILE = open(sys.argv[1], "r")
CONFIG = GOOGLELDAPCONFIGFILE.read()
GOOGLELDAPCONFIGFILE.close()

# Write the plist
od_session = ODSession.defaultSession()
od_conf_node, err = ODNode.nodeWithSession_type_error_(od_session, kODNodeTypeConfigure, None)
request = NSMutableData.dataWithBytes_length_(b' '*32, 32)
request.appendData_(NSData.dataWithBytes_length_(str.encode(CONFIG), len(CONFIG)))
response, err = od_conf_node.customCall_sendData_error_(99991, request, None)

# Edit the default search path and append the new node to allow for login
os.system("dscl -q localhost -append /Search CSPSearchPath /LDAPv3/ldap.google.com")
os.system("bash -c 'echo -e \"TLS_IDENTITY\tLDAP Client\" >> /etc/openldap/ldap.conf' ")

Passaggio 4: configura automaticamente i dispositivi degli utenti finali

Vai agli altri dispositivi macOS che vuoi configurare e segui questi passaggi:

  1. Copia nel dispositivo il file del profilo Mac generato nel passaggio 1, il file di configurazione XML generato nel passaggio 2 e lo script Python del passaggio 3.
  2. Per installare la dipendenza necessaria per lo script, esegui il seguente comando:
    python3 -m pip install pyobjc-framework-opendirectory
  3. Esegui questo comando:
    sudo python </path/to/saved_python_script> </path/to/ldap.google.com.plist generated in step 2>
  4. Per importare i certificati nel portachiavi di sistema di macOS, fai doppio clic sul file del profilo Mac generato nel passaggio 1 e, quando richiesto, fornisci le tue credenziali di amministratore locale di macOS. Ti verrà quindi chiesto di inserire la password del file .p12 che hai impostato durante la fase di preparazione.
  5. Riavvia il computer macOS.
  6. Crea account mobile come indicato nel passaggio 4 della fase di preparazione e, se vuoi, imposta preferenze aggiuntive come descritto nel passaggio 5 della fase di preparazione.

Limitazioni e linee guida

  • Per gli utenti che accedono a macOS utilizzando le proprie credenziali Google, il nome utente dell'account Workspace deve essere diverso dall'ID utente del profilo utente macOS, altrimenti l'accesso viene bloccato.
  • Quando un utente inizia ad accedere a macOS utilizzando le credenziali Google, la gestione delle password utente (ripristino o recupero) deve avvenire sul sito web di Google (ad esempio, su myaccount.google.com o nella Console di amministrazione Google). Se scegli di gestire le password utilizzando una soluzione di terze parti, assicurati che la password più recente sia sincronizzata con Google.
  • Se l'amministratore crea un nuovo utente o reimposta la password di un utente esistente con l'impostazione Richiedi di cambiare la password all'accesso successivo attiva, l'utente non può accedere al Mac utilizzando la password temporanea impostata dall'amministratore.
    Soluzione: l'utente deve accedere a Google utilizzando un altro dispositivo (ad esempio il proprio dispositivo mobile o un altro computer), impostare una password permanente e quindi accedere a macOS utilizzando la nuova password.
  • Il Mac deve essere connesso a una connessione a internet funzionante in modo che ldap.google.com sia raggiungibile durante il primo accesso dopo la configurazione precedente. Gli accessi successivi non richiederanno l'accesso a internet purché tu abbia deciso di configurare un account dispositivo mobile.
  • L'integrazione di Google LDAP sicuro con macOS viene testata su macOS Catalina, Big Sur e Monterey.

Risoluzione dei problemi

In caso di problemi di connessione al servizio LDAP sicuro, segui le istruzioni riportate di seguito.

Passaggio 1: verifica la connessione.

Verifica la connessione utilizzando odutil.
Esegui il comando odutil show nodenames nel terminale.
Verifica che lo stato di /LDAPv3/ldap.google.com sia online. Se non è online, prova l'opzione telnet.

Verifica la connessione utilizzando nc.
Esegui questo comando nel terminale: nc -zv ldap.google.com 636
Se non riesci a connetterti a Google utilizzando questo approccio, prova a connetterti utilizzando IPv4.

Verifica la connessione con IPv4.
Puoi impostare l'utilizzo del protocollo IPv4 nel dispositivo nel seguente modo:

  1. Vai a Preferenze di Sistema > Rete > Wi-Fi > Avanzate.
  2. Nel menu delle opzioni avanzate, vai alla scheda TCP/IP.
  3. Cambia la selezione del menu a discesa da Configura IPv6 a Solo link-local.
  4. Fai clic su OK e poi su Applica per salvare le modifiche.
  5. Verifica l'autenticazione del servizio tramite la connettività ldapsearch e convalida la ricerca.

Passaggio 2: controlla se riesci a visualizzare gli oggetti della directory.

  1. Apri Utility Directory, quindi la scheda Editor directory.
  2. Seleziona il nodo /LDAPv3/ldap.google.com nell'elenco a discesa.
  3. Verifica se sei in grado di visualizzare gli utenti e i gruppi del tuo dominio Google.

Istruzioni di configurazione per le applicazioni Java

La maggior parte delle applicazioni basate su Java che offrono funzionalità LDAP può essere configurata per l'autenticazione con i certificati client installando i certificati client nel keystore dell'applicazione. I file di configurazione esatti variano a seconda delle applicazioni, ma la procedura è generalmente simile. La configurazione richiede l'installazione di OpenSSL e di un Java Runtime Environment.

  1. Converti il certificato e le chiavi nel formato Java keystore. Durante questa procedura, ti verrà chiesto di inserire le password. Seleziona una password sicura e utilizza la stessa per tutti i prompt. Supponendo che il file della chiave client si chiami ldap-client.key:

    Se utilizzi macOS o Linux, utilizza i seguenti comandi:

    $  openssl pkcs12 -export -out java-application-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key
    

    In Windows, utilizza i seguenti comandi:

    $  certutil -mergepfx ldap-client.crt java-application-ldap.pkcs12
    

    Importante: i due file (<CERT_FILE>.crt e <CERT_FILE>.key) devono trovarsi nella stessa directory. Inoltre, assicurati che sia key che crt abbiano un nome identico (con le due estensioni diverse). In questo esempio, utilizziamo i nomi ldap-client.crt e ldap-client.key.

  2. Importa il certificato nell'archivio chiavi:

    $  keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKS
    
  3. Le proprietà Java possono essere configurate in modi diversi a seconda dell'applicazione. Spesso puoi impostarle con l'opzione -D nella riga di comando "java" utilizzata per avviarlo. Imposta le proprietà Java per la tua applicazione come segue:

    javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks
    javax.net.ssl.keyStorePassword = <password selected above>
    
  4. Configura le impostazioni di connessione LDAP dell'applicazione utilizzando le informazioni riportate in Istruzioni per la configurazione di base.

(Facoltativo) Utilizza stunnel come proxy

Per i client che non offrono un modo per autenticarsi su LDAP con un certificato client, utilizza stunnel come proxy.

Configura stunnel per fornire il certificato client al server LDAP e configura il client per la connessione a stunnel. In teoria, dovresti eseguire stunnel sugli stessi server della tua applicazione e ascoltare solo localmente, in modo da non esporre la tua directory LDAP oltre quel server.

Segui questi passaggi:

  1. Installa stunnel. Ad esempio, su Ubuntu:

    $  sudo apt-get install stunnel4
    
  2. Crea un file di configurazione /etc/stunnel/google-ldap.conf con i seguenti contenuti (supponendo che ldap-client.crt sia il certificato e ldap-client.key sia la chiave):

    [ldap]
    client = yes
    accept = 127.0.0.1:1636
    connect = ldap.google.com:636
    cert = ldap-client.crt
    key =
    ldap-client.key

  3. Per attivare stunnel, modifica /etc/default/stunnel4 con la seguente impostazione: ENABLED=1.

  4. Riavvia stunnel.

    $  sudo /etc/init.d/stunnel4 restart
    
  5. Configura la tua applicazione in modo che rimandi a ldap://127.0.0.1:1636.

    Puoi sostituire "1636" con qualsiasi porta non utilizzata se modifichi anche la riga accept nel file di configurazione riportato sopra. Dovrai utilizzare LDAP in testo non crittografato senza StartTLS/SSL/TLS abilitato tra il client e stunnel, poiché comunicano localmente.

Nota: se scegli di eseguire stunnel su un server separato, devi configurare i firewall in modo che solo le applicazioni necessarie possano accedere al server stunnel. Puoi anche configurare stunnel per l'ascolto con TLS in modo che i dati tra la tua applicazione e i server stunnel siano criptati. I dettagli di entrambe le configurazioni dipendono dal tuo ambiente.

Passaggi successivi

Dopo aver connesso il client LDAP al servizio LDAP sicuro, devi impostare lo stato del servizio su On per il client LDAP.

Per i passaggi successivi, vedi 5. Imposta i client LDAP su On.

Nota: se necessario, puoi utilizzare strumenti semplici come ldapsearch, ADSI o ldp.exe per la risoluzione dei problemi se si verificano errori durante il tentativo di connettere il client LDAP al servizio. Per le istruzioni, consulta Connectivity Tests e risoluzione dei problemi.