sonyps4.ru

Привязка дополнительных одноразовых паролей к окну входа Windows. Настройка двухфакторной аутентификации в домене Windows

Методы защиты при использовании аутентификации по паролю. Для защиты паролей от взлома следует настроить соответствующую политику. Для этого необходимо с помощью меню Start->Administrative Tools-> Group Policy Management запустить консоль управления групповыми политиками GPMC, выбрать требуемый объект групповой политики раздел Computer Configuration->Policies->Security Settings->Account Policies->Password Policy См. Рис. 1 (Управление параметрами паролей).


Рис. 1 Управление параметрами паролей.

Можно задать минимальную длину пароля, что позволит нам избежать коротких паролей (Minimum password length ). Для того чтобы, пользователь задавал сложные пароли следует включить требование сложности (Password must meet complexity requirements ).

Для обеспечения регулярной смены пароля нужно задать его максимальный срок жизни (Maximum password age ).

Для того чтобы, пользователи не повторяли старые пароли, требуется настроить хранение истории паролей (Enforce password history ) .

Ну и наконец, для того, чтобы пользователь не менял свой пароль на старый путем многократной смены паролей, задать минимальный срок, в течение которого пароль нельзя поменять (Minimum password age ).

Для того, защиты от атаки по словарю, настроим блокировку учетной записи при неоднократном неправильном вводе пароля. Для этого необходимо в консоли управления групповыми политиками GPMC выбрать требуемый объект групповой политики раздел Computer Configuration -> Policies -> Security Settings -> Account Policies -> Account Lockout Policy . См. Рис. 2 (Управление блокировкой учетной записи пользователя).

Рис. 2 Управление блокировкой учетной записи пользователя.

Для настройки окончательной блокировки учетной записи (до разблокирования ее администратором) следует задать нулевое значение параметру продолжительности блокировки (Account lockout duration ).

В счетчике количества неуспешных попыток входа в сеть (Account lockout threshold ) нужно указать требуемое значение. В большинстве случаев приемлемым вариантом является 3-5 попыток входа.

Наконец, следует задать интервал сброса счетчика неуспешных попыток (Reset account lockout counter after ).

Для защиты от «троянских коней» следует использовать антивирусные средства и блокировку несанкционированного программного обеспечения.

Для ограничения возможностей пользователей по внесению вирусов в информационную систему, оправдано: настройка запрета на работу с внешними устройствами (CD, DVD, Flash), строгий режим работы UAC, использование отдельно стоящих Интернет киосков, на базе компьютеров не входящих в состав рабочей сети. И, наконец, внедрение строгих регламентов работы, определяющих правила работы пользователей в корпоративной сети (запрет передачи своих учетных данных кому бы то ни было, запрет оставлять свои учетные данные в доступных местах, требования обязательной блокировки рабочей станции при оставлении рабочего места, и. т. п.).

В результате, мы сможем добиться уменьшение рисков, связанных с нарушением безопасности компании.

Предположим, все это сделано. Тем не менее, говорить о том, что нам удалось обеспечить безопасную аутентификацию в своей системе, пока преждевременно.

Человеческий фактор – самая большая угроза.

Существуют еще угрозы, справиться с которыми нам не удалось. Одна из наиболее существенных – человеческий фактор. Пользователи наших информационных систем не всегда достаточно сознательны и, несмотря на разъяснения администраторов безопасности, записывают свои учетные данные (имя пользователя и пароль) и не заботятся о секретности этой конфиденциальной информации. Мне не раз доводилось обнаруживать стикеры на мониторе см. Рис. 3, или под клавиатурой см. рис. 4 с именем пользователя и паролем.

Рис. 3. Замечательный подарок злоумышленнику, не так ли?

Рис. 4. Еще один подарок взломщику.

Как мы можем видеть, в системе внедрены длинные и сложные пароли и ассоциативный ряд явно не просматривается. Тем не менее, пользователи нашли «эффективный» способ запоминания и хранения учетных данных…

Таким образом, вы видите, что в этом случае как раз и сработала особенность, о которой я говорил выше: Длинные и сложные пароли записываются, и могут храниться не надлежащим образом.

Инсайдинг

Еще одна существенная угроза безопасности заключается в потенциальной возможности физического доступа злоумышленника к рабочей станции легального пользователя и передача конфиденциальной информации третьим лицам. Т. е. речь идет о ситуации, когда внутри компании существует сотрудник, похищающий информацию у своих коллег.

Вполне очевидно, что «физическую» безопасность рабочей станции пользователя обеспечить очень трудно. В разрыв клавиатуры можно без труда подключить аппаратный клавиатурный шпион (keylogger), перехват сигнала от беспроводных клавиатур тоже возможен. Такие устройства существуют. Разумеется, кто попало не пройдет в офис компании, однако всем известно, что самым опасным является внутренний шпион. У него уже есть физический доступ к вашей системе, и разместить клавиатурный шпион, не составит труда, тем более эти устройства доступны широкому кругу лиц. Кроме того, нельзя сбрасывать со счетов программы – клавиатурные шпионы. Ведь, несмотря на все усилия администраторов, возможность установки такого «шпионского» программного обеспечения не исключена. Всегда ли пользователь блокирует свою рабочую станцию, покидая свое рабочее место? Удается ли администратору информационной системы добиться, чтобы пользователю не назначались избыточные полномочия, особенно при необходимости использования старых программных продуктов? Всегда ли администратор, а особенно в небольшой компании, обладает достаточной квалификацией, чтобы внедрить рекомендации производителей программного и аппаратного обеспечения по построению безопасных информационных систем?

Таким образом, можно сделать вывод о ненадежности парольной аутентификации в принципе. Следовательно, требуется аутентификация многофакторная, при этом такого вида, чтобы пароль пользователя не набирался на клавиатуре.

Что нам может помочь?

Имеет смысл, рассмотреть двухфакторную аутентификацию: 1-ый фактор обладание паролем, 2-ой знание пин кода. Доменный пароль больше не набирается на клавиатуре, значит, не перехватывается клавиатурным шпионом. Перехват доменного пароля чреват возможностью входа, перехват пин кода не так опасен, т. к. дополнительно требуется смарт карта.

На это можно возразить, что пользователь вполне может оставить свою карту в считывателе, а пин написать на стикере, как и раньше. Однако существуют системы контроля, которые могут заблокировать оставленную карту как, это реализовано в банкоматах. Дополнительно существует возможность разместить на карте пропуск для входа/выхода из офиса, т. е. мы можем использовать карточку с RFID меткой, объединив тем самым систему аутентификации в службе каталога с системой разграничения физического доступа. В этом случае для того, чтобы открыть дверь пользователю потребуется его смарт карта или USB токен, так что он будет вынужден ее всегда носить с собой.

Кроме того, современные решения для двухфакторной аутентификации предполагают не только возможность аутентификации в AD или AD DS. Использование смарт карт и USB-ключей помогает и во многих других случаях, например при доступе к публичной электронной почте, в Интернет магазины, где требуется регистрация, к приложениям, имеющим свою собственную службу каталога и. т. д.

Таким образом, можно получить практически универсальное средство аутентификации.

Внедрение двухфакторной аутентификации на основе асимметричной криптографии в AD DS.

Служба каталога Active Directory поддерживает возможность аутентификации с помощью смарт карт, начиная с Windows 2000.

По сути своей, возможность аутентификации с помощью смарт карт заложена в расширении PKINIT (public key initialization – инициализация открытого ключа) для протокола Kerberos RFC 4556. См. . Расширение PKINIT позволяет использовать сертификаты открытого ключа на этапе предаутентификации Kerberos.

Благодаря чему и появляется возможность использования смарт карт. Т. е. мы можем говорить о возможности двухфакторной аутентификации в системах Microsoft на основе штатных средств, начиная с ОС Windows 2000, т. к. уже реализована схема Kerberos + PKINIT.

Примечание. Предаутентификация Kerberos – процесс, обеспечивающий дополнительный уровень безопасности. Выполняется до выдачи TGT (Ticket Granting Ticket ) от сервера распространения ключей (KDC ). Используется в протоколе Kerberos v . 5 для противодействия оффлайн атакам на угадывание пароля. Подробнее о принципах работы протокола Kerberos можно узнать в RFC 4120. C м

Разумеется, речь идет о компьютерах в составе домена. Если же есть необходимость прибегнуть к двухфакторной аутентификации при работе в рабочей группе, или при использовании более ранних версий операционных систем, то нам придется обратиться к программному обеспечению третьих фирм, например SafeNet (Aladdin) eToken Network Logon 5.1. См.

Вход в систему может быть обеспечен, как при использовании службы каталога домена, так и локальной службы каталога. При этом пароль пользователя не набирается на клавиатуре, а передается из защищенного хранилища на смарт карте.

Аутентификация с помощью смарт карт реализуется посредством расширения Kerberos PKINIT, это расширение обеспечивает возможность использования асимметричных криптографических алгоритмов.

Что касается требований для внедрения использования смарт карт в связке с PKINIT, то для операционных систем Windows 2000, Windows 2003 Server, они следующие:

· Все контроллеры доменов и все клиентские компьютеры в рамках леса, где осуществляется внедрение нашего решения, обязательно должны доверять корневому Удостоверяющему Центру (Центру Сертификации).

· Удостоверяющий центр, выдающий сертификаты для использования смарт карт, должен быть помещен в хранилище NT Authority

· Сертификат должен содержать идентификаторы Smart Card Logon и Client Authentication

· Сертификат для смарт карт должен содержать UPN пользователя.

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

· В сертификате должен быть указан путь к списку отзыва сертификатов CRL distribution point

· Все контроллеры доменов должны иметь установленный сертификат Domain Controller Authentication, или Kerberos Authentication, т. к. реализуется процесс взаимной аутентификации клиента и сервера.

Целый ряд изменений в требованиях произошел в операционных системах, начиная с Windows Server 2008:

· Больше не требуется CRL extension в сертификатах smart card logon

· Теперь поддерживается возможность установки взаимосвязи между учетной записью пользователя и сертификатом

· Запись сертификата возможна в любой доступный раздел смарт карты

· Расширение EKU не обязано включать Smart Card Logon OID, при этом справедливости ради надо отметить, что если вы планируете использовать единственный шаблон сертификата для клиентов всех операционных систем, то, разумеется, Smart Card Logon OID должен быть включен.

Несколько слов о самой процедуре входа клиента. Если говорить об операционных системах от Windows Vista и выше, то следует отметить, что и тут произошел ряд изменений:

· Во-первых, процедура входа в систему по смарт карте больше не инициируется автоматически, когда вы вставили смарт карту в карт ридер, или подключили ваш USB -ключ к USB порту, т. е. вам придется нажать Ctrl+Alt+Delete.

· Во-вторых, появившаяся возможность использования любого слота смарт карты для хранения сертификатов предоставляет пользователю выбор из множества идентификационных объектов, хранящихся на карте, при этом необходимый в данный момент сертификат отображается как доступный к использованию.

Выводы

Итак, мы разобрали несколько основных аспектов, касающихся теоретической части двухфакторной аутентификации в Active Directory Domain Services, и можно подвести итоги.

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

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

Когда речь идет крупной компании, или о компании, в которой есть явная заинтересованность со стороны злоумышленников – этих средств недостаточно. Ошибки и инсайдинг могут свести на нет усилия по построению системы защиты, поэтому надо выбрать другой путь. Здесь уже имеет смысл говорить о внедрении безопасной аутентификации.

Использование двухфакторной аутентификации – хорошее решение с точки зрения безопасности.

У нас появляется второй фактор аутентификации, помимо пин кода, пользователю надо обладать еще и смарт картой, или USB ключом.

Использование смарт карт или USB ключей дает нам возможность обеспечить двухфакторную аутентификацию как в среде AD, так и в AD DS.

В одной из следующих статей я расскажу, как осуществляется внедрение двухфакторной аутентификации на практике. Мы рассмотрим развертывание и настройку инфраструктуры удостоверяющих центров (PKI) на основе Windows Server 2008 Enterprise R2.

Список литературы.

Http://www.rfc-archive.org/getrfc.php?rfc=4556

Http://www.rfc-archive.org/getrfc.php?rfc=4120

Http://www.aladdin.ru/catalog/etoken_products/logon

NCSC-TG-017 – "A Guide to Understanding Identification and Authentication in Trusted Systems," опубликованный U.S. National Computer Security Center.

RFC4120 – The Kerberos Network Authentication Service (V5)

RFC4556 – Public Key Cryptography for Initial Authentication in Kerberos (PKINIT)

Brian Komar Windows Server 2008 PKI and Certificate Security

Леонид Шапиро,
MCT, MCSE:S, MCSE:M, MCITP EA, TMS Certified Trainer

Пароль является не очень надежным средством защиты. Очень часто используются простые, легко подбираемые пароли или же пользователи не особо следят за сохранностью своих паролей (раздают коллегам, пишут на бумажках и т.д.). В Microsoft уже давно реализована технология, позволяющая для входа в систему использовать SmartCard, т.е. аутентифицироваться в системе по сертификату. Но не обязательно использовать непосредственно смарт-карты, ведь для них нужны еще и считыватели, поэтому проще их заменить на usb токены. Они позволят реализовать двухфакторную аутентификацию: первый фактор — это пароль от токена, второй фактор — это сертификат на токене. Далее на примере usb токена JaCarta и домена Windows я расскажу как внедрить этот механизм аутентификации.

Первым делом в AD создадим группу «g_EtokenAdmin» и уч. запись «Enrollment Agent», входящую в эту группу. Эта группа и пользователь будут рулить центром сертификации.

Дополнительно установим Web службу для запроса сертификатов.

Далее выбираем вариант для предприятия. Выбираем Корневой ЦС (если у нас это первый центр сертификации в домене)
Создаем новый закрытый ключ. Длину ключа можно оставить туже, а вот алгоритм хеширования лучше выбрать SHA2 (SHA256).


Введем имя CA и выберем срок действия основного сертификата.
Остальные параметры оставляем по умолчанию и запускаем процесс установки.


После установки зайдем в оснастку центра сертификации и настроим права на шаблоны.

Нас будут интересовать два шаблона: Агент регистрации (Enrollment Agent) и Вход со смарт-картой (Smartcard logon).
Зайдем в свойства этих шаблонов и на вкладке безопасность добавим группу «g_EtokenAdmin» с правами чтение и заявка.

И они появятся у нас в общем списке.

Следующим шагом настроим групповые политики:
Первым делом расскажем всем компьютерам домена о корневом центре сертификации, для этого изменим Default Domain Policy.
Конфигурация компьютера -> Политики -> Конфигурация Windows -> Параметры безопасности -> Политики открытого ключа -> Доверенные корневые центры сертификации -> Импорт


Выберем наш корневой сертификат, расположенный по пути: C:\Windows\System32\certsrv\CertEnroll. Закрываем Default Domain Policy.
На следующем шаге создадим политику для контейнера, в котором будут находится компьютеры с аутентификацией по токену (Смарт-карте).

По пути Конфигурация компьютера -> Политики -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Параметры безопасности. Настроим два параметра «Интерактивный вход в систему: требовать смарт-карту» и «Интерактивный вход в систему: поведение при извлечении смарт-карты».

На этом с настройками все, теперь можно генерировать клиентский сертификат и проверять аутентификацию по токену.
Залогинемся на компьютере под учетной записью «Enrollment Agent» и откроем браузер, перейдя по ссылке http://Имя_сервера_MS_CA/certsrv

Выбираем пункт Запрос сертификата -> Расширенный запрос сертификата -> Создать и выдать запрос к этому ЦС
Если возникнет ошибка вида «Чтобы завершить подачу заявки на сертификат, следует настроить веб-узел для ЦС на использование проверки подлинности по протоколу HTTPS», то нужно на сервере IIS, на котором установлен MS CA, сделать привязку сайта к протоколу https.


Продолжим получение сертификата, для этого на открывшейся странице выберем шаблон: «Агент регистрации» и нажмем кнопку выдать и установить сертификат.


Теперь пользователь Enrollment Agent может выписывать сертификаты для других пользователей. К примеру запросим сертификат для пользователя test. Для этого откроем консоль управления сертификатами certmgr.msc, т.к. через web интерфейс не получится записать сертификат на usb токен.
В этой консоли на папке личное сделаем запрос от имени другого пользователя


В качестве подписи выбираем единственный сертификат «Enrollment Agent» и переходим к следующему шагу, на котором выбираем пункт «Вход со смарт-картой» и нажимаем подробности для выбора криптопровайдера.
В моем случае я использую токены JaCarta, поэтому вместе с драйверами был установлен криптопровайдер «Athena…»:


На следующем шаге выбираем доменного пользователя, для которого выписываем сертификат и нажимаем на кнопку «Заявка».

Вставляем токен, вводим пин код и начинается процесс генерации. В итоге мы должны увидеть диалоговое окно с надписью «Успешно».
Если процесс окончился неудачно, возможно дело в шаблоне получения сертификата, в моем случае его надо было немного подправить.

Приступим к тестированию, проверим работу токена на компьютере, находящемся в OU с групповой политикой входа по смарт-карте.
При попытке войти под учетной записью с паролем мы должны получить отказ. При попытке войти со смарт-картой (токеном) мы получим предложение ввести пин и должны успешно зайти в систему.

P.s.
1) Если не работает автоматическая блокировка компьютера или выход из системы, после вытаскивания токена, смотрите запущена ли служба «Политика удаления смарт-карт»
2) На токен можно записать (сгенерировать сертификат) только локально, через RDP не получится.
3) Если не получается запустить процесс генерации сертификата по стандартному шаблону «Вход с смарт-картой», создайте его копию с такими параметрами.

На этом все, если будут вопросы, задавайте, постараюсь помочь.

Получил невероятно хорошие комментарии и уточнения от пожелавшего остаться неизвестным товарища:
1) В самом начале настройки сервера, вводите команду:
multiotp.exe -debug -config default-request-prefix-pin=0 display-log=1 после неё не требуется вводить пин-код при настройке пользователя и включается отображение лога каждой операции в консоль.

2) С помощью этой команды можно регулировать bantime, для пользователей, которые ошиблись с паролем (по умолчанию 30 сек):
multiotp.exe -debug -config failure-delayed-time=60
3) То, что будет написано в приложении google Authenticator над 6 цифрами, называется issuer, можно поменять с дефолтного MultiOTP на что-то другое:
multiotp.exe -debug -config issuer=other
4) После проделанных операций, команда по созданию пользователя становится чуть проще:
multiotp.exe -debug -create user TOTP 12312312312312312321 6 (время обновления цифр, равное 30 секундам, я не задаю, кажется оно по умолчанию равно 30).

5) Каждому пользователю можно изменить description (текст под цифрами в приложении Google Auth):
multiotp.exe -set username description=2
6) QR-коды можно создавать сразу в приложении:
multiotp.exe -qrcode username c:\multiotp\qrcode\user.png:\multiotp\qrcode\user.png
7) Можно использовать не только TOTP, но и HOTP (на вход функции хэширования подаётся не текущее время, а значение инкрементального счетчика):
multiotp.exe -debug -create username HOTP 12312312312312312321 6



Загрузка...