Pull to refresh

Аутентификация в 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. Вставляем только что созданную смарт карту и вводим пин:



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

Как я уже сказал это заметка, поэтому здесь не дается больших и глобальных пояснений. Надеюсь, что кому-нибудь пригодится.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.