NetWorker: LDAPS entegrasyonu, "LDAPS sunucusuna bağlanmaya çalışırken SSL el sıkışma hatası oluştu: İstenen hedef için geçerli sertifika yolu bulamıyor"
Summary: NetWorker ile AD/LDAPS authc_config eklemek için komut dosyasını/komut dosyasını çalıştırmaya çalıştığınızda. LDAPS CA sertifikanız JAVA cacerts anahtar deposuna içe aktarıldı ancak "LDAPS sunucusuna bağlanmaya çalışırken bir SSL el sıkışma hatası oluştu: İstenen hedef için geçerli sertifika yolu bulunamıyor" hata mesajını alıyor ...
Symptoms
"LDAPS sunucusuna bağlanmaya çalışırken ssl el sıkışma hatası oluştu: İstenen hedef için geçerli sertifika yolu bulamıyor"
- NetWorker ile AD/LDAPS harici authc_config eklemek için komut dosyasını/komut dosyasını çalıştırmaya çalıştığınızda
- AD/LDAP'yi (SSL olmayan) NetWorker ile başarıyla entegre edin; Sorun yalnızca SSL (LDAPS) entegre olurken ortaya gelir
- LDAPS CA sertifikanız JAVA cacerts anahtar deposuna aktarıldı.
- Ortamınız için bir "sertifika zinciri" kullanıyorsanız.
Cause
Bu sorun, yalnızca zincir sertifikası Java trust anahtar deposuna içe aktarıldığı için meydana gelir. Bir sertifika zincirinde, zincirdeki tüm sertifikalar doğru zincir sırasıyla Java anahtar deposuna uygun şekilde içe aktarılmalıdır (kök sertifikaya düşük zincir). Sertifikayı içe aktarmayla ilgili herhangi bir sorun, sertifika doğrulama hatasına neden olur.
Bu, NetWorker sunucudan LDAPS sunucusuna openssl komutunu çalıştırıldığında tespit edilmiştir:
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
Sertifika hatasını çözmek için aşağıdaki prosedürü izleyin:
1. Önceden içe aktarılan sertifikaları Java cacerts trust anahtar deposundan kaldırın.
Bu KB'deki işlemlerde Java keytool komutu kullanılır . Dizini (cd) Java bin dizinine değiştirmek gerekebilir. Java kurulumuna ve işletim sistemine bağlı olarak bu değişiklik gösterebilir. Keytool komutu, Java installations bin dizininde bulunabilir. Çoğu NetWorker uygulaması, Java için NetWorker Runtime Environment'ı (NRE) kullanıyor.
- Linux: /opt/nre/java/latest/bin
- Windows: C:\Program Files\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 ve ROOTCA-SERVER yalnızca örnektir. Bu değerleri LDAPS sunucu ve kök CA sunucusuna karşılık gelen diğer adlarla değiştirmeniz gerekir (genellikle ana bilgisayar adı kullanılır).
- Findstr/grep kullanırken sertifikalar görüntülenmez bile. LDAPS sunucu ve/VEYA kök CA sunucu için diğer ad olmadığını onaylamak için sonuçları daraltmadan çıktıyı gözden geçirin. Findstr, yukarıdaki örnekte brevity için kullanıldı.
- Java cacerts trust anahtar deposu için varsayılan storepass "changeit"dir.
- Sistemi JAVA_INSTALL_PATH Java yüklemenizin tam yolu ile değiştirin.
- Sertifikaları authc.truststore ve/veya authc.keystore'dan çıkarmak için -keystore ve -storepass için NetWorker authc parolası için bu dosyaların tam yolunu belirtin. NetWorker authc anahtar deposu parolası, NetWorker Yüklemesi sırasında yapılandırılmış.
- 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:
Bir sertifika görüntülenirse bu sertifikayı silmeniz gerekir (aksi takdirde sonraki adıma geçin):
keytool -delete -alias ALIAS_NAME -keystore "PATH_TO_CACERTS_FILE" -storepass PASSWORD
Örnek:
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. Openssl'i kullanarak LDAPS sunucusuna bağlanin:
openssl s_client -showcerts -connect LDAPS_SERVER:636
Örnek:
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. ----- GİBİ SERTIFIKA----- üst bilgisi ve -----END CERTIFICATE----- alt bilgisi dahil olmak üzere zincir sertifikasını bir metin dosyasına (ör. chain.cer
3, b. -----BEGIN CERTIFICATE----- üst bilgisi ve -----END CERTIFICATE----- alt bilgi dahil olmak üzere kök sertifikayı bir metin dosyasına (ör. root.cer
4) kopyalama. Zincir sertifikasını Java cacerts trust anahtar deposuna aktararak kök sertifikaya giden tüm sertifikaları içe aktarin:
Örnek:
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
- Ortamınıza karşılık gelen diğer ad değerlerini (örneğin LDAPS ve CA sunucusunun Ana Bilgisayar Adı) diğer adlarla değiştirin.
- Sistemi PATH_TO chain.cer ve root.cer için oluşturduğunuz dosyaların konumunun tam yolu ile değiştirin.
- İçe aktarma sırasında hiçbir ek hatanın aktarılamay olduğundan emin olun.
5. NetWorker hizmetlerini yeniden başlatın. Kimlik doğrulama hizmeti başlangıçta cacerts anahtar depoyu okumaz:
Linux: nsr_shutdown
systemctl start networker
Windows: net stop nsrd /y && net start nsrd
6. LDAPS entegrasyon işlemini tamamlama:
NetWorker: NetWorker Web Kullanıcı Arabiriminden (NWUI) "SSL üzerinden AD" (LDAPS)
yapılandırmaNetworker: LDAPS Kimlik Doğrulamasını yapılandırma.