Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products

NetWorker:如何使用authc_config腳本來設定 LDAPS 驗證

Summary: 使用 NetWorker 的authc_config腳本,透過 LDAPS 設定 AD/LDAP 驗證的一般概觀。您也可以在升級/轉換現有的 LDAP 組態至 LDAPS 時使用此功能。

This article applies to   This article does not apply to 

Instructions

本知識庫文章主要著重于設定 LDAPS 所需的內容,如需關於將 AD/LDAP 與 NetWorker 整合所需的更廣泛說明,請參閱:NetWorker:如何設定 AD/LDAP 驗證

注意:可從 NetWorker 管理主控台和 NetWorker Web 使用者介面 (NWUI) 設定外部授權單位;不過,通常建議您透過 LDAPS 設定 Active Directory,以使用authc_config腳本或 NWUI (19.7 及更新版本)。NMC 組態選項僅提供「LDAP over SSL」;如果使用此選項,則會設定「Active Directory:false」。此選項預期驗證服務器為 LDAP,而非 Microsoft Active Directory。這會導致登入失敗。本知識庫文章中概述的程式詳細說明如何使用authc_configure指令檔設定 LDAPS。NWUI (19.7 及更新版本) 提供「AD over SSL」選項。NetWorker:如何從 NetWorker Web 使用者介面 (NWUI) 設定「AD over SSL」(LDAPS)

建議先讓 AD/LDAP 組態透過 LDAP 運作,然後將其轉換為 LDAPS,以排除任何潛在的組態問題。

若要使用 LDAPS,您必須從 LDAPS 伺服器將 CA 憑證 (或憑證鏈結) 匯入 JAVA 信賴起點存放區。您可以使用下列程式完成:
1) 開啟管理/根命令提示字元。

2、a) 顯示信任存放區目前受信任憑證的清單。
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD 
  • 通常,JAVA 二進位位置是 OS PATH 環境   變數的一部分,因此可隨時隨地執行「Keytool」。如果作業系統找不到 Keytool 二進位檔案。從 NetWorker 伺服器上的 JAVA \bin 目錄執行 Keytool 命令。
  • JAVA_PATH 替換為 JAVA 安裝路徑,路徑名稱會依安裝的 JAVA 版本而有所不同。
    • 在已安裝 NetWorker Runtime Environment (NRE) 的系統上,這通常是:
      • Linux:/opt/nre/java/latest/
      • Windows:C:\Program Files\NRE\java\jre-###
  • 密碼更換為 JAVA storepass。預設值為變更
[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) 檢閱符合 LDAPS 伺服器之別名的清單 (這可能不存在)。您可以使用作業系統 grep/findstr 命令與上述命令來縮小搜尋範圍。如果您的 LDAPS 伺服器有過時的/現有的 CA 憑證,請使用下列命令加以刪除:
keytool -delete -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
  • 將ALIAS_NAME替換為從 2、a 的輸出中收集的 LDAPS 伺服器別名名稱。

3、a) 使用 OpenSSL 工具,從 LDAPS 伺服器取得 CA 憑證複本。
openssl s_client -showcerts -connect LDAPS_SERVER:636
  • 根據預設,Windows 主機不包含 openssl 程式。如果無法在 NetWorker 伺服器上安裝 OpenSSL,則可直接從 LDAPS 伺服器匯出憑證;不過,強烈建議使用 OpenSSL 公用程式。
  • 除非 OpenSSL 二進位目錄的路徑是 OS PATH環境變數的一部分,否則您必須從二進位位置執行 OpenSSL 命令。
  • 如果您沒有 OpenSSL 且無法安裝,則您的 AD 管理員會將憑證匯出為Base-64 編碼 x.509 格式以提供憑證。
  • 將LDAPS_SERVER更換為 LDAPS 伺服器的主機名稱或 IP 位址。

3、b) 上述命令會輸出 CA 憑證或 PEM 格式的憑證鏈結,例如:
-----BEGIN CERTIFICATE-----
MIIGQDCCBSigAwIBAgITbgAAAAiwkngyAQWDwwACAAAACDANBgkqhkiG9w0BAQsF
ADBPMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFjAUBgoJkiaJk/IsZAEZFgZlbWNs
...
7NZfi9DiEBhpFmbF8xP96qB/kTJC+29t/0VE8Fvlg87fRhs5BceIoX8nUnetNCdm
m4mGyefXz4TBTwD06opJf4NQIDo=
-----END CERTIFICATE-----

注意:如果憑證有鏈結,最後一個憑證即為 CA 憑證。您需要依照 CA 憑證結尾的順序 (由上往下) 匯入鏈結中的每個憑證。 

3、c) 從 ---BEGIN 憑證開始複製憑證--- 最後是 ---END 憑證--- 並貼至新檔案。如果憑證有鏈結,您將需要使用每個憑證來執行此操作。

4) 將 3 中建立的憑證匯入 JAVA 信賴起點存放區:
keytool -import -alias ALIAS_NAME -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD -file PATH_TO\CERT_FILE
  • 將ALIAS_NAME替換為匯入憑證的別名。通常這是 LDAPS 伺服器名稱。如果您需要為憑證鏈結匯入多個憑證,則每個憑證必須有不同的 ALIAS 名稱,並依分級匯入。憑證鏈結也必須依照步驟 3、a (由上往下) 顯示的方式匯入。
  • JAVA_PATH 替換為 JAVA 安裝路徑,路徑名稱會依安裝的 JAVA 版本而有所不同。
  • 密碼更換為 JAVA storepass。預設值為變更
  • 將PATH_TO\CERT_FILE替換為您在步驟 3 中建立的憑證檔案位置,c.
  • 系統會提示您匯入憑證、輸入「yes」,然後按下 Enter 鍵。
[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) 確認憑證已顯示在 Keystore 中:
keytool -list -keystore JAVA_PATH/jre/lib/security/cacerts -storepass PASSWORD
注意:管道 (|) 將作業系統grepfindstr命令移至上方,以縮小結果。 
[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) 重新開機 NetWorker 伺服器服務。
Linux: 
nsr_shutdown
      Service Networker 啟動
窗戶:net stop nsrd
net start nsrd

 
注意:如果 NetWorker 伺服器服務未重新開機,authc 將不會讀取 cacerts 檔案,也不會偵測到建立與 LDAP 伺服器建立 SSL 通訊所需的匯入憑證。
 
7、a) 更新您的 authc-create-ad-config (Active Directory) 或 authc-create-ldap-config (LDAP) 腳本以使用 LDAPS:
位置:
Linux /opt/nsr/authc-server/scripts/
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
注意:如果您要新增組態「-e add-config」,如果您要更新現有的組態,則應使用「-e update-config」。在 config-server-address address 行中,指定通訊協定「ldaps」(必須為小寫) 和埠「636」。
 
7、b) 從命令列執行腳本。應該會報告組態已成功更新/新增。

8) 確認組態已更新:
authc_config -u Administrator -e find-all-configs
authc_config -u Administrator -e find-config -D config-id=CONFIG_ID
  • 系統會提示您使用每個命令輸入 NetWorker 系統管理員密碼。此命令可使用「-p password」旗標執行,但在某些作業系統上,由於使用的文字密碼清除,可能會失敗。
  • 將CONFIG_ID替換為使用第一個命令收集的組態 ID:
[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

伺服器現在正透過 LDAPS 使用 AD/LDAP 進行驗證。

如果在執行此程式時遇到任何錯誤或問題,請洽詢您的 CA 管理員,確認使用/提取的憑證正確無誤。

Additional Information

無論您是使用 Windows Active Directory 還是 Linux LDAP (例如:OpenLDAP) LDAP 通訊協定用於驗證。LDAP (輕量型目錄應用程式通訊協定) 和 Secure LDAP (LDAPS) 是應用程式與網路目錄或基礎結構內網網域控制站之間的連線通訊協定。

LDAP 會以清除文字傳輸通訊,且 LDAPS 通訊會加密且安全無虞。

Affected Products

NetWorker

Products

NetWorker