Перейти к содержимому
Аладдин Р.Д.
Библиотека
Библиотека

6.2.8 JaCarta PKI для OpenSSH PuTTY

USB-токены и смарт-карты JaCartaИнтеграцииUSB-токены и смарт-карты JaCarta

Аннотация

Документ описывает алгоритм настройки SSH-клиента Putty для ОС Windows для работы с JaCarta PKI.

SSH

SSH — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений. Шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.

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

  1. Для настройки работы SSH по RSA сертификатам необходимо настроить SSH сервер, а также SSH клиента на клиентской машине. В данном документе описан алгоритм настройки работы SSH с использованием смарт-карты либо токена JaCarta PKI, для целей аутентификации и шифрования установленного канала.

Порядок настройки серверной части на примере Ubuntu

Заголовок раздела «Порядок настройки серверной части на примере Ubuntu»

ssh

  • keygen

i. Переходим в директорию /home/user/.ssh

ii. ssh-keygen -t rsa

iii. Задать имя ключа, например key

iv. Задать пароль ключа (для шифрования закрытого ключа) например

12345678

v. На выходе получаем два файла например key и key.pub

Генерация запроса на сертификат с ключами из п.1

vi. openssl req -new -out user.req -key key

Выпуск сертификата в CA openssl

  1. vii. Настройка openssl CA.
1. cd /etc/ssl
2. sudo -i
3. echo “01” > serial
4. cp /dev/null index.txt
  1. редактируем /etc/ssl/openssl.cnf nano openssl.cnf
a. dir = ./
b. certs = $dir/certs
c.
crl_dir = $dir/crl
d. database = $dir/index.txt
e. new_certs_dir = $dir/certs
f.
certificate = $dir/ca.crt
g.
serial = $dir/serial
h. crl = $dir/crl.pem
i.
private_key = $dir/ca.key
6. openssl req -new -x509 -keyout ca.key -out
ca.crt -days 3650
7. mkdir crl
  1. Скачать https://yadi.sk/d/zScNa_7CtHTdL make_hash_link.sh.

  2. Запуск makehashlink.

10. chmod +x make_hash_link.sh
11. ./make_hash_link.sh /etc/ssl
12. ./make_hash_link.sh /etc/ssl/crl

viii. Подписание сертификата пользователя (выпуск)

1. sudo -i
2. cd /home/user/.ssh
3. openssl ca -out user.crt -infiles user.req

ix. В директории /home/user/.ssh должен находиться файл открытого

ключа, содержищий ssh-rsa {KEY}. В примере мы создали файл с именем key.pub

x. Импортируем данный ключ в файл authorized_keys

xi. echo key.pub > authorized_keys
Донастройка серверной части
b. chmod 700 authorized_keys
  1. c. Настройки openssh. В /etc/ssh/sshd.conf редактируем конфигурацию аутентификации.
i. RSAAuthentication yes
ii. PubkeyAuthentication yes

iii. PasswordAuthentication no - отказ от аутентификации по паролю

(опционально)

Необходимо перенести сертификат на смарт-карту. Для переноса мы соберем все необходимые объекты в зашифрованный контейнер и записать его на смарт-карту.

openssl pkcs12 -export -in user.crt -inkey key -certfile ca.crt -
name "user" -out user.pfx
  • Перенос файла user.pfx на Windows систему с установленным Единым клиентом, либо JC Client

  • Ввод пин-кода пользователя

- Ввод пин-кода пользователя

  • Импортировать сертификат на токен

- Импортировать сертификат на токен

  • Выбрать файл user.pfx и нажать Импорт

ssh -I /usr/lib/x86-athena/libASEP11.so 127.0.0.1

Запуск утилит из дистрибутива

putty

  • cac

\ executables

  • pageant.exe

  • putty.exe

Для работы требуется версия putty-cac 0.62

Выбор сертификата в pageant

Выбор сертификата в pageant

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

  1. Запуск и настройка Putty.

Вкладка Connection/SSH/CAPI

Вкладка Connection/SSH/CAPI