LAN Manager Authentication Level คืออะไร?
การตั้งค่านี้ควบคุม โปรโตคอลการยืนยันตัวตน (Authentication Protocol) ที่ Windows ยอมรับ/ส่งออกไป:
- LM (LAN Manager): แบบเก่าที่สุด ไม่ปลอดภัย (Hash แตกง่าย)
- NTLMv1: ดีกว่า LM แต่ยังมีช่องโหว่
- NTLMv2: ปลอดภัยกว่า มี Session Security, ต้าน Replay Attack
- Kerberos: มาตรฐานใน Domain Environment (Default ปัจจุบัน)
ค่า Setting ต่างๆ (Security Options)
| Setting Name | คำอธิบาย | แนะนำ |
|---|---|---|
| Send LM & NTLM responses | ส่ง LM และ NTLMv1 (อ่อนแอที่สุด) | ห้ามใช้ |
| Send LM & NTLMv2 responses | ส่ง LM และ NTLMv2 | ไม่แนะนำ |
| Send NTLMv2 response only | ส่งเฉพาะ NTLMv2 (ปฏิเสธ LM/NTLMv1) | ✅ แนะนำขั้นต่ำ |
| Send NTLMv2 response only\refuse LM | ส่ง NTLMv2 ปฏิเสธ LM | เหมือนข้างบน |
| Send NTLMv2 response only\refuse LM & NTLM | ส่ง NTLMv2 ปฏิเสธ LM และ NTLMv1 | ✅ แนะนำสูงสุด (Default Win10/Server 2016+) |
| Not Defined | ไม่กำหนด ใช้ค่า Default ของระบบ | ไม่แนะนำ (อาจ fallback เป็นค่าต่ำ) |
วิธีตั้งค่าผ่าน Group Policy (แนะนำสำหรับองค์กร)
- เปิด
gpmc.msc(Group Policy Management) หรือgpedit.msc(Local) - ไปที่: Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options
- หา: Network security: LAN Manager authentication level
- ดับเบิลคลิก > เลือก: Send NTLMv2 response only\refuse LM & NTLM
- OK > รอ Group Policy Refresh (gpupdate /force)
วิธีตั้งค่าผ่าน Registry (Standalone)
- เปิด
regedit - ไปที่:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa - หา/สร้าง DWORD: LmCompatibilityLevel
- ตั้งค่า: 5 (Send NTLMv2 only, refuse LM & NTLMv1)
- รีบูทเครื่อง
| Value | ความหมาย |
|---|---|
| 0 | Send LM & NTLM responses |
| 1 | Send NTLMv2 session security if negotiated |
| 2 | Send NTLMv2 only |
| 3 | Send NTLMv2 only, refuse LM |
| 4 | Send NTLMv2 only, refuse LM & NTLMv1 |
| 5 | Send NTLMv2 only, refuse LM & NTLMv1 (Same as 4, for DC) |
คำเตือนสำคัญ
- การตั้งค่า Level 5 อาจทำให้แอป/ระบบเก่า (Legacy Apps, Old NAS, Printers, Linux Samba เก่า) ไม่สามารถ Authenticate ได้
- ทดสอบในสภาพแวดล้อมทดสอบ (Test/Staging) ก่อนนำไป Production
- ใน Domain Environment Kerberos เป็นหลัก NTLM เป็น Fallback
- ไม่แนะนำตั้งเป็น "Not Defined" เพราะอาจ fallback เป็นค่าต่ำกว่า
ตรวจสอบค่าปัจจุบัน
PowerShell: Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\Lsa -Name LmCompatibilityLevel