Описание работы с API сервиса AUTH.AS по протоколу RADIUS

Для интеграции со сторонними сервисами, системами и веб-приложениями наш сервис предоставляет возможность воспользоваться Radius-протоколом для двухфакторной аутентификации пользователей. Обработка Radius-пакетов происходит по адресу console.auth.as. Рассмотрим набор параметров, которые необходимо передать в строке radius-пакета.

 

Техническое описание

В Radius-пакете необходимо передавать 2 обязательных параметра:

  • Параметр User-Name: этим параметром необходимо передавать username пользователя системы auth.as, который позволяет однозначно идентифицировать пользователя. Формат: буквы a-z, цифры 0-9,  символы - @ и .
  • Параметр Password: есть 2 варианта передачи параметра Password: с паролем пользователя и без него.
  1. (пароль пользователя + одноразовый пароль). Помимо самой проверки одноразового пароля, предварительно будет выполнена попытка аутентификации пользователя в выбранной системе (локальной или по протоколу LDAP в Active Directory) по username и password. В случае успеха будет выполнена проверка одноразового пароля. Одноразовый пароль добавляется сразу после основного пароля учётной записи пользователя.
  2. (только одноразовый пароль). Происходит проверка только лишь одноразового пароля без аутентификации пользователя в системе.
 

Ответы сервера

Сервер возвращает 2 стандартных типа ответа, в зависимости от успешности проверок, описанных в предыдущем разделе этой инструкции. В случае успешной проверки учётной записи и одноразового пароля наш Radius-сервер возвращает стандартный ответ “Access-Accept”.

В перечисленных ниже случаях всегда будет возврат ответа “Access-Reject”.

  • адрес, с которого пришёл пакет не найден в источниках;
  • не переданы обязательные параметры;
  • неправильный формат переданных параметров;
  • не удалось найти пользователя по его username;
  • пользователю не назначен токен;
  • компания/домен/пользователь/токен (любая из сущностей) заблокирован(а);
  • не удалось аутентифицировать пользователя в системе (если эта опция включена);
  • передан неверный одноразовый пароль.
 

Пример использования с помощью radclient

Если в настройках Источника включена опция “Radius отправляет пароль”. Попробуем осуществить проверку одноразового пароля для пользователя firstname.lastname@domain.tld, передав неправильный пароль пользователя или одноразовый пароль:

echo "User-Name=firstname.lastname@domain.tld,Password=password" | radclient -n1 -p 1 console.auth.as auth secret1 -x
 

Ответ от сервера:

Received Access-Reject packet from home server 31.40.96.50 port 1812 with invalid Response Authenticator!  (Shared secret is incorrect.)

Для верных логина и одноразового пароля:

Received response ID 153, code 2, length = 20