Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยเครือข่าย

ตั้งค่า LAN Manager Authentication Level เป็น Not Defined ใน Windows 10

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 (แนะนำสำหรับองค์กร)

  1. เปิด gpmc.msc (Group Policy Management) หรือ gpedit.msc (Local)
  2. ไปที่: Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options
  3. หา: Network security: LAN Manager authentication level
  4. ดับเบิลคลิก > เลือก: Send NTLMv2 response only\refuse LM & NTLM
  5. OK > รอ Group Policy Refresh (gpupdate /force)

วิธีตั้งค่าผ่าน Registry (Standalone)

  1. เปิด regedit
  2. ไปที่: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  3. หา/สร้าง DWORD: LmCompatibilityLevel
  4. ตั้งค่า: 5 (Send NTLMv2 only, refuse LM & NTLMv1)
  5. รีบูทเครื่อง
Valueความหมาย
0Send LM & NTLM responses
1Send NTLMv2 session security if negotiated
2Send NTLMv2 only
3Send NTLMv2 only, refuse LM
4Send NTLMv2 only, refuse LM & NTLMv1
5Send 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