NetWorker:如何配置 LDAPS 驗證
Résumé: 使用 NMC 外部授權精靈,為 NetWorker 設定 AD 或安全輕量型目錄存取通訊協定 (LDAPS) 的概觀。此知識文章也可用於更新現有外部授權組態的指示。
Instructions
本文可分為以下幾個部分。
先決條件:
- 判斷哪個主機為
authc伺服器。這在較大的 NetWorker 資料區中很實用。在具有單一 NetWorker 伺服器的較小資料區中,NetWorker 伺服器為驗證伺服器。 - 確定用於身份驗證服務的 Java 運行時環境。
- 設定命令列變數,以協助透過 NetWorker 外部驗證匯入用於 SSL 的 CA 憑證。
設定 SSL:
- 收集與外部身份驗證伺服器進行 SSL 通信所需的證書。
- 將用於 LDAPS 身份驗證的憑證匯入身份驗證服務執行時環境
cacerts金鑰存放區。
設定外部授權資源:
- 在身份驗證服務中創建外部授權資源。
- 決定用於 NetWorker 的外部使用者或群組。
- 定義哪些外部使用者或群組可存取 NetWorker Management Console (NMC)。
- 定義外部使用者和群組擁有的 NetWorker 伺服器權限。
- (選擇性)為外部使用者或組配置FULL_CONTROL安全許可權。
展開以下各節以獲取詳細說明,在繼續操作之前,請務必仔細閱讀每個部分:
事前準備作業
事前準備作業
若要使用 LDAPS,您必須將 CA 憑證 (或憑證鏈結) 從 LDAPS 伺服器匯入到 NetWorker 認證伺服器的 Java cacerts 金鑰存放區中。
- 判斷哪一個主機為 NetWorker 驗證伺服器。您可以在 NetWorker Management Console (NMC) 伺服器的 gstd.conf 檔案中進行驗證:
/opt/lgtonmc/etc/gstd.conf
Windows :
C:\Program Files\EMC NetWorker\Management\GST\etc\gstd.conf
gstd.conf 檔案包含字串 authsvc_hostname 定義用於處理 NetWorker Management Console (NMC) 登入要求的驗證伺服器。如需更多資訊,請參閱: NetWorker:如何識別哪個伺服器是 NMC 和 NWUI 使用的驗證伺服器
- 在 NetWorker 驗證伺服器上,識別所使用的 Java 例項。
B.在 關於中,按一下進階系統設定。
C.在 「系統屬性」中,按一下環境變數。
D.可使用
NSR_JAVA_HOME 變數定義 NetWorker 使用的 Java 執行階段環境的路徑 authc:

-
- E.在管理命令提示符下,設定命令列變數,指定在上述步驟中確定的 Java 安裝路徑:
set JAVA="Path\to\java"
keytool 命令 ,並確保 正確的 cacerts 檔案會匯入 CA 憑證。命令列工作階段關閉後,便會移除此變數,且不會干擾任何其他 NetWorker 作業。
Linux:
A. 檢查 /nsr/authc/conf/installrc 檔案,以查看設定身份驗證服務時使用的 Java 位置:
sudo cat /nsr/authc/conf/installrc
[root@nsr ~]# cat /nsr/authc/conf/installrc JAVA_HOME=/opt/nre/java/latest
echo $JAVA_HOME 返回不同的路徑;例如,如果還安裝了 Oracle Java Runtime Environment (JRE)。在下一步中,請務必使用 $JAVA_HOME NetWorker 中定義的路徑 /nsr/authc/conf/installrc 檔案。
B. 設定命令列變數,指定在上述步驟中確定的 Java 安裝路徑。
JAVA=/path/to/java
keytool 命令 ,並確保 正確的 cacerts 檔案會匯入 CA 憑證。命令列工作階段關閉後,便會移除此變數,且不會干擾任何其他 NetWorker 作業。
設定 SSL
設定 SSL
要使用 LDAPS,必須將 CA 證書(或證書鏈)從 LDAPS 伺服器導入 JAVA 可信金鑰庫。這可以通過以下過程完成:
從身份驗證伺服器獲取根 CA 證書(和鏈,如果已配置)。
Linux:
- 在 NetWorker Authentication (AUTHC) 伺服器上開啟提升權限的提示。
- 使用 OpenSSL 工具從 LDAPS 伺服器取得 CA 憑證的副本。
openssl s_client -showcerts -connect LDAPS_SERVER:636 2>/dev/null </dev/null
- Linux 通常隨附
openssl已安裝。如果環境中有 Linux 伺服器,您可以使用openssl在那裡收集證書檔。這些可以複製到 Windows 並在 Windows 上使用authc伺服器。 - 如果您沒有 OpenSSL,且無法安裝,請讓您的 AD 管理員以 Base-64 編碼的 x.509 格式匯出這些憑證,以提供一或多個憑證。
- 取代
LDAPS_SERVER的主機名稱或 LDAPS 伺服器的 IP 位址。
- 上述命令會以隱私增強型郵件 (PEM) 格式輸出 CA 憑證或憑證鏈,例如:
-----BEGIN CERTIFICATE----- MIIGQDCCBSigAwIBAgITbgAAAAiwkngyAQWDwwACAAAACDANBgkqhkiG9w0BAQsF ...REMOVED FOR BREVITY... m4mGyefXz4TBTwD06opJf4NQIDo= -----END CERTIFICATE-----
- 從以下時間複製憑證:
---BEGIN CERTIFICATE---並以---END CERTIFICATE---,然後將其粘貼到新檔中。如果存在證書鏈,則必須對每個證書執行此操作。 - 前往 匯入憑證。
Windows :
Windows 預設並未安裝 OpenSSL。如果已在您的系統上安裝,您可以按照上述 Linux 章節中的相同指示操作。如果未安裝,您可以從第三方平台安裝,或使用以下步驟收集憑證,而不使用 OpenSSL。
- 在 NetWorker Authentication (AUTHC) 伺服器上開啟提升權限的 PowerShell 提示。
- 執行下列指令檔,更換
EXTERNAL_AUTH_SERVER_ADDRESS使用您的 LDAP 或 Active Directory (AD) 主機名稱或 IP:
$server = "EXTERNAL_AUTH_SERVER_ADDRESS"
$port = 636
$tcp = New-Object System.Net.Sockets.TcpClient
$tcp.Connect($server, $port)
$ssl = New-Object System.Net.Security.SslStream(
$tcp.GetStream(),
$false,
{ param($sender,$cert,$chain,$errors) $true }
)
try {
$ssl.AuthenticateAsClient($server)
"=== Protocol ==="
$ssl.SslProtocol
"=== Cipher ==="
"$($ssl.CipherAlgorithm) ($($ssl.CipherStrength)-bit)"
""
"=== Server Certificate ==="
$remoteCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($ssl.RemoteCertificate)
"Subject : $($remoteCert.Subject)"
"Issuer : $($remoteCert.Issuer)"
"NotBefore: $($remoteCert.NotBefore)"
"NotAfter : $($remoteCert.NotAfter)"
""
$b64 = [Convert]::ToBase64String($remoteCert.RawData, [Base64FormattingOptions]::InsertLineBreaks)
"-----BEGIN CERTIFICATE-----"
$b64
"-----END CERTIFICATE-----"
}
finally {
$ssl.Dispose()
$tcp.Dispose()
}
PS C:\Users\administrator.AMER> $server = "dc.amer.lan"
PS C:\Users\administrator.AMER> $port = 636
PS C:\Users\administrator.AMER>
PS C:\Users\administrator.AMER> $tcp = New-Object System.Net.Sockets.TcpClient
PS C:\Users\administrator.AMER> $tcp.Connect($server, $port)
PS C:\Users\administrator.AMER>
PS C:\Users\administrator.AMER> $ssl = New-Object System.Net.Security.SslStream(
>> $tcp.GetStream(),
>> $false,
>> { param($sender,$cert,$chain,$errors) $true }
>> )
PS C:\Users\administrator.AMER>
PS C:\Users\administrator.AMER> try {
>> $ssl.AuthenticateAsClient($server)
>>
>> "=== Protocol ==="
>> $ssl.SslProtocol
>> "=== Cipher ==="
>> "$($ssl.CipherAlgorithm) ($($ssl.CipherStrength)-bit)"
>> ""
>> "=== Server Certificate (exactly what the DC sends) ==="
>>
>> $remoteCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($ssl.RemoteCertificate)
>>
>> "Subject : $($remoteCert.Subject)"
>> "Issuer : $($remoteCert.Issuer)"
>> "NotBefore: $($remoteCert.NotBefore)"
>> "NotAfter : $($remoteCert.NotAfter)"
>> ""
>>
>> $b64 = [Convert]::ToBase64String($remoteCert.RawData, [Base64FormattingOptions]::InsertLineBreaks)
>> "-----BEGIN CERTIFICATE-----"
>> $b64
>> "-----END CERTIFICATE-----"
>> }
>> finally {
>> $ssl.Dispose()
>> $tcp.Dispose()
>> }
=== Protocol ===
Tls13
=== Cipher ===
Aes256 (256-bit)
=== Server Certificate ===
Subject : CN=DC.amer.lan
Issuer : CN=amer-DC-CA, DC=amer, DC=lan
NotBefore: 11/29/2025 01:17:22
NotAfter : 11/29/2026 01:17:22
-----BEGIN CERTIFICATE-----
MIIGDDCCBPSgAwIBAgITNAAAAAT93FoJVZwLkQAAAAAABDANBgkqhkiG9w0BAQsFADBAMRMwEQYK
...REMOVED FOR BREVITY...
c1HhZw24yOwFSOtTQg==
-----END CERTIFICATE-----
- 從以下時間複製憑證:
---BEGIN CERTIFICATE---並以---END CERTIFICATE---,然後將其粘貼到新檔中。如果存在證書鏈,則必須對每個證書執行此操作。 - 前往 匯入憑證。
匯入憑證:
2.顯示信任庫中當前受信任證書的清單。
- 適用於 NetWorker 19.12.x (JRE 8.x) 及更舊版本:
%JAVA%\bin\keytool -list -keystore %JAVA%\lib\security\cacerts -storepass changeit
$JAVA/bin/keytool -list -keystore $JAVA/lib/security/cacerts -storepass changeit
- 適用於 NetWorker 19.13 (JDK 17.x) 及更新版本:
%JAVA%\bin\keytool -list -cacerts -storepass changeit
$JAVA/bin/keytool -list -cacerts -storepass changeit
grep 或 findstr 命令,以縮小搜索範圍。如果 LDAPS 伺服器中有過期或現有的 CA 憑證,請使用以下命令將其刪除:
- 適用於 NetWorker 19.12.x (JRE 8.x) 及更舊版本:
%JAVA%\bin\keytool -delete -alias ALIAS_NAME -keystore %JAVA%\lib\security\cacerts -storepass changeit
$JAVA/bin/keytool -delete -alias ALIAS_NAME -keystore $JAVA/lib/security/cacerts -storepass changeit
- 適用於 NetWorker 19.13 (JDK 17.x) 及更新版本:
%JAVA%\bin\keytool -delete -alias ALIAS_NAME -cacerts -storepass changeit
$JAVA/bin/keytool -delete -alias ALIAS_NAME -cacerts -storepass changeit
- 適用於 NetWorker 19.12.x (JRE 8.x) 及更舊版本:
%JAVA%\bin\keytool -import -alias ALIAS_NAME -keystore %JAVA%\lib\security\cacerts -storepass changeit -file \PATH_TO\CERT_FILE
$JAVA/bin/keytool -import -alias ALIAS_NAME -keystore $JAVA/lib/security/cacerts -storepass changeit -file /PATH_TO/CERT_FILE
- 適用於 NetWorker 19.13 (JDK 17.x) 及更新版本:
%JAVA%\bin\keytool -import -alias ALIAS_NAME -cacerts -storepass changeit -file \PATH_TO\CERT_FILE
$JAVA/bin/keytool -import -alias ALIAS_NAME -cacerts -storepass changeit -file /PATH_TO/CERT_FILE
- 將 ALIAS_NAME 替換為導入證書的別名(例如,RCA (根 CA))。為證書鏈導入多個證書時,每個證書必須具有不同的別名並單獨導入。
- 將 PATH_TO\CERT_FILE 替換為您在步驟 6 中創建的證書檔的位置。
yes 然後按下 Enter 鍵。
C:\Users\administrator>%JAVA%\bin\keytool -import -alias RCA -keystore %JAVA%\lib\security\cacerts -storepass changeit -file C:\root-ca.cer Owner: CN=networker-DC-CA, DC=networker, DC=lan Issuer: CN=networker-DC-CA, DC=networker, DC=lan Serial number: 183db0ae21d3108244254c8aad129ecd ... ... ... Trust this certificate? [no]: yes Certificate was added to keystore
|) 作業系統 grep 或 findstr 命令以縮小結果範圍。
C:\Users\administrator>%JAVA%\bin\keytool -list -keystore %JAVA%\lib\security\cacerts -storepass changeit | findstr RCA RCA, Jan 15, 2025, trustedCertEntry,
net stop nsrd net start nsrd
nsr_shutdown service networker start
新增外部驗證至 NetWorker
新增外部驗證至 NetWorker
或者,您可以使用 authc_config 指令檔方法:
如果遵循其中一篇文章,則可以轉到創建外部授權資源的部分,無需重複證書導入過程。
1.使用您的 NetWorker 系統管理員帳戶登入 NetWorker Management Console (NMC)。選取設定 -> 使用者和角色 -> 外部授權。
針對 Active Directory over SSL:
A. 取得組態 ID 詳細資訊:
authc_config -u Administrator -p 'NetWorker_AdminPass' -e find-all-configs authc_config -u Administrator -p 'NetWorker_AdminPass' -e find-config -D config-id=CONFIG_ID#
範例:
nve:~ # authc_config -u Administrator -p '!Password1' -e find-all-configs
The query returns 1 records.
Config Id Config Name
1 AD
nve:~ # authc_config -u Administrator -p '!Password1' -e find-config -D config-id=1
Config Id : 1
Config Tenant Id : 1
Config Name : AD
Config Domain : networker.lan
Config Server Address : ldaps://dc.networker.lan:636/dc=networker,dc=lan
Config User DN : cn=nw authadmin,ou=dell,dc=networker,dc=lan
Config User Group Attribute :
Config User ID Attribute : sAMAccountName
Config User Object Class : person
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 : false
Config Search Subtree : true
authc_config 要設定的指令 is-active-directory=y:
authc_config -u Administrator -p 'NETWORKER_ADMIN_PASSWORD' -e update-config -D config-id=CONFIG_ID# -D config-server-address="ldaps://DOMAIN_SERVER:636/BASE_DN" -D config-user-dn="CONFIG_USER_DN" -D config-user-dn-password='CONFIG_USER_PASSWORD' -D config-active-directory=y
nve:~ # authc_config -u Administrator -p '!Password1' -e update-config -D config-id=1 -D config-server-address="ldaps://dc.networker.lan:636/dc=networker,dc=lan" -D config-user-dn="cn=nw authadmin,ou=dell,dc=networker,dc=lan" -D config-user-dn-password='PASSWORD' -D config-active-directory=y
Configuration AD is updated successfully.
nve:~ #
nve:~ # authc_config -u Administrator -p '!Password1' -e find-config -D config-id=1
Config Id : 1
Config Tenant Id : 1
Config Name : AD
Config Domain : networker.lan
Config Server Address : ldaps://dc.networker.lan:636/dc=networker,dc=lan
Config User DN : cn=nw authadmin,ou=dell,dc=networker,dc=lan
Config User Group Attribute :
Config User ID Attribute : sAMAccountName
Config User Object Class : person
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
現在已為 Active Directory 正確配置外部授權資源Microsoft。
在 NetWorker 中設定外部使用者和群組存取權限
authc_mgmt 命令,以確認可以看到 AD/LDAP 群組/使用者:
authc_mgmt -u Administrator -p 'NetWorker_Admin_Pass' -e query-ldap-users -D query-tenant=tenant_name -D query-domain=domain_name authc_mgmt -u Administrator -p 'NetWorker_Admin_Pass' -e query-ldap-groups -D query-tenant=tenant_name -D query-domain=domain_name authc_mgmt -u Administrator -p 'NetWorker_Admin_Pass' -e query-ldap-groups-for-user -D query-tenant=tenant_name -D query-domain=domain_name -D user-name=ad/ldap_username
nve:~ # authc_mgmt -u Administrator -p '!Password1' -e query-ldap-users -D query-tenant=default -D query-domain=networker.lan The query returns 40 records. User Name Full Dn Name ... ... bkupadmin CN=Backup Administrator,OU=Support_Services,OU=DELL,dc=networker,dc=lan nve:~ # authc_mgmt -u Administrator -p '!Password1' -e query-ldap-groups -D query-tenant=default -D query-domain=networker.lan The query returns 71 records. Group Name Full Dn Name ... ... NetWorker_Admins CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan nve:~ # authc_mgmt -u Administrator -p '!Password1' -e query-ldap-groups-for-user -D query-tenant=default -D query-domain=networker.lan -D user-name=bkupadmin The query returns 1 records. Group Name Full Dn Name NetWorker_Admins CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan
authc 即使提供了正確的密碼,命令也可能失敗並出現「Incorrect password」錯誤。這是因為密碼被指定為可見文字,其中包含”-p選項。如果您遇到這種情況,請刪除”-p password“。執行命令後,系統會提示您輸入隱藏的密碼。
設定 NMC 以接受外部認證:
設定 NetWorker 伺服器外部使用者權限:
nsraddadmin 若要為應具有完整 NetWorker 管理員權限的外部使用者/群組實現此目的:
nsraddadmin -e "USER/GROUP_DN"範例:
nve:~ # nsraddadmin -e "CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan" 134749:nsraddadmin: 'CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan' added to the 'external roles' list of 'Security Administrators' user group. 134749:nsraddadmin: 'CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan' added to the 'external roles' list of 'Application Administrators' user group.
(選擇性)設定 FULL_CONTROL 外部系統管理員使用者與群組的權限
FULL_CONTROL 外部系統管理員使用者與群組的權限- 管理 NetWorker 驗證伺服器使用者和群組。
- 管理在 NetWorker 中設定的外部授權資源。
如果沒有這些許可權,您將觀察到 Access is Denied 嘗試以外部使用者身分存取這些設定時發生錯誤。
依預設,只有預設的 NetWorker 系統管理員帳戶可存取這些設定。
若要設定 FULL_CONTROL 權限,請執行下列步驟:
- 開啟系統管理/root 命令提示字元。
- 使用要授予FULL_CONTROL執行權限的 AD 群組 DN:
authc_config -u Administrator -p 'NetWorker_Admin_Pass' -e add-permission -D permission-name=FULL_CONTROL -D permission-group-dn="AD/LDAP_group_dn"
nve:~ # authc_config -u Administrator -p '!Password1' -e add-permission -D permission-name=FULL_CONTROL -D permission-group-dn="CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan" Permission FULL_CONTROL is created successfully. nve:~ # nve:~ # authc_config -u Administrator -p '!Password1' -e find-all-permissions The query returns 2 records. Permission Id Permission Name Group DN Pattern Group DN 1 FULL_CONTROL ^cn=Administrators,cn=Groups.*$ 2 FULL_CONTROL CN=NetWorker_Admins,OU=DELL,dc=networ...
使用外部使用者帳戶存取 NMC 或 NWUI
Informations supplémentaires
如需其他資訊,請參閱《NetWorker 安全性組態指南》,網址為: https://www.dell.com/support/home/product-support/product/networker/docs
組態值:
| 伺服器類型 | 如果驗證伺服器是 Linux/UNIX LDAP 伺服器,請選取 LDAP;如果您使用 Microsoft Active Directory 伺服器,請選取 Active Directory。 |
| 授權單位名稱 | 為此外部認證機構提供名稱。此名稱可以是您想要的任何名稱,它只是為了在配置多個頒發機構時區分其他頒發機構。 |
| 供應商伺服器名稱 | 此欄位應包含 AD 或 LDAP 伺服器的完整網域名稱 (FQDN)。 |
| 租客 | 租戶可用於可能使用多種認證方法或必須設定多個授權的環境中。預設會選取「預設」租戶。使用租戶會更改登錄方法。預設租戶使用「domain\user」登入 NMC,其他租戶則使用「tenant\domain\user」登入 NMC。 |
| 網域 | 指定您的完整功能變數名稱(不包括主機名)。通常這是您的基本 DN,它由域的域元件 (DC) 值組成。 |
| 連接埠號碼 | 若為 LDAP 和 AD 整合,請使用連接埠 389。若為 LDAP over SSL,請使用連接埠 636。
這些連接埠是 AD/LDAP 伺服器上的非 NetWorker 預設連接埠。 |
| 使用者 DN | 指定對 LDAP 或 AD 目錄具有完全讀取存取權限的使用者帳戶的辨別名稱 (DN)。
指定使用者帳戶的相對 DN,如果覆蓋「域」欄位中設置的值,則指定完整 DN。 |
| 使用者 DN 密碼 | 指定指定使用者帳戶的密碼。 |
| 群組物件類別 | 標識 LDAP 或 AD 層次結構中的組的物件類。
|
| 群組搜尋路徑 | 此欄位可以保留空白,在此情況下 authc 能夠查詢完整域。必須先授予 NMC/NetWorker 伺服器存取權限,這些使用者/群組才能登入 NMC 並管理 NetWorker 伺服器。指定域的相對路徑,而不是完整 DN。 |
| 群組名稱屬性 | 標識組名稱的屬性。例如: cn |
| 群組成員屬性 | 使用者在組中的組成員身份
|
| 使用者物件類 | 標識LDAP或AD層次結構中的用戶的物件類。
例如: inetOrgPerson 或 user |
| 使用者搜尋路徑 | 與群組搜尋路徑一樣,此欄位可以保留空白,在這種情況下,AUTHC 能夠查詢完整的域。指定域的相對路徑,而不是完整 DN。 |
| 使用者 ID 屬性 | 與LDAP或AD層次結構中的用戶對象關聯的使用者ID。
|
其他相關文章: