Аутентификация в OpenSSH Putty по JaCarta PKI

в 8:07, , рубрики: JaCarta, linux, OpenSSH Putty, ssh, USB-токен, аутентификация, Блог компании Аладдин Р.Д., информационная безопасность, криптография, системное программирование, смарт-карта, шифрование, метки: , ,

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

JaCarta PKI – токены производства компании «Аладдин Р.Д.» для строгой двухфакторной аутентификации пользователей при доступе к защищённым информационным ресурсам предприятия, безопасного хранения ключей и ключевых контейнеров программных СКЗИ.

Общие сведения

SSH

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

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

Аутентификация по сертификату

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

Настройка смарт-карт для SSH-клиента

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

Генерация ключевой пары утилитой ssh-keygen

  • Перейти в директорию /home/user/.ssh
  • ssh-keygen -t rsa
  • Задать имя ключа, например, key
  • Задать пароль ключа (для шифрования закрытого ключа), например, 12345678
  • На выходе получаем два файла, например, key и key.pub

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

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

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

  • Настройка openssl CA
    1. cd /etc/ssl
    2. sudo -i
    3. echo “01” > serial
    4. cp /dev/null index.txt
    5. Редактируем /etc/ssl/openssl.cnf nano openssl.cnf
      • dir = ./
      • certs = $dir/certs
      • crl_dir = $dir/crl
      • database = $dir/index.txt
      • new_certs_dir = $dir/certs
      • certificate = $dir/ca.crt
      • serial = $dir/serial
      • crl = $dir/crl.pem
      • private_key = $dir/ca.key

    6. openssl req -new -x509 -keyout ca.key -out ca.crt -days 3650
    7. mkdir crl
    8. Скачать
    9. Запуск makehashlink
    10. chmod +x make_hash_link.sh
    11. ./make_hash_link.sh /etc/ssl
    12. ./make_hash_link.sh /etc/ssl/crl

  • Подписание сертификата пользователя (выпуск)
    1. sudo -i
    2. cd /home/user/.ssh
    3. openssl ca -out user.crt -infiles user.req

Импорт открытого ключа в Autorized_keys

  • В директории /home/user/.ssh должен находиться файл открытого ключа, содержащий ssh-rsa {KEY}. В примере мы создали файл с именем key.pub
  • Импортируем данный ключ в файл authorized_keys
  • echo key.pub > authorized_keys

Донастройка серверной части

  • chmod 700 authorized_keys
  • Настройки openssh. В /etc/ssh/sshd.conf редактируем конфигурацию аутентификации
    1. RSAAuthentication yes
    2. PubkeyAuthentication yes
    3. PasswordAuthentication no — отказ от аутентификации по паролю (опционально)

Запись сертификата на смарт-карту

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

  • openssl pkcs12 -export -in user.crt -inkey key -certfile ca.crt -name «user» -out user.pfx
  • Перенос файла user.pfx на Windows систему с установленным ПО «Единый Клиент JaCarta», либо JC Client
  • Ввод PIN-кода пользователя

    Аутентификация в OpenSSH Putty по JaCarta PKI - 1

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

    Аутентификация в OpenSSH Putty по JaCarta PKI - 2

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

Проверка работоспособности сертификата

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

Настройка SSH-клиента Putty на ОС Windows

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

  • pageant.exe
  • putty.exe

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

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

Аутентификация в OpenSSH Putty по JaCarta PKI - 3


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

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

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

Аутентификация в OpenSSH Putty по JaCarta PKI - 4

Вход в сессию SSH по сертификату

После ввода PIN-кода пользователя будет установлена сессия SSH.

Автор: Аладдин Р.Д.

Источник

Поделиться

* - обязательные к заполнению поля