教學課程:設定 Microsoft Entra Domain Services 受控網域的安全 LDAP

輕量型目錄存取通訊協定 (LDAP) 會用來與您的 Microsoft Entra Domain Services 受控網域進行通訊。 根據預設,LDAP 流量不會加密,這讓許多環境有安全上的顧慮。

您可以使用 Microsoft Entra Domain Services 將受控網域設定為使用安全的輕量型目錄存取通訊協定 (LDAPS)。 當您使用安全 LDAP 時,流量會加密。 安全 LDAP 也稱為透過安全通訊端層 (SSL) / 傳輸層安全性 (TLS) 的 LDAP。

本教學課程說明如何設定 Domain Services 受控網域的 LDAPS。

在本教學課程中,您會了解如何:

  • 建立數位憑證以與 Microsoft Entra Domain Services 搭配使用
  • 啟用 Microsoft Entra Domain Services 的安全 LDAP
  • 設定安全 LDAP 以透過公用網際網路使用
  • 系結及測試受控網域的安全 LDAP

如尚未擁有 Azure 訂用帳戶,請在開始之前先建立帳戶

必要條件

若要完成本教學課程,您需要下列資源和許可權:

登入 Microsoft Entra 系統管理中心

在本教學課程中,您會使用 Microsoft Entra 系統管理中心設定受控網域的安全 LDAP。 若要開始使用,請先登入 Microsoft Entra 系統管理中心

建立安全 LDAP 的憑證

若要使用安全 LDAP,會使用數位憑證來加密通訊。 此數位憑證會套用至您的受控網域,並讓 LDP.exe 之類的 工具在查詢資料時使用安全的加密通訊。 有兩種方式可建立憑證,以保護受控網域的 LDAP 存取:

  • 來自公用憑證授權單位單位 (CA) 或企業 CA 的憑證。
    • 如果您的組織從公用 CA 取得憑證,請從該公用 CA 取得安全的 LDAP 憑證。 如果您在組織中使用企業 CA,請從企業 CA 取得安全的 LDAP 憑證。
    • 公用 CA 僅適用于搭配受控網域使用自訂 DNS 名稱時。 如果受控網域的 DNS 功能變數名稱以 .onmicrosoft.com 結尾 ,您就無法建立數位憑證來保護使用此預設網域的連線。 Microsoft 擁有 .onmicrosoft.com 網域,因此公用 CA 不會發出憑證。 在此案例中,建立自我簽署憑證,並使用該憑證來設定安全 LDAP。
  • 您自行建立的自我簽署憑證。
    • 此方法適用于測試目的,也是本教學課程所示範的內容。

您要求或建立的憑證必須符合下列需求。 如果您啟用具有無效憑證的安全 LDAP,您的受控網域會遇到問題:

  • 信任簽發者 - 憑證必須由使用安全 LDAP 連線到受控網域的電腦所信任的授權單位簽發。 此授權單位可能是這些電腦信任的公用 CA 或企業 CA。
  • 存留期 - 憑證必須至少在未來 3-6 個月內有效。 憑證到期時,受控網域的安全 LDAP 存取會中斷。
  • 主體名稱 - 憑證上的主體名稱必須是受控網域。 例如,如果您的網功能變數名稱為 aaddscontoso.com ,憑證的主體名稱必須是 * .aaddscontoso.com
    • 憑證的 DNS 名稱或主體替代名稱必須是萬用字元憑證,以確保安全 LDAP 能與網域服務正常運作。 網域控制站會使用隨機名稱,並可移除或新增,以確保服務維持可用狀態。
  • 金鑰使用 方式 - 憑證必須針對 數位簽章 金鑰加密進行設定
  • 憑證用途 - 憑證必須有效,才能進行 TLS 伺服器驗證。

有數個工具可用來建立自我簽署憑證,例如 OpenSSL、Keytool、MakeCert、 New-SelfSignedCertificate Cmdlet 等。

在本教學課程中,讓我們使用 New-SelfSignedCertificate Cmdlet 建立安全 LDAP 的自我簽署憑證。

以 管理員istrator 開啟 PowerShell 視窗 ,然後執行下列命令。 以 您自己的受控網域所使用的 DNS 名稱取代$dnsName 變數,例如 aaddscontoso.com

# Define your own DNS name used by your managed domain
$dnsName="aaddscontoso.com"

# Get the current date to set a one-year expiration
$lifetime=Get-Date

# Create a self-signed certificate for use with Azure AD DS
New-SelfSignedCertificate -Subject *.$dnsName `
  -NotAfter $lifetime.AddDays(365) -KeyUsage DigitalSignature, KeyEncipherment `
  -Type SSLServerAuthentication -DnsName *.$dnsName, $dnsName

下列範例輸出顯示已成功產生憑證,並儲存在本機憑證存放區中( LocalMachine\MY ):

PS C:\WINDOWS\system32> New-SelfSignedCertificate -Subject *.$dnsName `
>>   -NotAfter $lifetime.AddDays(365) -KeyUsage DigitalSignature, KeyEncipherment `
>>   -Type SSLServerAuthentication -DnsName *.$dnsName, $dnsName.com

   PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\MY

Thumbprint                                Subject
----------                                -------
959BD1531A1E674EB09E13BD8534B2C76A45B3E6  CN=aaddscontoso.com

瞭解和匯出必要的憑證

若要使用安全 LDAP,網路流量會使用公開金鑰基礎結構 (PKI) 加密。

  • 私密金鑰 會套用至受控網域。
    • 此私密金鑰可用來 解密 安全的 LDAP 流量。 私密金鑰應該只套用至受控網域,而不會廣泛散發到用戶端電腦。
    • 包含私密金鑰的憑證會使用 。PFX 檔案格式。
    • 匯出憑證時,您必須指定 TripleDES-SHA1 加密演算法。 這僅適用于 .pfx 檔案,而且不會影響憑證本身所使用的演算法。 請注意, TripleDES-SHA1 選項僅適用于 Windows Server 2016。
  • 公開金鑰 會套用至用戶端電腦。
    • 此公開金鑰用來 加密 安全的 LDAP 流量。 公開金鑰可以散發至用戶端電腦。
    • 不使用私密金鑰的憑證會 使用 。CER 檔案格式。

這兩個金鑰, 私密金鑰 公開金鑰 ,請確定只有適當的電腦可以成功彼此通訊。 如果您使用公用 CA 或企業 CA,則會以包含私密金鑰的憑證發出,而且可以套用至受控網域。 用戶端電腦應該已經知道且信任公開金鑰。

在本教學課程中,您已使用私密金鑰建立自我簽署憑證,因此您必須匯出適當的私人和公用元件。

匯出 Microsoft Entra Domain Services 的憑證

您必須先將憑證匯出至 ,才能使用在上一 個步驟中建立的數位憑證與受控網域。包含私密金鑰的 PFX 憑證檔案。

  1. 若要開啟 [ 執行] 對話方塊,請選取 Windows + R 金鑰。

  2. 在 [執行 ] 對話方塊中輸入 mmc ,然後選取 [ 確定 ],以開啟 Microsoft Management Console (MMC)。

  3. 在 [ 使用者帳戶控制 ] 提示字元上,選取 [ ] 以系統管理員身分啟動 MMC。

  4. 從 [ 檔案] 功能表中,選取 [新增/移除嵌入式管理單元...

  5. 在 [ 憑證] 嵌入式管理單元精靈中 ,選擇 [ 電腦帳戶 ],然後選取 [ 下一步 ]。

  6. 在 [ 選取電腦] 頁面上,選擇 [本機電腦:[此主控台執行的電腦] ,然後選取 [ 完成 ]。

  7. 在 [ 新增或移除嵌入式管理單元 ] 對話方塊中,選取 [ 確定 ] 將憑證嵌入式管理單元新增至 MMC。

  8. 在 MMC 視窗中,展開 [主控台根 ]。 選取 [ 憑證][本機電腦] ,然後展開 [個人 ] 節點,後面接著 [憑證] 節點。

    Open the personal certificates store in the Microsoft Management Console

  9. 會顯示在上一個步驟中建立的自我簽署憑證,例如 aaddscontoso.com 。 以滑鼠右鍵按一下此憑證,然後選擇 [ 所有工作 > 匯出...

    Export certificate in the Microsoft Management Console

  10. 在 [ 憑證匯出精靈 ] 中,選取 [ 下一步 ]。

  11. 憑證的私密金鑰必須匯出。 如果私密金鑰未包含在匯出的憑證中,則啟用受控網域安全 LDAP 的動作會失敗。

    在 [ 匯出私密金鑰 ] 頁面上,選擇 [ 是],匯出私密金鑰 ,然後選取 [ 下一步 ]。

  12. 受控網域僅支援 。包含私密金鑰的 PFX 憑證檔案格式。 請勿將憑證匯出為 。不含私密金鑰的 CER 憑證檔案格式。

    在 [ 匯出檔案格式] 頁面上,選取 [個人資訊交換 - PKCS ]#12 (。PFX) 做為匯出憑證的檔案格式。 如果可能 的話,請核取 [ 在認證路徑中包含所有憑證] 的方塊:

    Choose the option to export the certificate in the PKCS 12 (.PFX) file format

  13. 由於此憑證是用來解密資料,您應該仔細控制存取權。 密碼可用來保護憑證的使用。 如果沒有正確的密碼,就無法將憑證套用至服務。

    在 [ 安全性] 頁面上,選擇 [密碼 ] 的選項 來保護 。PFX 憑證檔案。 加密演算法必須是 TripleDES-SHA1 。 輸入並確認密碼,然後選取 [ 下一步 ]。 下一節會使用此密碼,為您的受控網域啟用安全 LDAP。

    如果您使用 PowerShell export-pfxcertificate Cmdlet 匯出 ,則必須使用 TripleDES_SHA1 傳遞 -CryptoAlgorithmOption 旗標。

    Screenshot of how to encrypt the password

  14. 在 [ 要匯出 的檔案] 頁面上,指定您想要匯出憑證的檔案名和位置,例如 C:\Users\<account-name>\azure-ad-ds.pfx 。 記下 的密碼和位置 。PFX 檔案,因為後續步驟中需要此資訊。

  15. 在檢閱頁面上,選取 [ 完成 ] 將憑證匯出至 。PFX 憑證檔案。 成功匯出憑證時,會顯示確認對話方塊。

  16. 讓 MMC 保持開啟,以供下一節使用。

匯出用戶端電腦的憑證

用戶端電腦必須信任安全 LDAP 憑證的簽發者,才能使用 LDAPS 成功連線到受控網域。 用戶端電腦需要憑證,才能成功加密 Domain Services 解密的資料。 如果您使用公用 CA,電腦應該會自動信任這些憑證簽發者,並具有對應的憑證。

在本教學課程中,您會使用自我簽署憑證,並產生包含上一個步驟中私密金鑰的憑證。 現在讓我們將自我簽署憑證匯出,然後將自我簽署憑證安裝到用戶端電腦上的受信任憑證存放區:

  1. 返回 MMC 以取得 憑證 (本機電腦) > 個人 > 證書 存儲。 會顯示在上一個步驟中建立的自我簽署憑證,例如 aaddscontoso.com 。 以滑鼠右鍵按一下此憑證,然後選擇 [ 所有工作 > 匯出...

  2. 在 [ 憑證匯出精靈 ] 中,選取 [ 下一步 ]。

  3. 當您不需要用戶端的私密金鑰時,在 [ 匯出私密金鑰 ] 頁面上,選擇 [否],不要匯出私密金鑰 ,然後選取 [ 下一步 ]。

  4. 在 [ 匯出檔案格式] 頁面上,選取 [Base-64 編碼 X.509]。CER) 作為匯出憑證的檔案格式:

    Choose the option to export the certificate in the Base-64 encoded X.509 (.CER) file format

  5. 在 [ 要匯出 的檔案] 頁面上,指定您想要匯出憑證的檔案名和位置,例如 C:\Users\<account-name>\azure-ad-ds-client.cer

  6. 在檢閱頁面上,選取 [ 完成 ] 將憑證匯出至 。CER 憑證檔案。 成功匯出憑證時,會顯示確認對話方塊。

CER 憑證檔案現在可以散發給需要信任受控網域安全 LDAP 連線的用戶端電腦。 讓我們在本機電腦上安裝憑證。

  1. 開啟檔案總管,並流覽至您儲存 的位置。CER 憑證檔案,例如 C:\Users\<account-name>\azure-ad-ds-client.cer

  2. 以滑鼠右鍵按一下 。CER 憑證檔案,然後選擇 [ 安裝憑證 ]。

  3. 在 [ 憑證匯入精靈 ] 中,選擇將憑證儲存在 本機電腦 中,然後選取 [ 下一步 ]:

    Choose the option to import the certificate into the local machine store

  4. 出現提示時,選擇 [ ] 以允許電腦進行變更。

  5. 選擇 [ 根據憑證 類型自動選取證書存儲],然後選取 [ 下一步 ]。

  6. 在檢閱頁面上,選取 [ 完成 ] 以匯入 。CER 憑證。 檔案 成功匯入憑證時,會顯示確認對話方塊。

啟用 Microsoft Entra Domain Services 的安全 LDAP

建立並匯出包含私密金鑰的數位憑證,且用戶端電腦設定為信任連線,現在可在受控網域上啟用安全 LDAP。 若要在受控網域上啟用安全 LDAP,請執行下列設定步驟:

  1. Microsoft Entra 系統管理中心 的 [搜尋資源 ] 方塊中 輸入 網域服務 。 從搜尋結果中選取 [Microsoft Entra Domain Services ]。

  2. 選擇您的受控網域,例如 aaddscontoso.com

  3. 在 [Microsoft Entra Domain Services] 視窗左側,選擇 [ 安全 LDAP ]。

  4. 根據預設,會停用對受控網域的安全 LDAP 存取。 將 [安全 LDAP ] 切換 [啟用 ]。

  5. 預設會停用透過網際網路存取受控網域的安全 LDAP 存取。 當您啟用公用安全 LDAP 存取時,您的網域很容易透過網際網路遭受密碼暴力密碼破解攻擊。 在下一個步驟中,網路安全性群組會設定為只鎖定所需來源 IP 位址範圍的存取權。

    切換 [ 允許透過網際網路 進行安全 LDAP 存取] 以 [啟用 ]。

  6. 選取 旁邊的 資料夾圖示。具有安全 LDAP 憑證 的 PFX 檔案。 流覽至 的路徑 。PFX 檔案,然後選取在上一個步驟中建立的憑證,其中包含私密金鑰。

    重要

    如上一節關於憑證需求所述,您無法使用具有預設 .onmicrosoft.com 網域之公用 CA 的憑證。 Microsoft 擁有 .onmicrosoft.com 網域,因此公用 CA 不會發出憑證。

    請確定您的憑證格式適當。 如果不是,當您啟用安全 LDAP 時,Azure 平臺會產生憑證驗證錯誤。

  7. 輸入 密碼以解密 。當憑證匯出至 時,在上一個步驟中設定 PFX 檔案 。PFX 檔案。

  8. 選取 [ 儲存] 以啟用安全的 LDAP。

    Enable secure LDAP for a managed domain in the Microsoft Entra admin center

系統會顯示已針對受控網域設定安全 LDAP 的通知。 在完成此作業之前,您無法修改受控網域的其他設定。

啟用受控網域的安全 LDAP 需要幾分鐘的時間。 如果您提供的安全 LDAP 憑證不符合所需的準則,則為受控網域啟用安全 LDAP 的動作會失敗。

失敗的一些常見原因是功能變數名稱不正確、憑證的加密演算法不是 TripleDES-SHA1 ,或憑證即將過期或已過期。 您可以使用有效的參數重新建立憑證,然後使用此更新的憑證來啟用安全 LDAP。

變更過期的憑證

  1. 遵循建立安全 LDAP 憑證的步驟來 建立安全的 LDAP 憑證。
  2. 若要將取代憑證套用至 Domain Services,請在 Microsoft Entra 系統管理中心的 Microsoft Entra Domain Services 左側功能表中 ,選取 [安全 LDAP ],然後選取 [ 變更憑證 ]。
  3. 使用安全 LDAP 將憑證散發給任何連線的用戶端。

鎖定透過網際網路的安全 LDAP 存取

當您透過網際網路對受控網域啟用安全 LDAP 存取時,它會建立安全性威脅。 受控網域可從 TCP 埠 636 上的網際網路連線。 建議將受控網域的存取限制為環境的特定已知 IP 位址。 您可以使用 Azure 網路安全性群組規則來限制對安全 LDAP 的存取。

讓我們建立規則,以允許來自一組指定 IP 位址的 TCP 埠 636 進行輸入安全 LDAP 存取。 優先順序較低的預設 DenyAll 規則會套用至來自網際網路的所有其他輸入流量,因此只有指定的位址可以使用安全 LDAP 連線到受控網域。

  1. Microsoft Entra 系統管理中心 中,搜尋並選取 [資源群組 ]。

  2. 選擇您的資源群組,例如 myResourceGroup ,然後選取您的網路安全性群組,例如 aaads-nsg

  3. 會顯示現有的輸入和輸出安全性規則清單。 在網路安全性群組視窗的左側,選擇 [設定 > 輸入安全性規則 ]。

  4. 選取 [ 新增 ],然後建立規則以允許 TCP 636 。 為了提升安全性,請選擇來源作為 IP 位址 ,然後為您的組織指定您自己的有效 IP 位址或範圍。

    設定
    來源 IP 位址
    來源 IP 位址 /CIDR 範圍 您環境的有效 IP 位址或範圍
    來源連接埠範圍 *
    Destination 任意
    目的地連接埠範圍 636
    通訊協定 TCP
    動作 允許
    優先順序 401
    名稱 AllowLDAPS
  5. 準備好時,選取 [ 新增 ] 以儲存並套用規則。

    Create a network security group rule to secure LDAPS access over the internet

設定外部存取的 DNS 區域

透過網際網路啟用安全 LDAP 存取後,請更新 DNS 區域,讓用戶端電腦可以找到此受控網域。 [ 安全 LDAP 外部 IP 位址 ] 會列在受控網域的 [屬性 ] 索引標籤上:

View the secure LDAP external IP address for your managed domain in the Microsoft Entra admin center

將您的外部 DNS 提供者設定為建立主機記錄,例如 ldaps ,以解析為這個外部 IP 位址。 若要先在本機電腦上進行測試,您可以在 Windows 主機檔案中建立專案。 若要在本機電腦上成功編輯主機檔案,請以系統管理員身分開啟 記事本 ,然後開啟 檔案 C:\Windows\System32\drivers\etc\hosts

下列範例 DNS 專案,無論是使用外部 DNS 提供者,還是在本機主機檔案中,將 的 ldaps.aaddscontoso.com 流量解析為 的外部 IP 位址 168.62.205.103

168.62.205.103    ldaps.aaddscontoso.com

測試對受控網域的查詢

若要連線並系結至受控網域並透過 LDAP 搜尋,請使用 LDP.exe 工具。 此工具組含在遠端伺服器 管理員istration Tools (RSAT) 套件中。 如需詳細資訊,請參閱 安裝遠端伺服器 管理員istration Tools

  1. 開啟 LDP.exe 並聯機到受控網域。 選取 [連線ion ],然後選擇 [連線... ]。
  2. 輸入您在上一個步驟中建立之受控網域的安全 LDAP DNS 功能變數名稱,例如 ldaps.aaddscontoso.com 。 若要使用安全 LDAP,請將 [埠 ] 設定 636 ,然後核取 SSL 方塊。
  3. 選取 [ 確定 ] 以連線到受控網域。

接下來,系結至您的受控網域。 如果您已在受控網域上停用 NTLM 密碼雜湊同步處理,則使用者(和服務帳戶)無法執行 LDAP 簡單系結。 如需停用 NTLM 密碼雜湊同步處理的詳細資訊,請參閱 保護受控網域

  1. 選取 [連線ion ] 功能表選項,然後選擇 [ 系結... ]。
  2. 提供屬於受控網域的使用者帳號憑證。 輸入使用者帳戶的密碼,然後輸入您的網域,例如 aaddscontoso.com
  3. 針對 [ 系結類型 ],選擇 [ 使用認證 系結] 的選項。
  4. 選取 [ 確定 ] 以系結至受控網域。

若要查看儲存在受控網域中的物件:

  1. 選取 [ 檢視 ] 功能表選項,然後選擇 [ 樹狀結構 ]。

  2. 將 [BaseDN] 欄位保留空白,然後選取 [ 確定 ]。

  3. 選擇容器,例如 AADDC Users ,然後以滑鼠右鍵按一下容器,然後選擇 [ 搜尋 ]。

  4. 保留預先填入的欄位集,然後選取 [ 執行 ]。 查詢的結果會顯示在右側視窗中,如下列範例輸出所示:

    Search for objects in your managed domain using LDP.exe

若要直接查詢特定容器,您可以從 [檢視 > 樹 狀目錄] 功能表指定 BaseDN ,例如 OU=AADDC Users,DC=AADDSCONTOSO,DC=COM OU=AADDC Computers,DC=AADDSCONTOSO,DC=COM 。 如需如何格式化和建立查詢的詳細資訊,請參閱 LDAP 查詢基本概念

注意

如果使用自我簽署憑證,請確定在 LDAPS 的受信任根憑證授權單位上新增的自我簽署憑證,以使用 LDP.exe

清除資源

如果您已將 DNS 專案新增至電腦的本機主機檔案,以測試本教學課程的連線能力,請移除此專案,並在 DNS 區域中新增正式記錄。 若要從本機主機檔案移除專案,請完成下列步驟:

  1. 在您的本機電腦上,以系統管理員身 分開啟 記事本
  2. 流覽至 並開啟 檔案 C:\Windows\System32\drivers\etc\hosts
  3. 刪除您所新增記錄的行,例如 168.62.205.103 ldaps.aaddscontoso.com

疑難排解

如果您看到指出 LDAP.exe 無法連線的錯誤,請嘗試處理取得連線的不同層面:

  1. 設定網域控制站
  2. 設定用戶端
  3. 網路
  4. 建立 TLS 會話

若為憑證主體名稱相符,DC 會使用 Domain Services 功能變數名稱(而非 Microsoft Entra 功能變數名稱)來搜尋其憑證存放區中的憑證。 例如,拼字錯誤會防止 DC 選取正確的憑證。

用戶端會嘗試使用您提供的名稱來建立 TLS 連線。 流量必須一路通過。 DC 會傳送伺服器驗證憑證的公開金鑰。憑證必須有正確的憑證使用方式,登入主體名稱的名稱必須與用戶端相容,才能信任伺服器是您要連線的 DNS 名稱(也就是萬用字元將無法運作,且沒有拼字錯誤),且用戶端必須信任簽發者。 您可以在系統記錄檔中檢查事件檢視器中是否有任何問題,並篩選來源等於 Schannel 的事件。 一旦這些片段就緒,它們就會形成會話索引鍵。

如需詳細資訊,請參閱 TLS 交握

下一步

在本教學課程中,您已了解如何:

  • 建立數位憑證以與 Microsoft Entra Domain Services 搭配使用
  • 啟用 Microsoft Entra Domain Services 的安全 LDAP
  • 設定安全 LDAP 以透過公用網際網路使用
  • 系結及測試受控網域的安全 LDAP