如何在 Windows Server 中啟用 LDAP 簽署

AD可以將伺服器設定為拒絕簡單的驗證和安全性層,以大幅改善目錄伺服器的安全性。 (SASL) LDAP 系結未要求籤署 (完整性驗證) ,或拒絕以明文方式執行的 LDAP 簡易系結 (非 SSL/TLS 加密) 連接。 SASL 系結可能包含 Negotiate、Kerberos、NTLM 及摘要等通訊協定。

如何設定伺服器 LDAP 簽署需求

選取 [開始 > 執行],輸入mmc.exe,然後選取 [確定]。
選取 [檔 > 新增/移除嵌入式管理單元],選取 [群組原則管理編輯器],然後選取 [新增]。
選取 [群組原則物件 > 流覽]。
在 [流覽群組原則物件] 對話方塊中,選取 [網域、ou 及連結的群組原則物件] 區域底下的 [預設網域控制站原則],然後選取 [確定]。
Select Finish.
選取 [確定]****。
選取 [預設的網域控制站原則 > 電腦 > 設定原則] [ > Windows 設定 > 安全性設定 > 本機原則],然後選取 [安全性選項]。
以滑鼠右鍵按一下 [ 網域控制站: LDAP 伺服器簽署需求],然後選取 [ 屬性]。
在 [網域控制站: LDAP 伺服器簽署需求屬性] 對話方塊中,啟用 [定義這個原則] 設定,選取 [在定義這個原則設定] 清單中的 [需要簽署],然後選取 [確定]。
在 [ 確認設定變更 ] 對話方塊中,選取 [是]。

如何使用網域群組原則物件設定用戶端 LDAP 簽署需求

選取 [開始 > 執行],輸入mmc.exe,然後選取 [確定]。
選取 [ 檔案] [ > 新增/移除嵌入式管理單元]。
在 [ 新增或移除嵌入式管理單元 ] 對話方塊中,選取 [ 群組原則物件編輯器],然後選取 [ 新增]。
選取 [流覽],然後選取要啟用用戶端 LDAP 簽署) 的 [ 預設網域原則 (] 或 [群組原則物件]。
選取 [確定]****。
Select Finish.
選取 [關閉]。
選取 [確定]****。
選取 [預設網域原則 > 電腦 > 設定 Windows 設定 > 安全性設定] [ > 本地原則],然後選取 [安全性選項]。
在 [ 網路安全性: LDAP 用戶端簽署需求屬性 ] 對話方塊中,選取 [需要在清單中 簽署 ],然後選取 [確定]。
在 [ 確認設定變更 ] 對話方塊中,選取 [是]。

啟用 LDAP over SSL

LDAP 是用來讀取和寫入 Active Directory。 LDAP 流量預設會以不安全的方式傳輸。 您可以使用 SSL/傳輸層安全性 (TLS) 技術,使 LDAP 流量成為機密及安全的。 您可以從 Microsoft 憑證授權單位單位 (CA) 或非 Microsoft CA 安裝適當格式的憑證,以啟用 LDAP (LDAPS)
若要啟用 LDAPS,您必須安裝符合下列需求的憑證:
LDAPS 憑證位於本機電腦的個人憑證存放區中 (以程式設計的方式稱為電腦的 MY certificate store) 。
符合憑證的私密金鑰會存在於本機電腦的存放區中,且與憑證正確相關聯。 私密金鑰 不得啟用 強私密金鑰保護。
「增強型金鑰使用量」擴充包含伺服器驗證 (1.3.6.1.5.5.7.3.1) 物件識別碼 (也稱為 OID) 。
網域控制站的 Active Directory 完整功能變數名稱 (例如,DC01。DOMAIN.COM) 必須出現在下列其中一個位置:
[主旨] 欄位中 (CN) 的一般名稱。
主體替代名稱分機中的 DNS 專案。
憑證是由網域控制站和 LDAPS 用戶端所信任的 CA 所發出。 建立信任的方式是將用戶端和伺服器設定為信任發證 CA 所連結的根 CA。
您必須使用 Schannel 加密服務提供者 (CSP) 以產生金鑰。

驗證設定變更

登入已安裝 AD DS 系統管理工具的電腦。
選取 [開始 > 執行],輸入ldp.exe,然後選取 [確定]。
選取Connection > [連線] [連接]。
在 [ 伺服器 及 埠] 中,輸入目錄伺服器的伺服器名稱和非 SSL/TLS 埠,然後選取 [確定]。
注意
若為 Active Directory 網域控制站,適用的埠是389。
建立連接後,請選取 [ 連線系結] > ** **。
在 [ 綁定類型] 底下,選取 [ 簡單系結]。
輸入使用者名稱和密碼,然後選取 [確定]。
如果您收到下列錯誤訊息,表示您已成功設定目錄伺服器:
Ldap_simple_bind_s ( # A1 失敗:需要強驗證

其他安全機制建議:

為協助使透過 SSL/TLS 的 LDAP 驗證更加安全,系統管理員可以設定下列登錄設定:

Active Directory Domain Services (AD DS) 網域控制站的路徑: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Active Directory 輕量型目錄服務 (AD LDS) 伺服器的路徑: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\\Parameters
DWORD: LdapEnforceChannelBinding
DWORD 值: 0 表示「停用」。 系統不會執行通道繫結驗證。 這是所有尚未進行更新的伺服器採取的行為。
DWORD 值: 1 表示「啟用」(若支援的話)。 若用戶端所執行的 Windows 版本已更新為支援通道繫結權杖 (CBT),則必須將通道繫結資訊提供給伺服器。 若用戶端執行的 Windows 版本尚未更新為支援 CBT,則不必提供。 這是允許應用程式相容性的中繼選項。
DWORD 值: 2 表示「永遠啟用」。 所有用戶端都必須提供通道繫結資訊。 伺服器會針對從尚未提供資訊的用戶端所傳送的驗證要求,予以拒絕。

根據預設,Active Directory 輕型目錄服務 (AD LDS) ,無法使用登錄機碼。 因此,您必須 LDAPServerIntegrity 在下列登錄子機碼下建立 REG_DWORD 類型的登錄專案: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ <*InstanceName> * \Parameters
如果您不當地修改登錄,可能會發生嚴重的問題。 在您進行修改之前,請先備份登錄,做為還原之用,以免發生問題。
使用 Ntdsutil.exe 查看和設定 Active Directory 中的 LDAP 原則

LDAP 原則是使用類別的物件來執行 queryPolicy 。 查詢原則物件可以在查詢原則容器中建立,該容器是設定命名內容中目錄服務容器的子系。 例如,cn = 查詢原則,cn = 目錄服務,cn = Windows NT,cn = Services configuration 命名內容

LDAP 管理限制

LDAP 管理限制如下:
InitRecvTimeout-此值定義當網域控制站收到新的連線後,網域控制站等候用戶端傳送第一個要求的最長時間(以秒為單位)。 如果用戶端在這段時間內沒有傳送第一個要求,伺服器便會中斷用戶端的連接。
預設值:120秒
MaxActiveQueries-允許在網域控制站上同時執行的並行 LDAP 搜尋作業數目上限。 達到此限制時,LDAP 伺服器會傳回 忙碌 錯誤。
預設值:20
注意
此控制項與 MaxPoolThreads 值不正確互動。 MaxPoolThreads 是每個處理器控制項,而 MaxActiveQueries 定義的是絕對數目。 從 Windows Server 2003 開始,MaxActiveQueries 已不再執行。 此外,MaxActiveQueries 不會出現在 Windows Server 2003 版本的 NTDSUTIL 中。
預設值:20
MaxConnections-網域控制站會接受的同時 LDAP 連線數目上限。 如果在網域控制站達到此限制之後連線,則網域控制站會丟棄另一個連線。
預設值:5000
MaxConnIdleTime-LDAP 伺服器關閉連線之前,可讓用戶端空閒的最長時間(以秒為單位)。 如果連線閒置超過此時間,則 LDAP 伺服器會傳回 LDAP 中斷連線通知。
預設值:900秒
MaxDatagramRecv-網域控制站將處理的資料包要求大小上限。 會忽略大於 MaxDatagramRecv 值的要求。
預設值:4096個位元組
MaxNotificationPerConnection-單一連線允許的未完成通知要求數目上限。 達到此限制時,伺服器會將對該連接執行的任何新通知搜尋傳回 忙碌 錯誤。
預設值:5
MaxPageSize-此值會控制單一搜尋結果中傳回的物件數目上限,與每個傳回的物件的大小無關。 若要在結果可能超出此數目的物件的情況下執行搜尋,用戶端必須指定分頁搜尋控制項。 這會將傳回的結果群組成不大於 MaxPageSize 值的群組。 總而言之,MaxPageSize 控制單一搜尋結果中傳回的物件數目。
預設值:1000
MaxPoolThreads-I/O) 的網域控制站要接聽網路輸入或輸出 (,每個執行緒的執行緒數目上限。 這個值也會決定可以同時處理 LDAP 要求之每個處理器的執行緒數目上限。
預設值:每個處理器四個執行緒
MaxResultSetSize-在組成分頁結果搜尋的個別搜尋之間,網域控制站可能會儲存用戶端的中間資料。 網域控制站會儲存此資料,以加速分頁結果搜尋的下一個部分。 MaxResultSize 值可控制網域控制站為此類搜尋所儲存的資料總量。 達到此限制時,網域控制站會捨棄最舊的中間結果,以騰出空間來儲存新的中間結果。
預設值:262144個位元組
MaxQueryDuration-網域控制站在單一搜尋上所花費的最長時間(以秒為單位)。 達到此限制時,網域控制站會傳回 "timeLimitExceeded" 錯誤。 需要更多時間的搜尋必須指定分頁結果控制項。
預設值:120秒
MaxTempTableSize-在處理查詢時,dblayer 可能會嘗試建立臨時資料庫資料表,以進行排序,並從中選取中級結果。 MaxTempTableSize 限制可控制此臨時資料庫表格的大小。 如果臨時資料庫資料表包含的物件數目超過 MaxTempTableSize 的值,dblayer 會執行完整的 DS 資料庫及 DS 資料庫中所有物件的更少有效剖析。
預設值:10000記錄
MaxValRange-此值會控制為物件的屬性傳回的值數目,與物件有多少屬性或搜尋結果中的物件數目無關。 在 Windows 2000 中,此控制項的編碼是在1000。 如果屬性的值數目超過 MaxValRange 值所指定的數目,您必須在 LDAP 中使用 value 範圍控制項,以檢索超過 MaxValRange 值的值。 MaxValueRange 控制單一物件上的單一屬性所傳回的值數目。
最小值:30
預設值:1500