Проверка
Прежде чем подключать целевые ресурсы к сервису, убедитесь, что интеграция по протоколу RADIUS работает корректно. Для этого можно использовать различные программные утилиты для тестирования.
radtest
С помощью этой утилиты, которая входит в состав пакета freeradius-utils, можно отправлять тестовые запросы к шлюзам RADIUS.
Для этого на машине под управлением Linux, где установлен этот пакет, выполните команду:
# radtest -x -4 <логин пользователя в сервисе MFA> <OTP (с PIN-кодом, если тот задан)> <IP-адрес сервера RADIUS>:1812 0 <общий секрет>
Если интеграция настроена правильно и введен правильный пароль, утилита выдает сообщение о том, что доступ предоставлен:
# radtest -x -4 indeed_user 747409 10.0.0.1:1812 0 $Secret1
Sent Access-Request Id 115 from 0.0.0.0:53807 to 10.0.0.1:1812 length 78
User-Name = "indeed_user"
User-Password = "747409"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "747409"
Received Access-Accept Id 115 from 10.0.0.1:1812 to 10.0.0.10:53807 length 20
ntradping
Этот бесплатный инструмент для Windows позволяет протестировать работу сервера RADIUS, отправляя на него сконструированные запросы с нужными параметрами. Скачать его можно на веб-сайте вендора.
Чтобы отправить запросы на сервер RADIUS, укажите:
- его имя или IP-адрес;
- порт, на который отправляются запросы;
- время ожидания ответа и количество повторов;
- секрет RADIUS;
- имя пользователя;
- одноразовый пароль пользователя (с PIN-кодом, если тот задан).
В окне ответа можно увидеть:
- время отклика;
- тип ответа;
- возвращенные атрибуты RADIUS.
tcpdump
Эту команду для анализа сетевого трафика можно использовать для анализа трафика RADIUS на стороне шлюза. Команда включена в образы контейнеров Индид Облака (сервер аутентификации) и FRA (шлюз RADIUS).
Формат:
tcpdump– запустить захват и вывод сетевых пакетов;[-v]– выводить в расширенном объеме;[-vv]– выводить в максимальном объеме;[-n]– IP-адреса и номера портов вместо имен;[-i] <интерфейс>– захватывать пакеты на сетевом интерфейсе<интерфейс>;[port <порт>]– захватывать только пакеты на порт протокола<порт>;[host <хост>]– захватывать только пакеты на/от машины<хост>;[and|or|not]– пересекать|объединять|исключать условия.
Примеры:
# tcpdump -vv port radius
# tcpdump -i any port radius or port https or port mysql