Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

วิธีปิดการใช้งานโปรโตคอล NetBIOS และ LLMNR ใน Windows โดยใช้ GPO

โปรโตคอลการออกอากาศ NetBIOS ผ่าน TCP/IP และ LLMNR ใช้ในเครือข่ายที่ทันสมัยที่สุดสำหรับความเข้ากันได้กับ Windows เวอร์ชันเก่าเท่านั้น โปรโตคอลทั้งสองมีความอ่อนไหวต่อการปลอมแปลงและการโจมตี MITM ใน Metasploit มีโมดูลสำเร็จรูปที่ช่วยให้คุณสามารถใช้ประโยชน์จากช่องโหว่ในโปรโตคอลการออกอากาศ NetBIOS และ LLMNR เพื่อสกัดกั้นข้อมูลประจำตัวของผู้ใช้ในเครือข่ายท้องถิ่น (รวมถึงแฮช NTLMv2) เพื่อปรับปรุงความปลอดภัยเครือข่ายของคุณ คุณต้องปิดใช้งานโปรโตคอลเหล่านี้ในเครือข่ายโดเมน มาดูวิธีปิดใช้งานโปรโตคอล LLMNR และ NetBIOS ใน Windows 10/Windows Server 2019 ด้วยตนเองหรือผ่านนโยบายกลุ่ม

สารบัญ:

  • โปรโตคอลการแก้ไขชื่อหลายผู้รับแบบลิงก์ภายใน (LLMNR)
  • NetBIOS บนโปรโตคอล TCP/IP
  • การปิดใช้งาน LLMNR บน Windows โดยใช้ GPO
  • ปิดใช้งาน NetBIOS ผ่าน TCP/IP บน Windows 10/Windows Server 2019
  • จะปิดการใช้งาน NetBIOS ผ่าน TCP/IP ผ่าน Group Policy ได้อย่างไร

Link-Local Multicast Name Resolution (LLMNR) Protocol

LLMNR (UDP/5355, Link-Local Multicast Name Resolution) ใช้ใน Windows ทุกรุ่นตั้งแต่ Vista และอนุญาตให้ไคลเอนต์ IPv6 และ IPv4 แก้ไขชื่อของคอมพิวเตอร์ใกล้เคียงโดยไม่ต้องใช้เซิร์ฟเวอร์ DNS เนื่องจากคำขอออกอากาศในส่วนเครือข่าย L2 ในพื้นที่ โปรโตคอลนี้ถูกใช้โดยอัตโนมัติหากไม่มี DNS (ในกลุ่มงาน Windows โปรโตคอลนี้ใช้สำหรับการค้นหาเครือข่าย) ดังนั้นหากมีเซิร์ฟเวอร์ DNS ในโดเมน ก็ไม่จำเป็นต้องใช้โปรโตคอลนี้

NetBIOS ผ่านโปรโตคอล TCP/IP

NetBIOS ผ่าน TCP/IP หรือ NBT-NS (UDP/137,138; TCP/139) เป็นโปรโตคอลการออกอากาศซึ่งเป็นบรรพบุรุษของ LLMNR และใช้ในเครือข่ายท้องถิ่นเพื่อเผยแพร่และค้นหาทรัพยากร โดยค่าเริ่มต้น รองรับ NetBIOS ผ่าน TCP/IP สำหรับอินเทอร์เฟซเครือข่ายทั้งหมดใน Windows ทุกรุ่น

บน Windows คุณสามารถแสดงสถิติ NetBIOS และการเชื่อมต่อ TCP/IP ปัจจุบันผ่าน NBT ได้โดยใช้คำสั่ง nbtstat เพื่อให้ได้ชื่อคอมพิวเตอร์ตามที่อยู่ IP:

nbtstat -A 192.168.131.190

วิธีปิดการใช้งานโปรโตคอล NetBIOS และ LLMNR ใน Windows โดยใช้ GPO

อย่างที่คุณเห็น nbtstat พบคอมพิวเตอร์ในเครือข่ายท้องถิ่นโดยใช้โปรโตคอล NetBIOS และส่งคืนชื่อเครื่องนั้น

คุณสามารถแสดงบันทึกทั้งหมดเกี่ยวกับคอมพิวเตอร์ข้างเคียงบนเครือข่ายท้องถิ่นเดียวกันในแคช NetBIOS:

nbtstat -c

NetBIOS และ LLMNR โปรโตคอลช่วยให้คอมพิวเตอร์ในเครือข่ายท้องถิ่นสามารถค้นหากันและกันได้หากเซิร์ฟเวอร์ DNS ไม่พร้อมใช้งาน บางทีอาจมีความจำเป็นในสภาพแวดล้อมเวิร์กกรุ๊ป แต่ในเครือข่ายโดเมน โปรโตคอลทั้งสองนี้สามารถปิดใช้งานได้

เคล็ดลับ . ก่อนการนำนโยบายเหล่านี้ไปใช้ในโดเมนเป็นจำนวนมาก เราขอแนะนำอย่างยิ่งให้ทดสอบคอมพิวเตอร์และเซิร์ฟเวอร์ที่ปิดใช้งาน NetBIOS และ LLMNR และหากโดยปกติไม่มีปัญหาในการปิดใช้งาน LLMNR การปิดใช้งาน NetBIOS อาจทำให้การทำงานของอุปกรณ์รุ่นเก่าเป็นอัมพาต

การปิดใช้งาน LLMNR บน Windows โดยใช้ GPO

คุณสามารถปิดใช้งานโปรโตคอล LLMNR บนคอมพิวเตอร์ Windows ผ่านรีจิสทรีโดยใช้คำสั่ง PowerShell ต่อไปนี้:

New-Item "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT" -Name DNSClient  -Force
New-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -Name EnableMultiCast -Value 0 -PropertyType DWORD  -Force

ในสภาพแวดล้อมของโดเมน การออกอากาศ LLMNR สามารถปิดใช้งานบนคอมพิวเตอร์และเซิร์ฟเวอร์โดยใช้นโยบายกลุ่ม วิธีดำเนินการ:

  1. เปิด gpmc.msc สร้าง GPO ใหม่ หรือแก้ไข GPO ที่มีอยู่ซึ่งใช้กับเวิร์กสเตชันและเซิร์ฟเวอร์ทั้งหมด
  2. ไปที่ การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> เครือข่าย -> ไคลเอ็นต์ DNS ;
  3. เปิดใช้งาน  ปิดการแก้ปัญหาชื่อมัลติคาสต์ นโยบายโดยเปลี่ยนค่าเป็น เปิดใช้งาน ;
  4. รอขณะอัปเดตการตั้งค่า GPO บนไคลเอ็นต์ หรืออัปเดตด้วยตนเองโดยใช้คำสั่ง:gpupdate /force
หรือคุณสามารถใช้ GPP เพื่อปรับใช้พารามิเตอร์รีจิสทรี EnableMulticast =0 บนคอมพิวเตอร์โดเมน (บนคีย์ reg HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient)

การปิดใช้งาน NetBIOS ผ่าน TCP/IP บน Windows 10/Windows Server 2019

หมายเหตุ NetBIOS อาจใช้โดย Windows เวอร์ชันเก่า (2000, XP ฯลฯ) และอุปกรณ์ที่ไม่ใช่ Windows บางอย่าง ดังนั้นควรทดสอบในแต่ละสภาพแวดล้อมก่อนปิดใช้งาน

คุณสามารถปิดการใช้งาน NetBIOS บน Windows ได้ด้วยตนเองดังนี้:

  1. เปิดคุณสมบัติการเชื่อมต่อเครือข่าย
  2. เลือก TCP/IPv4 และเปิดคุณสมบัติ
  3. คลิก ขั้นสูง จากนั้นไปที่ ชนะ และเลือก ปิดใช้งาน NetBIOS ผ่าน TCP
  4. บันทึกการเปลี่ยนแปลง

วิธีปิดการใช้งานโปรโตคอล NetBIOS และ LLMNR ใน Windows โดยใช้ GPO

หากคุณมีอะแดปเตอร์เครือข่าย (หรือ VLAN) หลายตัวในคอมพิวเตอร์ คุณจะต้องปิดใช้งาน NetBIOS ในคุณสมบัติของแต่ละรายการ

คุณสามารถตรวจสอบ NetBIOS ผ่านสถานะ TCP/IP สำหรับอะแดปเตอร์เครือข่ายได้จากพรอมต์คำสั่งของ Windows:

ipconfig /all |find "NetBIOS"

NetBIOS over Tcpip . . . . . : Disabled

คุณสามารถปิดใช้งาน NetBIOS สำหรับอะแดปเตอร์เครือข่ายเฉพาะผ่านทางรีจิสทรีได้เช่นกัน อะแดปเตอร์เครือข่ายแต่ละตัวมีรีจิสตรีคีย์แยกต่างหากภายใต้ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces มี TCPIP_GUID ของมัน

หากต้องการปิดใช้งาน NetBIOS สำหรับอะแดปเตอร์เฉพาะ ให้ไปที่คีย์ reg และเปลี่ยนค่าของ NetbiosOptions พารามิเตอร์เป็น 2 (ค่าเริ่มต้นคือ 0)

วิธีปิดการใช้งานโปรโตคอล NetBIOS และ LLMNR ใน Windows โดยใช้ GPO

คุณสามารถปิดใช้งาน NetBIOS บนโดเมนไคลเอ็นต์ที่ได้รับที่อยู่ IP จากเซิร์ฟเวอร์ Windows DHCP โดยใช้ตัวเลือก DHCP พิเศษ

  1. เรียกใช้ dhcpmgmt.msc คอนโซล เชื่อมต่อกับเซิร์ฟเวอร์ DHCP และเลือกการตั้งค่าโซนตัวเลือกขอบเขต (หรือเซิร์ฟเวอร์ – ตัวเลือกเซิร์ฟเวอร์);
  2. ไปที่ ขั้นสูง และเลือก ตัวเลือก Microsoft Windows 2000 ใน คลาสผู้ขาย รายการแบบเลื่อนลง
  3. เปิดใช้งาน 001 Microsoft ปิดการใช้งานตัวเลือก Netbios และเปลี่ยนค่าเป็น 0x2

วิธีปิดการใช้งานโปรโตคอล NetBIOS และ LLMNR ใน Windows โดยใช้ GPO

จะปิดการใช้งาน NetBIOS ผ่าน TCP/IP ผ่านนโยบายกลุ่มได้อย่างไร

ไม่มีตัวเลือก GPO แยกต่างหากที่อนุญาตให้ปิดใช้งาน NetBIOS ผ่าน TCP/IP สำหรับอะแดปเตอร์เครือข่ายทั้งหมดใน Group Policy Editor หรือเวอร์ชันล่าสุดของ Administrative Templates สำหรับ Windows 10/Windows Server 2019 ใช้สคริปต์การเข้าสู่ระบบ PowerShell ต่อไปนี้เพื่อปิดใช้งาน NetBIOS ทั้งหมด อะแดปเตอร์เครือข่าย:

$regkey = "HKLM:SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces"
Get-ChildItem $regkey |foreach { Set-ItemProperty -Path "$regkey\$($_.pschildname)" -Name NetbiosOptions -Value 2 -Verbose}

บันทึกรหัสนี้ไปที่ disableNetbios.ps1 คัดลอกไปยังไดเร็กทอรี GPO ของคุณและรันบนไคลเอนต์ผ่าน การกำหนดค่าคอมพิวเตอร์ -> นโยบาย -> การตั้งค่า Windows -> สคริปต์ -> การเริ่มต้น-> สคริปต์ PowerShell

หากนโยบายการดำเนินการ PowerShell ปัจจุบันของคุณบล็อกไม่ให้สคริปต์นี้ทำงานบนคอมพิวเตอร์ Windows คุณต้องลงนามในสคริปต์ PS1 หรือเรียกใช้ในโหมดบายพาส

วิธีปิดการใช้งานโปรโตคอล NetBIOS และ LLMNR ใน Windows โดยใช้ GPO

หมายเหตุ . เพื่อให้การเปลี่ยนแปลงนี้มีผล คุณต้องเปิด/ปิดอะแดปเตอร์เครือข่ายหรือรีสตาร์ทคอมพิวเตอร์

จากนั้นเปิดพรอมต์คำสั่งและเรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่า NetBIOS ถูกปิดใช้งานสำหรับอะแดปเตอร์เครือข่ายของคุณ (ยกเว้นอินเทอร์เฟซทันเนล):

wmic nicconfig get caption,index,TcpipNetbiosOptions