SCROLL
Среднее время на прочтение: 1 мин.

radtest — инструмент командной строки для тестирования аутентификации RADIUS

radtest — это инструмент командной строки, который используется для отправки тестовых запросов на аутентификацию на сервер RADIUS (Remote Authentication Dial-In User Service). Обычно он входит в состав утилит FreeRADIUS для систем Linux и представляет собой простой, но эффективный инструмент для тестирования и устранения неполадок в конфигурациях серверов RADIUS.

Области применения radtest

  1. Проверка конфигурации аутентификации RADIUS
    • radtest позволяет администраторам проверить, правильно ли настроен сервер RADIUS для аутентификации пользователей, отправив тестовые учетные данные и проанализировав ответ сервера.
    • Об успешной аутентификации свидетельствует ответ Access-Accept, а о неудачной — Access-Reject.
  2. Тестирование различных сценариев аутентификации
    • Администраторы могут использовать radtest для моделирования различных сценариев, например с использованием разных имен пользователей, паролей или конфигураций клиентов, чтобы убедиться, что аутентификация работает должным образом.
    • Программа поддерживает отправку дополнительных атрибутов RADIUS, что позволяет проводить более сложные тесты, например проверку обработки атрибутов NAS-IP-Address или Framed-IP-Address, которые часто используются в VPN и Wi-Fi.
  3. Устранение проблем с конфигурацией RADIUS
    • При запуске в режиме отладки FreeRADIUS (freeradius -X) radtest предоставляет подробную информацию о том, как сервер обрабатывает запрос на аутентификацию.
    • Это помогает выявить проблемы с конфигурацией, такие как несовпадение общих секретов, неправильная настройка клиентов или проблемы с определенными методами аутентификации (например, EAP или PEAP).
  4. Проверка общих Секретов
    • У каждого клиента (например, точки доступа Wi-Fi или VPN-сервера) есть уникальный общий секретный ключ для сервера RADIUS. radtest помогает убедиться, что общие секретные ключи в файле clients.conf совпадают с ключами в файле clients.
  5. Тестирование RADIUS в различных сетевых средах
    • radtest работает как локально, так и удаленно, поэтому с его помощью можно проверить доступность сервера RADIUS из разных частей сети.

Синтаксис radtest

Базовый синтаксис команды radtest:

radtest [username] [password] [RADIUS-server-IP] [NAS-port] [shared-secret] [radius-auth-port]
  • username: имя пользователя, для которого требуется аутентификация.
  • password: пароль для указанного имени пользователя.
  • RADIUS-server-IP: IP-адрес сервера RADIUS (при локальном тестировании используйте 127.0.0.1).
  • NAS-port: порт NAS (сервера сетевого доступа), обычно устанавливается на 0 для тестирования.
  • shared-secret: общий секретный ключ, указанный в файле clients.conf для клиента, отправляющего запрос.
  • radius-auth-port: необязательно, по умолчанию используется порт 1812 (стандартный порт RADIUS для аутентификации).

Примеры

Простая проверка подлинности

Эта команда проверяет базовую аутентификацию пользователя на локальном сервере RADIUS:

radtest testuser testpassword 127.0.0.1 0 testing123

Пояснение:

  • testuser — имя пользователя.
  • testpassword — пароль.
  • 127.0.0.1 — адрес локального сервера.
  • 0 — NAS-порт (для тестирования).
  • testing123 — общий секретный ключ, указанный в файле clients.conf.

В случае успешного выполнения вы увидите сообщение Access-Accept. В случае неудачи вы увидите сообщение Access-Reject, указывающее на проблему с учетными данными или конфигурацией.

Проверка аутентификации на удаленном сервере RADIUS

Чтобы проверить аутентификацию на удаленном сервере RADIUS (например, по IP-адресу 192.168.1.100):

radtest alice mypassword 192.168.1.100 0 sharedsecret

Пояснение:

  • alice — имя пользователя.
  • mypassword — пароль для alice.
  • 192.168.1.100 — IP-адрес удаленного сервера RADIUS.
  • sharedsecret — общий секретный ключ в файле clients.conf сервера RADIUS для этого клиента.

Тестирование с использованием определенного порта аутентификации RADIUS

Если ваш сервер RADIUS прослушивает нестандартный порт (например, 18120):

radtest testuser testpassword 127.0.0.1 0 testing123 18120

Пояснение:

  • В качестве пользовательского порта RADIUS указан порт 18120, который заменяет стандартный порт 1812.

Тестирование с использованием атрибутов (NAS-IP-Address)

Вы можете включить дополнительные атрибуты RADIUS в команду radtest, добавив их после общего секрета. Например, чтобы включить NAS-IP-Address:

radtest testuser testpassword 127.0.0.1 0 testing123 nas-ip-address=192.168.1.1

Пояснение:

  • nas-ip-address=192.168.1.1 добавляет атрибут NAS-IP-Address, который может потребоваться для некоторых политик сервера RADIUS.

Тестирование с использованием атрибута Framed-IP-Address

Если вашему серверу RADIUS требуется атрибут Framed-IP-Address (например, для VPN):

radtest testuser testpassword 127.0.0.1 0 testing123 framed-ip-address=10.0.0.10

Пояснение:

  • framed-ip-address=10.0.0.10 добавляет атрибут Framed-IP-Address, который часто используется в сценариях VPN или доступа к сети.

Тестирование с помощью radtest в режиме отладки

Чтобы увидеть более подробный вывод, запустите radtest, пока FreeRADIUS работает в режиме отладки: ткройте другой терминал и запустите FreeRADIUS в режиме отладки:

freeradius -X

Запустите команду radtest. Например:

radtest testuser testpassword 127.0.0.1 0 testing123

Просмотрите отладочный вывод FreeRADIUS, чтобы увидеть подробную информацию об обработке аутентификации. Это поможет выявить проблемы с конфигурацией или несоответствия атрибутов.

Имитация неудачной аутентификации

Чтобы проверить, как сервер реагирует на неверные учетные данные, попробуйте ввести неправильное имя пользователя или пароль:

radtest invaliduser wrongpassword 127.0.0.1 0 testing123

Ответ Access-Reject означает, что сервер корректно обработал неверные учетные данные.

Использование radtest с несколькими запросами на аутентификацию

Чтобы имитировать несколько запросов на аутентификацию, можно использовать циклические команды radtest. Например, тестирование пользователя alice с 10 запросами:

for i in {1..10}; do radtest alice mypassword 127.0.0.1 0 testing123; done

Эта команда отправит 10 запросов на сервер RADIUS, что полезно для стресс-тестирования.

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

0 комментариев

Нет комментариев.