Старые протоколы 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& труднее, чем "Я живу в Москве". К тому же использование
фраз обезопасит от перебора, ибо брутфорсом в приемлемые сроки никакой пароль
не сломать.
Мораль
Пароли
для защиты сети необходимы, однако не все пароли одинаково полезны. Системному
администратору необходимо следить за применением различных средств
аутентификации и объяснять пользователям полезность длинных паролей и
периодической их смены.
Список литературы
Для
подготовки данной работы были использованы материалы с сайта http://www.nodevice.ru/