31.10.2019

Аутентификация по OTP на Web-сервере Apache

Интернет-портал Habr.com, октябрь, 2019

Статья с упоминанием компании "Аладдин Р.Д."

В этом посте мы расскажем о том, как настроить аутентификацию по одноразовому паролю на Apache при помощи JAS и Radius. JAS (JaCarta Authentication Server) – автономный высокопроизводительный сервер аутентификации с поддержкой OTP- и U2F-токенов, а также программных токенов для мобильных устройств. В процессе настройки использовалось следующее ПО — JAS 1.x, Linux Debian, Apache2, а также токены JaCarta WebPass, JaCarta U2F, любые OTP-токены по событию, программные Google Authenticator, Яндекс-ключ и т.д.

Для решения данной задачи можно использовать подключаемый модуль аутентификации radius для сервера apache2. Все действия на Web-сервере выполняются для дистрибутива Linux Debian stretch.

Настройка Web-сервера

  1. Устанавливаем модуль radius для apache2:
  2. sudo apt install libapache2-mod-auth-radius
    sudo a2enmod auth_radius

  3. Выбираем нужный сайт и в его конфигурации делаем изменения:
  4. ServerName web1.test2.ru
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    # Указываем параметры нашего сервера radius (адрес, секрет, количество попыток соединения) AddRadiusAuth 127.0.0.1 P@ssw0rd 5
    AddRadiusCookieValid 60

    В секции "Directory" также указываем:

    AuthType Basic
    AuthName "Radius Authentication"
    AuthBasicAuthoritative Off
    AuthBasicProvider radius
    AuthRadiusAuthoritative on
    AuthRadiusActive On
    Require valid-user

  5. Перезагружаем демон Web-сервера:
  6. sudo apache2ctl restart

Web-сервер готов.

Настройка сервера Radius (NPS)

Запускаем консоль управления NPS.

1. Добавим наш Web-сервер в качестве клиента:

Аутентификация по OTP на Web-сервере Apache

2. В политиках запроса соединения создаём правило, согласно политике безопасности предприятия:

Аутентификация по OTP на Web-сервере Apache

Добавление пользователя с правами сетевого доступа

Создаём пользователя и на вкладке Dial-in предоставляем права сетевого доступа:

Аутентификация по OTP на Web-сервере Apache

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

В консоли управления JAS добавляем любой из указанных выше OTP-аутентификаторов.

В свойствах указываем имя пользователя:

Аутентификация по OTP на Web-сервере Apache

Более подробно о настройке сервера JAS написано в документации по продукту, а также в Базе знаний.

Проверка работы

В браузере переходим на наш сайт. Должен быть запрошен логин и пароль. Вводим логин и одноразовый пароль:

Аутентификация по OTP на Web-сервере Apache

Если всё выполнено верно, получаем доступ на наш сайт, защищённый паролем:

Аутентификация по OTP на Web-сервере Apache