Microsoft делает многое для безопасности Windows и своих корпоративных клиентов. Но её усилия остаются недостаточными. Корпорация игнорирует рекомендации NIST по парольным политикам, а её собственные указания в различных документах противоречат друг другу. Поэтому необходимо использовать дополнительные средства, например интегрировать в контроллер домена сторонние решения, позволяющие добиться выполнения требований международных стандартов.
Введение
В наше время компании постоянно совершенствуют политику и средства кибербезопасности: строят SIEM-системы, укрепляют периметры сетей, разбирают и изучают сетевые пакеты «на лету», следят за состоянием безопасности в режиме реального времени. Безопасность обрастает автоматизацией, решаются проблемы открытых «дыр» в программном обеспечении. Однако о фундаментальных аспектах безопасности не стоит забывать. Парольная защита остаётся открытым вопросом, и по сей день находятся уязвимости связанные с некачественной его проработкой.
Пароли в 2021 году
Уже давно не новость, что на смену паролям приходят более сложные методы аутентификации: токены, ключи, биометрия... Однако этим, как правило, защищается исключительно критическая инфраструктура компании. Например, в разработке тест- и стейдж-серверы защищаются паролями. Для компаний авторизация в системе межведомственного электронного взаимодействия (СМЭВ) и единой системе идентификации и аутентификации (ЕСИА) определяется по сертификату и кодовому слову (тот же пароль).
Если не брать в расчёт большие инфраструктуры, то в среднем бизнесе документы и архивы защищаются паролями. Малый сегмент тоже без этого не обходится: редко где можно увидеть вход в 1С по токену. И даже Basic Auth первичной настройки веб-сервера остаётся популярным и по сей день.
Заявление Microsoft о FIDO2 и «2021 без паролей» — слишком уж громкое, учитывая то, что корпорация очень часто отзывает обновления и ставит заплатки для дальнейшей работы операционных систем. Эта технология будет ещё оттачиваться, и ей придётся пройти суровую проверку в реальности.
Если смотреть в сторону частного использования, то появилась двухфакторная аутентификация, где человек уже физически привязан к номеру телефона или аккаунту сети, но это лишь упрощает смену пароля и даёт более глубокую защиту. На передовой — снова связка логина и пароля.
Если быть уж совсем откровенными, не все организации и физические лица идут в ногу со временем. Статистика использования операционных систем показывает, что Windows 7, поддержка которой закончилась ещё в начале 2020 года, до сих пор популярна (ей пользуется чуть более 20 % от общей массы пользователей).
Вышеперечисленные аргументы показывают, что парольная защита не умирает, а подкрепляется дополнительными функциями. Она капитально оседает в нашей жизни. Альтернативы, которая пришла бы на замену и стёрла эту технологию, ещё не придумали.
Рекомендации зарубежных организаций и GPO Microsoft
Безопасность паролей уже давно является проблемой для предприятий и их стандартов кибербезопасности. Пароли учётных записей часто являются самым слабым звеном в общей системе безопасности для многих организаций. Например, большое количество компаний использует парольную политику Microsoft по умолчанию. Что ж, «коробочная» настройка Windows не так уж и безнадёжна. Можно сравнить её с рекомендациями зарубежных органов по безопасности и посмотреть, так ли хорошо проработана политика паролей на предприятии, как рекомендуют.
Что такое политика паролей? Она представляет собой набор требуемых параметров, которыми должны руководствоваться пользователи при выборе пароля своей учётной записи. Ниже представлена конфигурация паролей GPO политики домена по умолчанию в Windows Server 2019 со значениями «из коробки».
Рисунок 1. Групповая политика Password Policy
- Срок действия пароля — 42 дня.
- Минимальный «возраст» пароля — 1 день.
- История предыдущих паролей — 24 записи.
- Минимальная длина пароля — 7 символов.
- Требование сложности при выборе пароля — включено.
- Хранить пароли с возможностью восстановления — отключено.
В свою очередь, Национальный институт стандартов и технологий США (NIST) выпустил специальную публикацию 800-63B, и в разделе 5.1.1 «Memorized Secrets» этого руководства по идентификации / аутентификации и жизненному циклу говорится уже о 8 символах минимальной длины. Также NIST настаивает на том, что перед тем как установить пароль, системный администратор (или DevOps, так как это следует делать в автоматическом режиме) должен проверить его на:
- Наличие в утечках и словарях с самыми популярными паролями.
- Наличие словарных слов («angel», «black»).
- Присутствие типовых последовательностей и повторяющихся символов («aaa11», «abcd»).
- Присутствие производных от имени, профессии и т. п. («buh12»).
- Любые другие последовательности, которые легко скомпрометировать.
Что касается PIN-кодов, NIST рекомендует использовать не менее 6 знаков — что можно поставить в пример многим сервисам, использующим 4-значные коды (например, той же Microsoft для входа в Windows 10).
Ещё один раздел руководства от NIST, касающийся обязательной смены пароля через определённые промежутки времени, гласит, что верификаторам нет необходимости требовать периодического изменения запомненного пароля, однако они обязаны принудительно менять его, если есть доказательства его компрометации.
Руководство NIST пассивно рекомендуется Microsoft. В базовом плане по безопасности для Windows 10 v1903 и Windows Server 2019 v1903 отмечается следующее: «Недавние научные исследования ставят под сомнение ценность многих старых методов защиты паролей, таких как политики истечения срока действия паролей, и вместо этого указывают на более эффективные альтернативы, такие как принудительное применение списков запрещённых паролей (отличным примером является защита паролей Azure AD) и многофакторная проверка подлинности. Хотя мы рекомендуем эти альтернативы, они не могут быть принудительно применены с нашими рекомендуемыми базовыми параметрами конфигурации безопасности, которые основаны на встроенных параметрах групповой политики Windows».
Эти рекомендации Microsoft указывают на несовершенство возможностей групповых политик Active Directory. Нет встроенных средств, куда можно было бы занести словари недопустимых в организации паролей. В то же время в руководстве описан процесс разработки и регистрации DLL — то есть имеется возможность добавить свой «фильтр паролей», но его придётся разрабатывать или заказывать, что увеличивает стоимость защиты.
По поводу длины пароля: Microsoft в Windows Server 2019 считает достаточной семизначную минимальную длину пароля, что не соответствует ни одной из рекомендаций, с которыми они могли бы считаться:
- Институт SANS — 12 символов.
- NIST — 8 символов.
- Microsoft TechNet — 14 символов.
- Microsoft Research — 8 символов.
Защитные меры
«Политика парольной защиты организации» стала универсальным документом, который требуется практически в любом случае, где на горизонте стоят регуляторы и проверяющие органы — и неспроста.
Этот документ необходимо не только скачать и прочитать, но и внимательно проработать, после чего запустить применение его требований в производственные процессы. Ведь каждый пентестер знает цену слабого пароля.
Любая площадка для тренировок пентестера, похожая на сеть реальной организации (например, Pentestit), не упускает возможности показать, что на серверы можно проникнуть получив пароль методом брутфорса.
Отсюда следует, что задача DevOps (DevSecOps), специалиста по ИБ или системного администратора — не упустить данный факт из виду и как следует подготовиться.
Применительно к Microsoft AD можно использовать стороннее программное обеспечение, например Specops Password Auditor, nFront Password Filter, ManageEngine или Anixis. При большом желании, как упоминалось выше, можно заменить passfilt.dll на коммерческие проекты или написать свою библиотеку, как это сделал Yelp. Один из вариантов — воспользоваться онлайн-сервисом Pwned Passwords: на его API построено большое количество проектов под разные задачи. Также можно включить в парольную политику обязательную предварительную проверку своего пароля на этом сервисе.
Большую роль в организации кибербезопасности играет настройка аппаратного и программного обеспечения. Не стоит надеяться, что за вас уже всё настроили. За правило надо взять: «по умолчанию — небезопасно». Не только настройка GPO Microsoft «хромает на эту ногу». Любая связка логина со сложным паролем будет надёжнее, чем приходящий на телефон PIN-код из 4 цифр с возможностью ввести его бесчисленное количество раз, как это было на Cisco ASA.
Оценка происходящего в режиме реального времени тоже пойдёт на руку любому администратору. 20 лет назад простого пароля в 4–6 символов было достаточно; сегодня нормой считается не менее 8 символов с использованием разных регистров и всевозможных дополнительных знаков. Мир стал более динамичным, и под него необходимо адаптироваться всё быстрее.
Каждая система безопасности должна быть настроена до состояния нерентабельности её взлома. Это правило распространяется и на пароли.
Выводы
Из сказанного выше можно сделать вывод, что парольная защита как была, так и остаётся необходимостью. Ни о какой её «смерти» речи пока идти не может. В рекомендациях не просто так указываются критерии установки и проверки пароля «на прочность».
Также можно отметить, что компания Microsoft, на программном обеспечении которой строится преобладающее множество информационных систем предприятий в мире, делает большие ставки на FIDO и уход от паролей в пользу других защит. Поэтому Active Directory не предоставляет полного рекомендуемого комплекта защиты в отношении парольных политик даже на Windows Server 2019 c самыми последними обновлениями. Для детальной проработки этого вопроса придётся прибегнуть к помощи сторонних производителей.