- PVSM.RU - https://www.pvsm.ru -

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH

В этой статье мы поговорим об основных этапах настройки аутентификации в Linux SSH для замены парольной аутентификации одноразовыми паролями — в статье описан сценарий аутентификации в сессию SSH-подключения к Linux OS посредством одноразовых паролей с использованием устройства JaCarta WebPass [1].

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 1


JaCarta WebPass разработки компании «Аладдин Р.Д.» [2] представляет собой USB-токен с «OTP на борту» для двухфакторной аутентификации пользователей при доступе к защищённым информационным ресурсам с использованием одноразового пароля, либо хранимого в памяти токена многоразового пароля.

Предложенный в статье сценарий подразумевает использование RADIUS сервера для проверки подлинности введённого одноразового кода, а также системы проверки OTP-значения. В качестве системы управления OTP-ключами мы будем использовать JaCarta Authentication Server (JAS) [3] также разработки «Аладдин Р.Д.».

Пользователь, при установленном SSH-соединении, на этапе аутентификации будет вводить OTP-значение вместо пароля. PAM модуль отправит переданное значение на RADIUS Server, который проверит его и разрешит, либо запретит аутентификацию.

Используемое для демонстрации окружение

В данной инструкции производится настройка для следующих версий операционных систем:

  • Microsoft Windows Server 2012;
  • Ubuntu Server 16;
  • Microsoft Windows 7.

Требования к окружению

Для Windows Server необходимо создать домен, добавить роль NPS. Для этого следуйте советам ниже.

Откройте оснастку для добавления роли NPS.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 2

При выборе служб и компонентов выберите Network Policy Server.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 3

После этого вам станет доступна оснастка NPS.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 4

Настройка на стороне RADIUS сервера

На стороне сервера необходимо выполнить следующие шаги:

  • добавьте радиус клиента с IP-адресом, либо именем Linux сервера;
  • выберите оснастку NPS на сервере.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 5

В меню оснастки выберите пункт NPS – RADIUS Clients and Servers – RADIUS Clients, затем правым кликом вызовите контекстное меню и нажмите New.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 6


Введите настройки клиента для подключения к RADIUS серверу: имя, отображаемое в оснастке, адрес либо имя клиента, общий секрет для клиента и сервера (необходимо придумать).

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 7


Создайте доменного пользователя, имя которого будет использоваться для аутентификации на Linux сервере.

Подготовка JaCarta WebPass

Для инициализации JaCarta WebPass необходимо открыть приложение Web Pass Tool, которое входит в состав программного обеспечения «Единый Клиент JaCarta». Загрузить ПО можно по ссылке https://www.aladdin-rd.ru/support/downloads/jacarta/ [4].

Откройте приложение JaCarta WebPass Tool, выберите вкладку ОТР.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 8


Выберите слот для инициализации, затем нажмите в меню пункт Инициализация.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 9


В настройках укажите Одноразовый пароль, первый механизм из выпадающего списка, отметьте Сохранение параметров инициализации и нажмите Далее.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 10


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

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 11


Введите PIN-код для ключа и нажмите Далее.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 12

Настройка на стороне JAS

На стороне JAS необходимо выполнить перечисленные ниже шаги.

Добавьте устройство OTP в систему, привяжите пользователя к устройству. Для этого откройте оснастку JAS.

В оснастке выберите Импорт ключевых носителей.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 13


Укажите путь до файла с данными инициализации JaCarta WebPass (файл можно получить при инициализации слота в приложении Web Pass Tool, который входит в состав программного обеспечения «Единый Клиент JaCarta». Загрузить ПО можно по ссылке https://www.aladdin-rd.ru/support/downloads/jacarta/ [4]).

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 14


В случае успеха нажмите Далее.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 15


Выберите добавленный ключ, нажмите Свойства в меню. Для привязки к пользователю следует указать имя и адрес электронной почты для доменного пользователя.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 16


Перед активацией следует произвести синхронизацию устройства, для этого нажмите Синхронизация в меню, укажите в окно ОТР 1 и нажмите на кнопку устройства JaCarta WebPass, затем повторите с окном ОТР 2.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 17


Для активации выберите пункт Включить.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 18

Настройка на стороне Linux Server

На стороне Linux сервера все операции необходимо производить от имени root.

# sudo -i

# apt-get install libpam-radius-auth 

Добавьте значения для вашего RADIUS сервера, IP-адрес, либо имя сервера, общий секрет в файл /etc/pam_radius_auth.conf.

# nano /etc/pam_radius_auth.conf

#  The timeout field controls how many seconds the module waits before
#  deciding that the server has failed to respond.
#
# server[:port] shared_secret      timeout (s)
[SERVER IP] [Общий секрет]           3 

В файле /etc/pam.d/sshd добавьте строку auth sufficient pam_radius_auth.so над include [5] common-auth, как показано ниже.

# nano /etc/pam.d/sshd 

# PAM configuration for the Secure Shell service

# Standard Un*x authentication.
auth sufficient pam_radius_auth.so
@include common-auth


# Disallow non-root logins when /etc/nologin exists. 

Создайте локального пользователя с именем, соответствующим пользователю в AD.

Проверка решения

Для проверки воспользуемся операционной системой Microsoft Windows 7 с установленным SSH клиентом PUTTY.

Откроем Putty и укажем адрес интересующей нас машины на Linux.

JaCarta Authentication Server и JaCarta WebPass для OTP-аутентификации в Linux SSH - 19


Введите имя пользователя, Ввод, затем нажмите на кнопку устройства JaCarta WebPass, Ввод.

Автор: doctorblack

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ssh/259155

Ссылки в тексте:

[1] JaCarta WebPass: https://www.aladdin-rd.ru/catalog/jacarta_webpass/

[2] «Аладдин Р.Д.»: https://www.aladdin-rd.ru/company/

[3] JaCarta Authentication Server (JAS): https://www.aladdin-rd.ru/catalog/jas/

[4] https://www.aladdin-rd.ru/support/downloads/jacarta/: https://www.aladdin-rd.ru/support/downloads/jacarta/

[5] include: https://habrahabr.ru/users/include/

[6] Источник: https://habrahabr.ru/post/331908/