Czy i jak zablokować NetBIOS w środowisku Windows

Niedawno kolega Darek opisał Wam jak korzystać z dobroci NetBios przy użyciu polecenia NBTSTAT. Są jednak przesłanki ku temu, aby dobrze rozważyć zablokowanie działania NetBios w sieci. Podam kilka argumentów za i przeciw, a ostateczną decyzję pozostawię Wam.

NetBios to stary, sięgający lat 80, API opracowany przez IBM służący do łączenia się komputerów po nazwach – to pewnie wiemy z artykułu Darka:)

Blokować czy nie?

NetBios jest „nie-route-owalny” i generalnie uznany za stwarzający spore podatności na ataki (w sieci znajdziecie sporo artykułów i debat na ten temat. Polecam zacząć od wzmianki na WIKIPEDII. 

W dzisiejszych czasach, kiedy króluje DNS (rozwiązywanie nazw) i SMB (udostępnianie zasobów), NetBios w systemach Windows jest ciągle domyślnie włączony. Oto kilka powodów, dla tak jest i dla których warto lub trzeba mieć go w użyciu:

– komunikacja ze starymi systemami (Windows 98/Nt/2000)
– konieczność używania poleceń net view and nbtstat (zwrócie uwagę, że dzięki nim, atakujący może zdobyć o naszej sieci mnóstwo informacji)
– usługa drukowania opierająca się na NetBios (na przykład niektóre modele drukarek sieciowych nie obsługujące DNS i SMB)
– aplikacje, których autor wymusza korzystanie z NetBios

 

Porty używane przez netBios

Jeśli wiemy, że w naszym środowisku NetBios jest zbędny, to dla bezpieczeństwa i zmniejszenia ilości broadcastów w sieci możemy wyłączyć go. Jeśli nie możecie blokować NetBiosu w sieci, to znając zagrożenie jakie stwarza, na pewno będziecie chcieli przynajmniej sprawdzić firewall i zablokować niektóre porty przed niepowołanych dostępem z zewnątrz:

137 – rozwiązywanie nazw NetBIOS,
138 – przesyłanie datagramów,
139 – sesje i usługa “NetBIOS file and print sharing”

Jak sprawdzić czy NetBios działa?

Można użyć polecenia:

netstat -n

Jeśli NIE działa, to polecenie zwróci nam błąd: „Failed to access NetBT driver — NetBT may not be loaded

Jak zablokować NetBios?

Choć wiele poradników mówi, iż należy zablokować usługę „TCP/IP NetBIOS Helper”

to okazuje się, że ta usługa pełni ważną rolę w komunikacji NIE-opartej na NetBiosie na przykład przy mapowaniu udziałów z użyciem „net use”, udostępnianiu drukarek i udziałów sieciowych albo używaniu ścieżek UNC.

Można zablokować NetBios pozostawiając tę usługę włączoną:

NetBios blokujemy tylko w ustawieniach karty sieciowej.

W zaawansowanych ustawieniach połączenia sieciowego, we właściwościach  “Internet Protocol Version 4″,  w zakładce WINS, wybieramy „Disable NetBIOS over TCP/IP”

Oczywiście, przy masowym blokowaniu, nie chcemy logować się na każdym komputerze po kolei. Możemy wykonać zmianę w rejestrze:

HKLM\SYSTEM\CCS\Services\Netbt\Parameters\interface\TCPIP_GUID

Możliwe wartości:

1 – enable NetBIOS over TCPIP
2 – disable NetBIOS over TCPIP

Wiedząc który wpis zmienić, możemy bez trudu napisać prosty skrypt CMD lub zaprząc GPO preferences do masowej zmiany klucza. W środowisku domenowym GPO Preferences to najlepsza metoda 🙂

Sądząc po burzliwych dyskusjach na forach internetowych, blokowanie NetBios jest ciągle bardzo kontrowersyjnym tematem. Ja Wam dostarczam garść argumentów i metodę. Chętnie zapoznam się z Waszymi doświadczeniami w tym temacie.

Łukasz Skalikow

Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)

Przeczytaj także...

1 Response

  1. porram napisał(a):

    Ja ustawiam jeszcze
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
    EnableDCOM=N

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc
    usuwam ncacn_ip_tcp

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
    SmbDeviceEnabled=0

Dodaj komentarz