NetWorker: LDAPS-integraatio epäonnistuu virheen "An SSL handshake error occurred while attempt to connect to LDAPS server: Unable to find valid certification path to requested target"
Summary: Yrität suorittaa ulkoisen AD-/LDAPS-todennuksen lisäämistä NetWorkerilla suorittamalla authc_config komennon/komentosarjan. LDAPS CA -varmenne tuotiin JAVA cacerts -avainsäilön kautta, mutta saat virheilmoituksen "An SSL handshake error occurred while attempting to connect to LDAPS server: unable to find valid certification path to requested target" ...
Symptoms
"SSL-kättelyvirhe ilmeni yritettäessä muodostaa yhteyttä LDAPS-palvelimeen: unable to find valid certification path to requested target"
- Yrität suorittaa ulkoisen AD-/LDAPS-todennuksen lisäämistä NetWorkerilla suorittamalla authc_config komennon/komentosarjan
- AD:n/LDAP:n (muu kuin SSL) integrointi NetWorkeriin onnistuu. Ongelma ilmenee ainoastaan, kun SSL (LDAPS) integroidaan
- LDAPS CA -varmenne tuotiin JAVA Cacerts -avaintoreen.
- Ympäristössäsi käytetään varmenneketjua.
Cause
Ongelma johtuu siitä, että ainoastaan ketjuvarmenne tuotiin Java-luottamusavainten säilön kautta. Varmenneketjussa kaikki ketjun varmenteet on tuotava asianmukaisesti Java-avaintoreen oikeassa ketjujärjestyksessä (ketjusta päävarmenteeseen alempana). Jos varmenteen tuontiin liittyy ongelmia, seurauksena on varmenteen tarkistusvirhe.
Ongelma ilmenee, kun suoritat opensl-komennon NetWorker-palvelimesta LDAPS-palvelimeen:
OPENSSL_INSTALL_PATH\bin> openssl s_client -showcerts -connect ldaps-server.lab.emc.local:636 CONNECTED(00000124) depth=1 DC = LOCAL, DC = EMC, DC = LAB, CN = LDAPS-SERVER --- Certificate chain 0 s:/CN=LDAPS-SERVER.LAB.EMC.LOCAL i:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER -----BEGIN CERTIFICATE----- << removed for brevity >> -----END CERTIFICATE----- 1 s:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER i:/CN=ROOTCA-SERVER -----BEGIN CERTIFICATE----- << removed for brevity >> -----END CERTIFICATE-----
Resolution
Voit korjata varmennevirheen seuraavasti:
1. Poista aiemmin tuodut sertifikaatit Java Cacerts -luottamusavainkaupasta.
Tämän tietämyskannan prosessit hyödyntävät Java Keytool - komentoa. Hakemisto (cd) tarvitsee ehkä vaihtaa Java-bin-hakemistoon. Tämä voi vaihdella Java-asennuksen ja käyttöjärjestelmän mukaan. Keytool-komento löytyy Java installations -bin-hakemistosta. Useimmat NetWorker-toteutukset käyttävät Javan NetWorker Runtime Environment (NRE) -ympäristöä.
- Linux: /opt/nre/java/latest/bin
- Windows: C:\Ohjelman tiedostot\NRE\java\jre#.#.###\bin
JAVA_INSTALL_PATH\bin> keytool -list -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit | findstr LDAPS-SERVER
ldaps-server, DATE-IMPORTED, trustedCertEntry,
JAVA_INSTALL_PATH\bin> keytool -list -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit | findstr ROOTCA-SERVER
rootca-server, DATE-IMPORTED, trustedCertEntry,
- LDAPS-SERVER ja ROOTCA-SERVER ovat vain esimerkkejä. Nämä arvot on korvattava aliaksilla, jotka vastaavat LDAPS-palvelinta ja päätason CA-palvelinta (tavallisesti isäntänimi on käytössä).
- Vaikka varmenteita ei näytetä käytettäessä findstr-/grep-komentoa, Katsotulokset rajaamatta tuloksia ja varmista, että LDAPS-palvelimelle ja/TAI pääpalvelimellesi ei ole aliaksia. edellä olevassa esimerkissä findstr-apuohjelmaa käytettiin lyhyyden vuoksi.
- Java Cacerts -luottamusavainsäilön oletusvarasto on changeit.
- Korvaa JAVA_INSTALL_PATH täydellä polulla Java-asennukseen.
- Jos haluat poistaa varmenteet authc.truststoresta ja/tai authc.keystoresta, määritä niiden täydellinen polku -keystore-tiedostoille ja NetWorker authc -storepass-salasana. NetWorker authc -avainsalasana määritetään NetWorkerin asennuksen yhteydessä.
- Linux:
- /opt/nsr/authc-server/conf/authc.truststore
- /nsr/authc/conf/authc.keystore
- Windows:
- C:\Program Files\EMC NetWorker\nsr\authc-server\conf\authc.truststore
- C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\authc.keystore
- Linux:
Jos varmenne tulee näkyviin, poista se (jatka muutoin seuraavaan vaiheeseen):
keytool -delete -alias ALIAS_NAME -keystore "PATH_TO_CACERTS_FILE" -storepass PASSWORD
Esimerkki:
JAVA_INSTALL_PATH\bin> keytool -delete -alias LDAPS-SERVER -keystore ..\lib\security\cacerts -storepass changeit
JAVA_INSTALL_PATH\bin> keytool -delete -alias ROOTCA-SERVER -keystore ..\lib\security\cacerts" -storepass changeit
2. Muodosta yhteys LDAPS-palvelimeen avaamalla seuraavasti:
avaa s_client -showcerts -connect LDAPS_SERVER:636
Esimerkki:
OPENSSL_INSTALL_PATH\bin> openssl s_client -showcerts -connect ldaps-server.lab.emc.local:636
CONNECTED(00000124)
depth=1 DC = LOCAL, DC = EMC, DC = LAB, CN = LDAPS-SERVER
---
Certificate chain
0 s:/CN=LDAPS-SERVER.LAB.EMC.LOCAL
i:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER
-----BEGIN CERTIFICATE-----
<< removed for brevity >>
-----END CERTIFICATE-----
1 s:/DC=LOCAL/DC=EMC/DC=LAB/CN=ROOTCA-SERVER
i:/CN=ROOTCA-SERVER
-----BEGIN CERTIFICATE-----
<< removed for brevity >>
-----END CERTIFICATE-----
3. a. Kopioi ketjuvarmenne, mukaan lukien -----BEGIN CERTIFICATE----- otsikko ja -----END CERTIFICATE----- -alatunniste tekstitiedostoon, esimerkiksi chain.cer
3, b. Kopioi päävarmenne, mukaan lukien -----BEGIN CERTIFICATE----- otsikko ja -----END CERTIFICATE----- -alatunniste, tekstitiedostoon, kuten root.cer
4. Tuo ketjuvarmenne Java Cacerts -luottamusavaintilaan ja tuo sitten kaikki päävarmenteeseen johtavat varmenteet:
Esimerkki:
JAVA_INSTALL_PATH\bin> keytool -import -alias LDAPS-SERVER -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit -file "PATH_TO\chain.cer"
<< removed for brevity >>
Trust this certificate? [no]: y
Certificate was added to keystore
JAVA_INSTALL_PATH\bin> keytool -import -alias ROOTCA-SERVER -keystore "JAVA_INSTALL_PATH\lib\security\cacerts" -storepass changeit -file "PATH_TO\root.cer"
<< removed for brevity >>
Trust this certificate? [no]: y
Certificate was added to keystore
- Korvaa aliasarvot ympäristöäsi vastaavilla aliaksilla, kuten LDAPS- ja CA-palvelimen isäntänimellä.
- Korvaa PATH_TO täydellisellä polulla chain.cer- ja root.cer-tiedostoille luotujen tiedostojen sijaintiin.
- Varmista, että tuonnin aikana ei näy muita virheitä.
5. Käynnistä NetWorker-palvelut uudelleen. Authc-palvelu lukee Cacerts-avaintoreen käynnistyksen yhteydessä:
Linux: nsr_shutdown
systemctl start networker
Windows: net stop nsrd /y && net start nsrd
6. Viimeistele LDAPS-integrointi:
NetWorker: AD over SSL:n (LDAPS) määrittäminen NetWorker-verkkokäyttöliittymässä (NWUI)
Verkottaja: LDAPS-todennuksen määrittäminen.