Krytyczna podatność Active Directory

16 lutego 2015 at 12:01

Miniony tydzień oferował w wykryte luki bezpieczeństwa systemów Windows a także poprawki mające załatać te podatności.

Jedną z najistotniejszych jest możliwość podszycia się pod zasoby udostępniane na kontrolerach domeny i wykonanie w ten sposób dowolnego kodu w kontekście konta systemu… Zostały udostępnione dwie poprawki w ramach biuletynu zabezpieczeń: MS15-011 Konkretnie są to poprawki: kb3004375 oraz kb3000483. Ich instalacja zabezpiecza klientów przed możliwością wykonania ataku, ale mimo wszystko nie zapewnia bezpieczeństwa całej domeny, bo nigdy nie ma pewności, że ktoś nie wyciągnie „gołego” lub nieaktualizowanego rok czasu systemu z szafy i nie wepnie się nim w naszą sieć z Active Directory. Aby temu zaradzi i podnieść poziom bezpieczeństwa należy wykonać następujące akcje:

1. Zainstalować ww. krytyczne poprawki bezpieczeństwa na kontrolerach domeny (wymagany restart serwerów)

2. Włączyć wzajemne uwierzytelnianie dla zasobów udostępnianych na kontrolerach domeny.

3. Włączyć wymaganie integralności SMB

Dla domen, w których pracują tylko serwery Windows Server 2012 i wyższe oraz klienci Windows 8 i wyżsi – można dodatkowo włączyć wymaganie prywatności razem z szyfrowaniem żądań ścieżek SMB.

 

Plan działania wygląda w miarę prosto, ale jak zwykle gdzieś leży haczyk – a właściwie dwa haczyki. Pierwszym z nich jest GPO. Teoretycznie wystarczy dodać ustawienie w GPO:

W gałęzi: Computer Configuration -> Administrative Templates -> Network -> Network Provider

jako absolutne minimum należy wpisać ścieżki:

\\*\NETLOGON

\\*\SYSVOL

i dla obu ww. włączyć wymaganie uwierzytelniania wzajemnego + wymaganie sprawdzania integralności SMB. (RequireMutualAuthentication=1, RequireIntegrity=1).

 

Tu pojawia się pierwszy haczyk… Nie ma takiej gałęzi w GPO, ani nie znajdziemy jej w definicji polityk na SYSVOLU. Hmm… może trzeba ją pobrać? Można spędzić sporo czasu szukając definicji NetworkProvider.admx  w Internecie, ale można też zrobić to w dużo szybszy i sprytniejszy sposób. Mianowicie – na maszynie, na której zainstalowaliśmy już (i zrestartowaliśmy ją) ww. poprawki przechodzimy do zasobu:

%systemroot%\policyDefinitions

i kopiujemy z niego plik definicji (NetworkProvider.admx) oraz plik rozszerzeń językowych (NetworkProvider.adml):

ADMXDo folderu definicji zasad na SYSVOLU ( \\twoja.domena\SYSVOL\twoja.domena\Policies\PolicyDefinitions )
Po tej akcji mamy możliwości hardeningu zasobów kontrolerów domeny (i innych serwerów) w sposób wcześniej opisywany.

Gdzie jest drugi haczyk? Po zaaplikowaniu takiego GPO przestaną poprawnie działać systemy Windows Server 2003 i Windows XP – ale kto jeszcze takich używa? :) Microsoft kolejny raz przypomina o konieczności aktualizacji systemów do nowszych wersji:

„We determined that implementing these changes in Windows Server 2003 SP2 would require such comprehensive architecture changes that it would destabilize the system and result in application compatibility problems. We continue to recommend that customers who are security-conscious upgrade to our latest operating systems to keep pace with security threats and benefit from robust, modern operating system protection.”

 

P.S. Jako uzupełnienie zabezpieczeń domeny należy również zaaplikować poprawkę z biuletynu MS15-014 Pozwalającą na przykład na wyłączenie wymagań podpisywania cyfrowego komunikacji od strony klienta GPO.