Как стать автором
Обновить

Аутентификация в Active Directory, c использованием смарт-карт.

Недавно заинтересовался темой смарт-карт. В интернете по этому поводу я нашел не очень много, поэтому решил написать небольшую заметку по организации аутентификации пользователей в windows, с помощью смарт-карт.

Ядром нашей системы будет корневой Ценр Сертификации (ЦС), который будет выдавать пользователям подписанные сертификаты и записывать их на смарт-карту. После этой процедуры будет возможно проходить аутентификацию в системе не по паролю, а используя карточку. Все данные на смарт карте шифруются на основе ключевой фразой — пин код, который устанавливается при записи сертификатов. Стоит отметить, что подойдут для такой системы не все смарт карты… Я немного ступил, когда купил просто микропроцессорные карты — windows отказалась записывать на них сертификаты. Это обстоятельство вынудило меня купить (на ebay.com) карточки gemsafe, которе я и использовал в своих экспериментах. Вот как они выглядят:





Так же нам потребуется card reader. В плане покупки с ним немного проще чем с карточками (можно купить в москве). В итоге был куплен omnikey 3021, на сайте smartcard.ru. Данная моделька очень проста и примитивна, но достаточно хорошо выполняют свою непосредственную задачу — чтение карт. Выглядит это чудо так:



Вся эта система работает под управлением Windwos Server 2003 (планирую настроить под Unix'ами).
Ну вроде бы девайсы немного описал, поэтому предлагаю перейти к настройке windows.

1. Установка компонентов.



Предполагаю, что у Active Directory уже установлена и настроена (в интернете полно информации по этому поводу). Для реализации нашей идеи необходимо установить службу сертификации, для чего идем в: «панель управления»->«установка и удаление программ»->«установка компонентов windows». Далее выбираем: «Службы сертификации», а так же «Сервер приложений». «Сервер приложений» необходим для установки службы IIS, которая потребуется для возможности запросов сертификатов через www.



Приступаем к установке. Так как мы поднимаем свой первый ЦС, то на запрос типа ЦС выбираем «Корневой ЦС»:



Ввводим имя центра сертификации:



Указываем пути к базе данных сертификатов и журнала:



Дальше начинается установка и, спустя некоторое время, вылезает менюшка с вопросом включать поддержку asp или нет. Нужно ответить утвердительно, так как asp на понадобится для выдачи сертификатов. Вот и вся установка.



2. Добавление шаблонов.



В консоли управления Центра Сертификации:



нужно создать два шаблона сертификатов:



«Агент подачи заявок»:



и «Пользователь со смарт-картой»:



Теперь можно переходить к основному — выдачи сертификатов.

3. Установка сертификата.



Заходим на наш IIS сервер: localhost/certsrv:



Выбираем «запрос сертификата»:



Далее выбираем «расширенный запрос сертификата»:



После чего «Создать и выдать запрос к этому ЦС». В поле «Шаблон Сертификата» выбираем «Агент подачи заявок», который позволит нам выпускать сертификаты для пользователей:



Далее запрашиваем сертификат (нажмите да), после чего устанавливаем их:






4. Выпуск сертификата пользователя.



Для этого необходимо снова зайти на localhost/certsrv, после чего «запрос сертификата»->«Расширенный запрос сертификата»->«Запрос сертификата для смарт-карты ...». В качестве шаблона выбираем «Пользователь со смарт-картой», в качестве CSP — «Gemplus GemSafe». После чего выбираем заявляемого пользователя (я выбрал Администратора) и жмем кнопку «заявка»:



На запрос пин кода, вводим 1234 (по дефолту) и нажимаем OK:



Если немного подождать, то страничка загрузится с сообщением об успешном завершении:



Можно посмотреть на выданный сертификат:



5. Изменении групповой политики.



Если хочется, то в настройках «Политики безопасности домена»:



Можно установить действие, которое будет выполнено при изъятии пользователем смарт-карты:



6. Тестирование.



Вот так выглядит окно входа в систему:



Рядом с клавиатуркой изображен card reader. Вставляем только что созданную смарт карту и вводим пин:



И все — мы в системе!

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