Старые протоколы Windows: как с ними бороться

Старые протоколы Windows: как с ними бороться

Демьяненко Михаил

 Microsoft давно уже отошла от слабой защиты паролей и сейчас системы компании взломать не так то и просто. С подключением новых протоколов аутентификации типа NTLMv2 или Kerberos, Microsoft вполне обезопасила вашу сеть. Проблема в использовании ОС MS на самом деле состоит в том, что им по наследству достались и старые уязвимые протоколы типа Lan Manager или NT Lan Manager. И даже если они не используются в работе они по прежнему доступны и на большинстве систем хешируют пароли, просто на случай соединения со старым компьютеров. Это открывает определенную брешь в обороне вашего компьютера и в этой статье мы покажем как ее закрыть.

Протоколы

Microsoft поддерживает целый сонм протоколов аутентификации. Как уже было сказано, старые реализации никуда не деваются, а сохраняются ради совместимости. Так, например, Windows Server 2003 может работать как с протоколом Lаn Mаnager и NTLM, так и с современным Kerberos. В проектировании сети важно понять что делает каждый из протоколов и какими особенностями он выделяется. Необходимо так же знать какие операционные системы какие протоколы юзают, ведь даже если протокол и слаб в своей основе, возможно он необходим для работы с другими компьютерами, существующими в окружении. Ну и напоследок, если необходимость использования слабого протокола все же существует то необходимо продумать меры навесной защиты.

Lan Manager

LM один из самых старых протоколов аутентификации, используемых Microsoft. Впервые он появился еще в Windows 3.11 и в целом не слишком безопасен. Посмотрим описание:

Хеши зависят от регистра

В пароле можно использовать 142 символами

Хеш разделяется на последовательности в 2-7 символов. Если пароль короче 14 символов, то он дополняется нулями до 14 знаков

Результирующее значение - 128 битное

Хеш необратим

NT Lan Manager

NTLM стал последователем LM и впервые был представлен в Windows NT 3.1. Причина его появление - внедрение новой системы каталогов в операционной системе, контролируемой всем известными доменами. NTLM требует, что бы domain controller хранил хеши всех пользователей самого домена. Особенности этого протокола похожи на LM, только реализованы несколько иначе.

NTLMv2

Стоит отметить, что этот протокол не был выпущен одновременно с какой либо ОС, а появился в 4-ом сервиспаке для Windows NT 4. В нем Microsoft попыталась все ошибки предыдущих протоколов и выглядит он так:

Пароль может быть до 128 символов

Взаимная аутентификация клиента и сервера

Более длинные ключи для улучшенной защиты хеша

Kerberos

Это уже не разработка MS, а индустриальный стандарт, описанный в RFC 1510. Microsoft добавила в него несколько незначительных фишек и начала использовать в Windows. В Active Directory протокол выглядит так:

Взаимная аутентификация с использованием билетов

Процесс опознавания в основном ложится на плечи клиента, что уменьшает нагрузку на сервер

Контролер домена несет на себе Kerberos Distribution Center

Пароли не передаются по сети

Kerberos защищен от перехвата пакетов

Что куда?

Windows 95, 98 и Me по умолчанию не поддерживают NTLMv2 и Kerberos, а соответственно работают только с LM или NTLM. Это ставит их в разряд самых уязвимых систем, однако и тут конечно есть решение. Называется оно Active Directory Client Extensions, что позволит использовать NTLMv2, Kerberos же использовать в семействе 9х никак не получится.

Windows NT

Как уже было сказано ранее, изначально ОС этого семейства работали так же ,как и 9х. Однако в SP4 появился NTLMv2.

Windows 2000/XP/2003

Ясно, что эти системы уже работают со всеми четырьмя протоколами - LM, NTLM, NTLMv2 и Kerberos. При работе с AD и компьютерами, входящими в AD, используется Kerberos. В рабочих группах в ход вступает NTLMv2, ну а для работы с устаревшими операционками уже используется LM и NTLM.

Борьба со стариной

LM/NTLM

Если вы еще не поняли, то все компьютеры в вашей Windows-сети поддерживают эти два устаревших протокола. Что можно с ними сделать?

1. По умолчанию LM и NTLM хеши посылаются по сети в процессе аутентификации, причем это случается даже когда ХР коннектится, например, к домену на Windows 2003. Для выключения лезем в Group Policy Object и запрещаем передачу хешей по сети:

В политике возможен выбор из 6 вариантов:

Самый безопасный вариант - последний.

2. Следующая опция запретит генерацию устаревших хешей. По умолчанию се компьютеры для обратной совместимости генерируют LM и NTLM хеши, даже если они и не требуются.

Немедленного эффекта эта опция не даст, она сработает только при изменении пароля.

3. Если все же в вашей сети есть устройства или компьютеры работающие с LM можно обойти хранение хеша применением пароля длиннее 14 символов. В таком варианте хеш не сохраняется.

NTLMv2

Совсем запретить использование протокола пока невозможно, так как он используется для работы групп в Windows 2000 и более новых операционных системах. Однако, как обычно, возможно предпринять ряд шагов для защиты от взлома хешей.

1. Чем длиннее и сложнее пароль тем лучше, правило по умолчанию.

2. Надо заставить пользователей чаще менять пароли:

3. Предложите использовать фразы вместо пароля. Согласитесь, что запомнить @3*()!b& труднее, чем "Я живу в Москве". К тому же использование фраз обезопасит от перебора, ибо брутфорсом в приемлемые сроки никакой пароль не сломать.

Мораль

Пароли для защиты сети необходимы, однако не все пароли одинаково полезны. Системному администратору необходимо следить за применением различных средств аутентификации и объяснять пользователям полезность длинных паролей и периодической их смены.