Computer >> 컴퓨터 >  >> 체계 >> Windows Server

GPO를 사용하여 Windows에서 NetBIOS 및 LLMNR 프로토콜을 비활성화하는 방법은 무엇입니까?

브로드캐스트 프로토콜 TCP/IP를 통한 NetBIOSLLMNR 대부분의 최신 네트워크에서는 레거시 Windows 버전과의 호환성을 위해서만 사용됩니다. 두 프로토콜 모두 스푸핑 및 MITM 공격에 취약합니다. Metasploit에는 브로드캐스팅 NetBIOS 및 LLMNR 프로토콜의 취약점을 쉽게 악용하여 로컬 네트워크(NTLMv2 해시 포함)에서 사용자 자격 증명을 가로챌 수 있는 기성품 모듈이 있습니다. 네트워크 보안을 향상시키려면 도메인 네트워크에서 이러한 프로토콜을 비활성화해야 합니다. Windows 10/Windows Server 2019에서 수동으로 또는 그룹 정책을 통해 LLMNR 및 NetBIOS 프로토콜을 비활성화하는 방법을 알아보겠습니다.

내용:

  • 링크-로컬 멀티캐스트 이름 확인(LLMNR) 프로토콜
  • TCP/IP 프로토콜을 통한 NetBIOS
  • GPO를 사용하여 Windows에서 LLMNR 비활성화
  • Windows 10/Windows Server 2019에서 TCP/IP를 통한 NetBIOS 비활성화
  • 그룹 정책을 통해 TCP/IP를 통한 NetBIOS를 비활성화하는 방법은 무엇입니까?

링크-로컬 멀티캐스트 이름 확인(LLMNR) 프로토콜

LLMNR (UDP/5355, Link-Local Multicast Name Resolution)은 Vista부터 시작하는 모든 Windows 버전에서 사용되며 IPv6 및 IPv4 클라이언트가 로컬 L2 네트워크 세그먼트의 브로드캐스트 요청으로 인해 DNS 서버를 사용하지 않고 인접 컴퓨터의 이름을 확인할 수 있도록 합니다. 이 프로토콜은 DNS를 사용할 수 없는 경우 자동으로 사용됩니다(Windows 작업 그룹에서 이 프로토콜은 네트워크 검색에 사용됨). 따라서 도메인에 DNS 서버가 있으면 이 프로토콜이 필요하지 않습니다.

TCP/IP 프로토콜을 통한 NetBIOS

TCP/IP를 통한 NetBIOS 또는 NBT-NS(UDP/137,138;TCP/139)는 LLMNR의 전신인 브로드캐스트 프로토콜이며 리소스를 게시하고 검색하기 위해 로컬 네트워크에서 사용됩니다. 기본적으로 NetBIOS over TCP/IP 지원은 모든 Windows 버전의 모든 네트워크 인터페이스에 대해 활성화됩니다.

Windows에서는 nbtstat 명령을 사용하여 NBT를 통한 NetBIOS 통계 및 현재 TCP/IP 연결을 표시할 수 있습니다. IP 주소로 컴퓨터 이름을 얻으려면:

nbtstat -A 192.168.131.190

GPO를 사용하여 Windows에서 NetBIOS 및 LLMNR 프로토콜을 비활성화하는 방법은 무엇입니까?

보시다시피 nbtstat는 NetBIOS 프로토콜을 사용하여 로컬 네트워크에서 컴퓨터를 찾아 이름을 반환했습니다.

NetBIOS 캐시의 동일한 로컬 네트워크에 있는 인접 컴퓨터에 대한 모든 레코드를 표시할 수 있습니다.

nbtstat -c

NetBIOSLLMNR 프로토콜을 사용하면 DNS 서버를 사용할 수 없는 경우 로컬 네트워크의 컴퓨터가 서로를 찾을 수 있습니다. 작업 그룹 환경에서는 필요할 수 있지만 도메인 네트워크에서는 이 두 프로토콜을 모두 비활성화할 수 있습니다.

도움말 . 도메인에서 이러한 정책을 대량으로 구현하기 전에 NetBIOS 및 LLMNR이 비활성화된 컴퓨터와 서버를 테스트하는 것이 좋습니다. 그리고 일반적으로 LLMNR을 비활성화하는 데 문제가 없다면 NetBIOS를 비활성화하면 레거시 장치의 작동이 마비될 수 있습니다.

GPO를 사용하여 Windows에서 LLMNR 비활성화

다음 PowerShell 명령을 사용하여 레지스트리를 통해 로컬로 Windows 컴퓨터에서 LLMNR 프로토콜을 비활성화할 수 있습니다.

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를 사용하여 도메인 컴퓨터(reg 키 HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient)에 EnableMulticast =0 레지스트리 매개변수를 배포할 수 있습니다.

Windows 10/Windows Server 2019에서 TCP/IP를 통한 NetBIOS 비활성화

참고. NetBIOS는 레거시 Windows 버전(2000, XP 등) 및 일부 비 Windows 장치에서 사용할 수 있으므로 비활성화하기 전에 각 특정 환경에서 테스트해야 합니다.

다음과 같이 Windows에서 NetBIOS를 수동으로 비활성화할 수 있습니다.

  1. 네트워크 연결 속성 열기
  2. TCP/IPv4 선택 속성을 열고
  3. 고급 클릭 을 클릭한 다음 WINS 로 이동합니다. 탭에서 NetBIOS over TCP 사용 안 함을 선택합니다.
  4. 변경 사항을 저장합니다.

GPO를 사용하여 Windows에서 NetBIOS 및 LLMNR 프로토콜을 비활성화하는 방법은 무엇입니까?

컴퓨터에 여러 네트워크 어댑터(또는 VLAN)가 있는 경우 각 어댑터의 속성에서 NetBIOS를 비활성화해야 합니다.

Windows 명령 프롬프트에서 네트워크 어댑터의 TCP/IP를 통한 NetBIOS 상태를 확인할 수 있습니다.

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).

GPO를 사용하여 Windows에서 NetBIOS 및 LLMNR 프로토콜을 비활성화하는 방법은 무엇입니까?

특별한 DHCP 옵션을 사용하여 Windows DHCP 서버에서 IP 주소를 수신하는 도메인 클라이언트에서 NetBIOS를 비활성화할 수 있습니다.

  1. dhcpmgmt.msc 실행 콘솔에서 DHCP 서버에 연결하고 범위 옵션 영역 설정(또는 서버 – 서버 옵션)을 선택합니다.
  2. 고급 으로 이동 탭을 누르고 Microsoft Windows 2000 옵션을 선택합니다. 공급업체 클래스 드롭다운 목록;
  3. 001 Microsoft 비활성화 Netbios 옵션 활성화 값을 0x2로 변경합니다. .

GPO를 사용하여 Windows에서 NetBIOS 및 LLMNR 프로토콜을 비활성화하는 방법은 무엇입니까?

그룹 정책을 통해 TCP/IP를 통한 NetBIOS를 비활성화하는 방법은 무엇입니까?

그룹 정책 편집기 또는 Windows 10/Windows Server 2019용 최신 관리 템플릿 버전의 모든 네트워크 어댑터에 대해 TCP/IP를 통한 NetBIOS를 비활성화할 수 있는 별도의 GPO 옵션은 없습니다. 다음 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 스크립트에 서명하거나 바이패스 모드에서 실행해야 합니다.

GPO를 사용하여 Windows에서 NetBIOS 및 LLMNR 프로토콜을 비활성화하는 방법은 무엇입니까?

참고 . 이 변경 사항을 적용하려면 네트워크 어댑터를 활성화/비활성화하거나 컴퓨터를 다시 시작해야 합니다.

그런 다음 명령 프롬프트를 열고 다음 명령을 실행하여 네트워크 어댑터에 대해 NetBIOS가 비활성화되어 있는지 확인하십시오(터널 인터페이스 제외).

wmic nicconfig get caption,index,TcpipNetbiosOptions