Questo articolo della Knowledge Base si concentra principalmente su ciò che è necessario per configurare LDAPS, per una spiegazione più ampia di ciò che è necessario per integrare AD/LDAP con NetWorker, vedere:
NetWorker: come configurare l'autenticazione AD/LDAP
NOTA: External Authority può essere configurata da NetWorker Management Console e NetWorker Web User Interface (NWUI); Tuttavia, la configurazione di Active Directory su LDAPS è in genere consigliata per utilizzare lo script authc_config o NWUI (19.7 e versioni successive). L'opzione di configurazione NMC offre solo "LDAP su SSL"; Se questa opzione viene utilizzata, verrà impostato "Active Directory: false". Questa opzione prevede che il server di autenticazione sia LDAP anziché Microsoft Active Directory. Ciò comporterà accessi non riusciti. Il processo descritto in questo articolo della Knowledge Base descrive in dettaglio come configurare LDAPS utilizzando lo script authc_configure. NWUI (19.7 e versioni successive) offre un'opzione "AD over SSL".
NetWorker: Come configurare "AD over SSL" (LDAPS) dall'interfaccia utente web di NetWorker (NWUI)
Si consiglia di far funzionare prima la configurazione AD/LDAP su LDAP, quindi di convertirla in LDAPS per escludere potenziali problemi di configurazione.
Per utilizzare LDAPS è necessario importare il certificato CA (o la catena di certificati) dal server LDAPS nell'archivio chiavi di attendibilità JAVA. Questa operazione può essere eseguita con la seguente procedura:
1) Aprire un prompt dei comandi amministrativo/root.
2,a) Visualizzare un elenco di certificati attendibili correnti nell'archivio certificati attendibili.
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
- In genere la posizione binaria JAVA fa parte della variabile ambientale del percorso del sistema operativo in modo che "keytool" possa essere eseguito ovunque. Se il sistema operativo non riesce a trovare il binario keytool. Eseguire i comandi keytool dalla directory JAVA \bin sul server NetWorker.
- Sostituire JAVA_PATH con il percorso all'installazione JAVA. Il nome del percorso varia in base alla versione JAVA installata.
- Nei sistemi con NetWorker Runtime Environment (NRE) installato, questo è in genere il seguente:
- Linux: /opt/nre/java/latest/
- Windows: C:\Programmi\NRE\java\jre-###
- Sostituire la password con lo storepass JAVA. Il valore predefinito è changeit.
[root@rhel7 /]# keytool -list -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/lib/security/cacerts -storepass changeit
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 156 entries
emcauthctomcat, 9-Jul-2018, trustedCertEntry,
Certificate fingerprint (SHA1): 01:9B:AF:A4:0D:DA:33:6D:AE:7A:76:8D:84:D5:EB:E2:63:13:0A:0A
...
...
2,b) Esaminare l'elenco per un alias corrispondente al server LDAPS (potrebbe non esistere). È possibile utilizzare i comandi OS grep/findstr con il comando precedente per restringere la ricerca. Se è presente un certificato CA obsoleto/esistente dal server LDAPS, eliminarlo con il seguente comando:
keytool -delete -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
- Sostituire ALIAS_NAME con il nome alias del server LDAPS raccolto dall'output in 2,a.
3,a) Utilizzare lo strumento OpenSSL per ottenere una copia del certificato CA dal server LDAPS.
openssl s_client -showcerts -connect LDAPS_SERVER:636
- Per impostazione predefinita, gli host Windows non includono il programma opensl. Se non è possibile installare OpenSSL sul server NetWorker, i certificati possono essere esportati direttamente dal server LDAPS; Tuttavia, si consiglia vivamente di utilizzare l'utilità OpenSSL.
- A meno che il percorso alla directory dei file binari di OpenSSL non faccia parte della variabile ambientale del percorso del sistema operativo, sarà necessario eseguire i comandi OpenSSL dalla posizione binaria.
- Se non si dispone di OpenSSL e non è possibile installarlo, l'amministratore AD fornirà i certificati esportandoli come formato x.509 con codifica Base-64.
- Sostituire LDAPS_SERVER con il nome host o l'indirizzo IP del server LDAPS.
3,b) Il comando precedente genera il certificato CA o una catena di certificati in formato PEM, ad esempio:
-----BEGIN CERTIFICATE-----
MIIGQDCCBSigAwIBAgITbgAAAAiwkngyAQWDwwACAAAACDANBgkqhkiG9w0BAQsF
ADBPMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFjAUBgoJkiaJk/IsZAEZFgZlbWNs
...
7NZfi9DiEBhpFmbF8xP96qB/kTJC+29t/0VE8Fvlg87fRhs5BceIoX8nUnetNCdm
m4mGyefXz4TBTwD06opJf4NQIDo=
-----END CERTIFICATE-----
NOTA: Se è presente una catena di certificati, l'ultimo certificato è il certificato CA. Sarà necessario importare ogni certificato nella catena nell'ordine (dall'alto verso il basso) che termina con il certificato CA.
3,c) Copiare il certificato partendo da
---BEGIN CERTIFICATE--- e terminando con
---END CERTIFICATE--- e incollarlo in un nuovo file. Se è presente una catena di certificati, sarà necessario eseguire questa operazione con ogni certificato.
4) Importare i certificati creati in 3,c nel keystore di attendibilità JAVA:
keytool -import -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD -file PATH_TO\CERT_FILE
- Sostituire ALIAS_NAME con un alias per il certificato importato. In genere si tratta del nome del server LDAPS. Se è necessario importare più certificati per una catena di certificati, ogni certificato deve avere un nome ALIAS diverso ed essere importato in modo suddiviso. La catena di certificati deve essere importata anche in ordine rispetto a come è stata presentata nel passaggio 3, a (dall'alto verso il basso).
- Sostituire JAVA_PATH con il percorso all'installazione JAVA. Il nome del percorso varia in base alla versione JAVA installata.
- Sostituire la password con lo storepass JAVA. Il valore predefinito è changeit.
- Sostituire PATH_TO\CERT_FILE con il percorso del file di certificato creato nel passaggio 3,c.
- Verrà richiesto di importare il certificato, digitare yes e premere Invio.
[root@rhel7 /]# keytool -import -alias winsrvr2k16-ca -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/lib/security/cacerts -storepass changeit -file /certificates/ca.cer
Owner: CN=WINSRVR2K16.emclab.local
Issuer: CN=emclab-WINSRVR2K16-CA, DC=emclab, DC=local
Serial number: 6e00000008b0927832010583c3000200000008
Valid from: Wed Sep 12 10:02:47 EDT 2018 until: Thu Sep 12 10:02:47 EDT 2019
Certificate fingerprints:
MD5: 08:FB:DE:58:7B:FC:62:C7:31:5D:37:28:2C:54:6D:68
SHA1: 06:72:D0:E9:19:31:8E:F6:2A:3A:47:60:52:91:0F:4F:2B:EB:10:9D
SHA256: AD:0B:2B:2F:FC:B8:9E:ED:48:16:38:04:A7:CA:6B:55:D9:92:88:CD:54:BB:84:C6:4D:5A:28:E2:35:04:B5:C7
...
...
...
Trust this certificate? [no]: yes
Certificate was added to keystore
5) Verificare che il certificato sia visualizzato nell'archivio chiavi:
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
NOTA: Eseguire il pipe (|) del comando grep o findstr del sistema operativo su quanto sopra per restringere i risultati.
[root@rhel7 /]# keytool -list -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/lib/security/cacerts -storepass changeit | grep -i -A1 "winsrvr2k16*"
winsrvr2k16-ca, 12-Sep-2018, trustedCertEntry,
Certificate fingerprint (SHA1): 06:72:D0:E9:19:31:8E:F6:2A:3A:47:60:52:91:0F:4F:2B:EB:10:9D
6) Riavviare i servizi del server NetWorker.
Linux:
nsr_shutdown
avvio
networker del servizioFinestre: net stop nsrd
net start nsrd
NOTA: Se i servizi del server NetWorker non vengono riavviati, authc non leggerà il file cacerts e non rileverà i certificati importati necessari per stabilire la comunicazione SSL con il server LDAP.
7,a) Aggiornare lo script authc-create-ad-config (Active Directory) OPPURE authc-create-ldap-config (LDAP) per utilizzare LDAPS:
Percorso:
Linux |
/opt/nsr/authc-server/script/ |
Windows |
[INSTALL DRIVE]:\Program Files\EMC NetWorker\nsr\authc-server\scripts\ |
authc_config -u administrator -e update-config \
-D "config-tenant-id=1" \
-D "config-active-directory=y" \
-D "config-name=ad" \
-D "config-domain=emclab" \
-D "config-server-address=ldaps://winsrvr2k16.emclab.local:636/DC=emclab,DC=local" \
-D "config-user-dn=cn=Administrator,cn=Users,dc=emclab,dc=local" \
-D "config-user-dn-password=Pa$$w0rd01" \
-D "config-user-search-path=" \
-D "config-user-id-attr=sAMAccountName" \
-D "config-user-object-class=user" \
-D "config-group-search-path=" \
-D "config-group-name-attr=cn" \
-D "config-group-object-class=group" \
-D "config-group-member-attr=member" \
-D "config-user-search-filter=" \
-D "config-group-search-filter=" \
-D "config-search-subtree=y" \
-D "config-user-group-attr=memberOf" \
-D "config-object-class=objectClass
NOTA: Se si aggiunge una nuova configurazione, si consiglia di utilizzare "-e add-config", se si sta aggiornando una configurazione esistente, si consiglia di utilizzare "-e update-config". Nella riga dell'indirizzo del server di configurazione, specificare il protocollo "ldaps" (deve essere minuscolo) e la porta "636".
7,b) Eseguire lo script dalla riga di comando. Dovrebbe segnalare che la configurazione è stata aggiornata/aggiunta correttamente.
8) Verificare che la configurazione sia stata aggiornata:
authc_config -u Administrator -e find-all-configs
authc_config -u Administrator -e find-config -D config-id=CONFIG_ID
- Verrà richiesto di immettere la password dell'amministratore di NetWorker con ciascun comando. Il comando può essere eseguito con il flag "-p password", ma questo può avere esito negativo su alcuni sistemi operativi a causa dell'utilizzo di una password di testo non crittografato.
- Sostituire CONFIG_ID con l'ID di configurazione raccolto con il primo comando:
[root@rhel7 /]# authc_config -u Administrator -e find-config -D config-id=1
Enter password:
Config Id : 1
Config Tenant Id : 1
Config Name : ad
Config Domain : emclab
Config Server Address : ldaps://winsrvr2k16.emclab.local:636/DC=emclab,DC=local
Config User DN : cn=Administrator,cn=Users,dc=emclab,dc=local
Config User Group Attribute : memberOf
Config User ID Attribute : sAMAccountName
Config User Object Class : user
Config User Search Filter :
Config User Search Path :
Config Group Member Attribute: member
Config Group Name Attribute : cn
Config Group Object Class : group
Config Group Search Filter :
Config Group Search Path :
Config Object Class : objectClass
Is Active Directory : true
Config Search Subtree : true
Il server si sta ora autenticando con AD/LDAP su LDAPS.
Se si verificano errori o problemi quando si segue questa procedura, rivolgersi all'amministratore della CA per assicurarsi che vengano utilizzati/estratti i certificati corretti.
Che si utilizzi Windows Active Directory o Linux LDAP (ad esempio: OpenLDAP) il protocollo LDAP viene utilizzato per l'autenticazione. LDAP (Lightweight Directory Application Protocol) e LDAPS (Secure LDAPS) sono i protocolli di connessione utilizzati tra l'applicazione e la directory di rete o il controller di dominio all'interno dell'infrastruttura.
LDAP trasmette le comunicazioni in testo non crittografato e la comunicazione LDAPS è crittografata e sicura.