---
tags: AD, 驗證, NTLM
date: 2023-05-07
---
# 如何關閉舊的微軟驗證機制(NTLM)
###### tags: AD, 驗證, NTLM
2023/05/07
微軟身分驗證機制中,`NTLM` 是已經過時的驗證機制,使用此驗證機制相對不安全,容易遭受攻擊,尤其是`NTLMv1`建議禁用
|微軟身分驗證機制|建議|備註|
|---|---|---|
|`NTLMv1`|建議禁用| |
|`NTLMv2`|建議僅本地使用,網域帳號不要使用|本地帳號登入的驗證通常使用 NTLMv2 或者 LSA|
|`Kerberos`|建議使用|通常用於網域驗證|
# 關閉舊的身分驗證機制
## 設定選項
可以使用 Group Policy 或 PowerShell 指令來設定。
在 Group Policy 中,這些設定通常位於 `電腦設定\Windows 設定\安全性設定\本機原則\安全性選項`,其中包括以下選項
- 網路安全性: 限制 NTLM: 送往遠端伺服器的連出 NTLM 流量
- 網路安全性: 限制 NTLM: 稽核連入 NTLM 流量
- 網路安全性: 限制 NTLM: 連入 NTLM 流量
- [GCB要求]網路安全性: LAN Manager 驗證等級
- [GCB要求]網路安全性: NTLM SSP 為主的 (包含安全 RPC) 伺服端的最小工作階段安全性
- [GCB要求]網路安全性: NTLM SSP 為主的 (包含安全 RPC) 用戶端的最小工作階段安全性
- [GCB要求]網路安全性: 設定 Kerberos 允許的加密類型
## 項目描述
### 1. 網路安全性: 限制 NTLM: 送往遠端伺服器的連出 NTLM 流量
Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers
此原則設定允許您拒絕或稽核從此電腦到任何 Windows 遠端伺服器的連出 NTLM 流量。
- 全部允許(Allow all) (預設)
- 全部稽核
- **全部拒絕(Deny all)**
- Deny all domain accounts
建議設定為 "全部拒絕(Deny all)",因為這可以減少遠端伺服器遭受 NTLM 中繼攻擊的風險。
p.s.
- GCB無此設定
- 我的 win 11 沒有 `Deny all domain accounts`,多了`全部稽核`
- 必須至少是 Windows 7 或 Windows Server 2008 R2 才支援此原則。
### 2. 網路安全性: 限制 NTLM: 稽核連入 NTLM 流量
Network security: Restrict NTLM: Audit NTLM authentication in this domain
這個原則設定允許您稽核連入 NTLM 流量。
- 停用(Disabled) (預設)
- 啟用網域帳戶的稽核(Enable auditing for domain accounts)
- **啟用所有帳戶的稽核(Enable auditing for all accounts)**
建議設定為 "啟用所有帳戶的稽核",因為這可以增加對 NTLM 中繼攻擊的檢測和追蹤。
e.g.
- GCB無此設定
- 必須至少是 Windows 7 或 Windows Server 2008 R2 才支援此原則。
### 3. 網路安全性: 限制 NTLM: 連入 NTLM 流量
Network security: Restrict NTLM: Incoming NTLM traffic
此原則設定允許您拒絕或允許連入 NTLM 流量。
- 全部允許(Allow all) (預設)
- **拒絕所有網域帳戶(Deny for domain accounts)**
- 拒絕所有帳戶(Deny all)
建議設定為 "拒絕所有網域帳戶",因為這可以減少 NTLM 中繼攻擊的風險,也避免本地帳戶無法登入
e.g.
- GCB無此設定
- 必須至少是 Windows 7 或 Windows Server 2008 R2 才支援此原則。
### 4. 網路安全性: LAN Manager 驗證等級
Network security: LAN Manager authentication level
此安全性設定決定使用哪種 Challenge/Response 驗證通訊協定登入網路。此選擇會影響用戶端使用的驗證通訊協定層級、交涉的工作階段安全性層級,以及伺服器接受的驗證等級,如下:
- 傳送 LM 和 NTLM 回應
- 傳送 LM 和 NTLM - 如有交涉,使用 NTLMv2 工作階段安全性
- 只傳送 NTLM 回應
- 只傳送 NTLMv2 回應
- 只傳送 NTLMv2 回應,拒絕 LM
- **只傳送 NTLMv2 回應,拒絕 LM 和 NTLM**
依GCB要求為 `只傳送 NTLMv2 回應,拒絕 LM 和 NTLM`
### 5. 網路安全性: NTLM SSP 為主的 (包含安全 RPC) 伺服端的最小工作階段安全性
此安全性設定允許用戶端要求 128 位元加密和/或 NTLMv2 工作階段安全性的交涉。這些值依存於 LAN Manager 驗證等級安全性設定值。選項如下:
- **要求 NTLMv2 工作階段安全性**
- **要求 128 位元加密**
依GCB要求兩個選項都勾選
### 6. 網路安全性: NTLM SSP 為主的 (包含安全 RPC) 用戶端的最小工作階段安全性
此安全性設定允許用戶端要求 128 位元加密和/或 NTLMv2 工作階段安全性的交涉。這些值依存於 LAN Manager 驗證等級安全性設定值。選項如下:
- **要求 NTLMv2 工作階段安全性**
- **要求 128 位元加密**
依GCB要求兩個選項都勾選
### 7. 網路安全性: 設定 Kerberos 允許的加密類型
- DES\_CBC\_CRC : 不勾選
- DES\_CBC\_MD5 : 不勾選
- RC4\_HMAC\_MD5 : 不勾選
- **AES128\_HMAC\_SHA1** : 勾選
- **AES256\_HMAC\_SHA1** : 勾選
- **未來的加密類型** : 勾選
依GCB要求勾選以下選項`AES128_HMAC_SHA1`、`AES256_HMAC_SHA1`、`未來的加密類型`
不勾選`DES_CBC_CRC`, `DES_CBC_MD5`, `RC4_HMAC_MD5`
若要關閉加密類型`RC4_HMAC_MD5`,
至少要 Windows Server 2008 等級,或 Windows Server 2012 R2 + KB2998097
# 參考資料
[1] [作業系統GPO - 國家資通安全研究院 (nat.gov.tw)](https://www.nics.nat.gov.tw/GCBDownloadDetail-10.htm?lang=zh&seq=1079)
[2] [安全性選項 | Microsoft Learn](https://learn.microsoft.com/zh-tw/windows/security/threat-protection/security-policy-settings/security-options)
[3] [防止 Kerberos 變更使用 RC4 秘密金鑰的密碼 | Microsoft Learn](https://learn.microsoft.com/zh-tw/windows-server/security/kerberos/preventing-kerberos-change-password-that-uses-rc4-secret-keys?source=recommendations)
[4] [如果 RC4 已停用在 Windows Server 2012 強制重新啟動電腦 - Microsoft 支援服務](https://support.microsoft.com/zh-tw/topic/%E5%A6%82%E6%9E%9C-rc4-%E5%B7%B2%E5%81%9C%E7%94%A8%E5%9C%A8-windows-server-2012-%E5%BC%B7%E5%88%B6%E9%87%8D%E6%96%B0%E5%95%9F%E5%8B%95%E9%9B%BB%E8%85%A6-28119493-f59d-b511-b0a6-93a64be148bb)
[5] [Lsass.exe 損毀和系統自動關閉 Windows Server 2012 R2 為基礎的伺服器上 - Microsoft 支援服務](https://support.microsoft.com/zh-tw/topic/lsass-exe-%E6%90%8D%E6%AF%80%E5%92%8C%E7%B3%BB%E7%B5%B1%E8%87%AA%E5%8B%95%E9%97%9C%E9%96%89-windows-server-2012-r2-%E7%82%BA%E5%9F%BA%E7%A4%8E%E7%9A%84%E4%BC%BA%E6%9C%8D%E5%99%A8%E4%B8%8A-5abde4d6-917e-7825-867e-4c9f4ff616b9)