Стенд:
- Сервер — Astra Linux Smolensk SE 1.6, Update 2, Bulletin 20190222SE16;
- Клиент — Astra Linux Smolensk SE 1.6, Update 2, Bulletin 20190222SE16;
- Рутокен ЭЦП;
Предполагается, что Astra Linux Directory (ALD) уже развернут, существует минимум один доменный пользователь, который может пройти аутентификацию по паролю, время клиента и сервера совпадают (ntp).
Установка драйверов на сервер и клиент
Для обеспечения работы со смарт-картой Рутокен ЭЦП на клиенте и сервере установите следующие пакеты: libccid, pcscd, libpcsclite1.
Для обеспечения работы со смарт-картой подсистемы Kerberos добавочно к предустановленным пакетам ald/kerberos установите пакет krb5-pkinit на клиенте и сервере.
Для обеспечения возможности выпуска ключей и сертификатов на JaCarta PKI на сервере также установите пакеты libengine-pkcs11-openssl1.1 и opensc.
Для обеспечения возможности обращения к смарт-карте Рутокен ЭЦП, на клиенте и сервере следует установить библиотеку librtpkcs11ecp.so:
https://www.rutoken.ru/support/download/pkcs/
user ~$ $ sudo dpkg -i librtpkcs11ecp_1.8.2.0-1_amd64.deb
Проверка работы Рутокен в системе
Для проверки работы Рутокена:
Подключите устройство к компьютеру.
user ~$ $ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
путь до библиотеки librtpkcs11ecp.so может различаться
Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:
$ find /usr/*(lib|lib64) -name librtpkcs11ecp.so
Установка и настройка центра сертификации на сервере
Для работы модуля pkinit нам придется воспользоваться OpenSSL в качестве УЦ(CA), чтобы создать ключевые пары и сертификаты клиента и сервера.
OpenSSL — криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH, DSA, ГОСТ и сертификаты X.509, подписывать их, формировать CSR и CRT.
Все настройки в руководстве выполняются для тестового домена SMARTCARD.ALD. Примем, что сервер и клиент принадлежат домену SMARTCARD.ALD, имя сервера – kdc, а клиента – client. При настройке используйте имя вашего домена, сервера и клиента.
Выполните следующие действия:
- Создайте каталог CA командой mkdir /etc/ssl/CA и перейдите в него. В этом каталоге будут размещаться сгенерированные ключи и сертификаты.
- Создайте ключ и сертификат CA:
$ openssl genrsa -out cakey.pem 2048
$ openssl req -key cakey.pem -new -x509 –days 365 -out cacert.pem
В диалоге заполните необходимую информацию о вашем центре сертификации. В Common name указать EXAMPLE.RU. - Создайте ключ и сертификат KDC:
$ openssl genrsa -out kdckey.pem 2048
$ openssl req -new -out kdc.req -key kdckey.pem
В диалоге заполните необходимую информацию о вашем сервере. В Common name указать kdc. - Установите переменные среды. Переменные среды устанавливаются в рамках сессии и не устанавливаются для других сессий и не сохраняются после закрытия сессии.
export REALM=EXAMPLE.RU - Ваш домен
export CLIENT=kdc - Вашего сервер