Вход:  Пароль:  
FreeSource: MaximTyurin/eToken ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

У нас есть Aladdin eToken Pro 32k от компании Aladdin и Debian GNU/Linux 4.0 Etch.


При работе с eToken Pro можно использовать один из двух
методов:


1. Работа через opensc и openct по стандарту PKCS#15


1. Работа через демон от Aladdin по их протоколу


Мы будем использовать PKCS#15.

Инициализация eToken


Сначала устанавливаем opensc и openct для
доступа к смарт-карте.


Список поддерживаемых карт можно посмотреть на
официальном сайте.


Сначала eToken нужно отформатировать и инициализировать в Windows. Это
нужно потому что драйвер от Aladdin и Open SC? используют разные
структуры данных. Кроме того форматирование из Windows с помощью
программы от Aladdin форматирует весь eToken, а Open SC? стирает только
структуру PKCS#15.


Поэтому если хочется использовать eToken в Windows и Linux
одновременно то сначала его нужно отформатировать и инициализировать в
Windows, а потом инициализировать в Linux с помощью Open SC?.


Теперь вставляем eToken и смотрим определился ли он:


Запоминаем идентификатор ключа (0) – он нам в дальнейшем понадобится.


Теперь создадим структуру PKCS#15 на eToken


Если eToken не будет использоваться в Microsoft Windows то создаем
структуру PKCS#15 и форматируем токен.


вводим PIN для Secirity Officer (SO PIN) и PUK для Security Officer
(максимум 8 символов).


SO PIN будет нужен для создания профилей.


SO PUK будет нужен для разблокирования профилей.


Теперь создаем сертификат x509 в Tiny CA? 2 (RSA 1024bit, SHA1 digest)
и экспортируем его в формате PKCS#12 вместе с ключом (ставим галочку
«Include Key (PEM)"). Не забываем отключить вставку в PKCS#12 сертификата CA.


Теперь создаем профиль на eToken:


вводим PIN, PUK и SO PIN


И заливаем сертификат:


Идентификатор по умолчанию – 45.


Если залился только один сертификат значит опция split-key не
сработала тогда смотрим для какого использования залился сертификат


Видно что сертификат используется для подписи, поэтому заливаем еще
раз и указываем использовать для расшифровки:


Если залился сертификат для расшифровки тогда заливаем с опцией
--key-usage sign.


И теперь смотрим ключи:


Видим что есть оба сертификата (подписи и расшифровки).


Теперь смотрим ID залитого сертификата:


Теперь нужно включить пользователей, авторизирующихся с помощью eToken
в группу scard:


Open SSH?


Чтоб пользоваться ssh используя авторизацию по eToken нужно
пересобрать openssh.


Устанавливаем исходники:


Заходим в каталог debian и правим файл control:


1. Добавляем в Build-Depends libopensc2-dev


1. Добавляем в Recommends для openssh-client libopensc2 и opensc


Правим файл rules:


1. Добавляем в configure параметр --with-opensc=/usr


1. Убираем комментарий со строки:


Теперь нужно наложить патч из opensc


Устанавливаем исходники opensc:


Достаем патч ask-for-pin.diff из src/openssh и накладываем его на
openssh.


Без этого патча не будет работать запрос PIN в ssh.


Исходники opensc больше не понадобятся.


Теперь добавляем запись для changelog для openssh, собираем и устанавливаем
пакет.


После установки пакета можно пользоваться авторизацией по eToken в
ssh.


Сначала достанем из токена открытую часть ключа:


Теперь authorized_keys нужно закинуть на серверы в /.ssh/


После этого можно авторизоваться на сервере:


Авторизация в системе


Есть несколько модулей pam которые используют eToken для авторизации в
системе.


Начнем с самого простого.

pam_p11


Проект pam_p11 состоит из
двух простых модулей pam, даже не имеющих настроек:


1. pam_p11_opensc.so


1. pam_p11_openssh.so


Работают они одинаково и различаются только проверяемым сертификатом.


pam_p11_openssh.so проверяет пользователя по сертификатам в
/.ssh/authorized_keys


pam_p11_opensc.so проверяет пользователя по сертификатам в
/.eid/authorized_certificates


Модуль libpam-p11 версии 0.1.2 из Etch не будет работать с eToken.
Нужно сделать backport из Lenny версии 0.1.3.


Кроме того его надо пропатчить перед сборкой.


Вот патч:


Собираем пакет и устанавливаем его.


Теперь можно настроить авторизацию.


Для pam_p11_opensc нужные файлы создаются так:


Для pam_p11_openssh:


И теперь правим конфигурацию pam.


Например для su правим файл /etc/pam.d/su В начало файла после строки

добавляем строку


И теперь пользователи с eToken открытый ключ которых лежит в
/root/.ssh/authorized_keys могут запускать su и у них будет спрашивать
только PIN токена


При отсутствии токена авторизация будет проходить штатно.


И так для всех необходимых файлов в /etc/pam.d/


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]