Pull to refresh
40.07
Rating
Аладдин Р.Д.
Информационная безопасность

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

Аладдин Р.Д. corporate blog Information Security *Cryptography *Open source *System Programming *
В настоящей статье описан алгоритм настройки 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-кода пользователя


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


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

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


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

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


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


  • pageant.exe
  • putty.exe

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

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



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

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


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


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


После ввода PIN-кода пользователя будет установлена сессия SSH.
Tags:
Hubs:
Total votes 4: ↑4 and ↓0 +4
Views 9.7K
Comments Comments 10

Information

Founded
Location
Россия
Website
www.aladdin-rd.ru
Employees
101–200 employees
Registered