Freeradius и внешняя аутентификация сценария с CHAP / MS-CHAP

Я использую Freeradius для аутентификации пользователей с помощью внешнего скрипта, как показано Вот, который возвращает Принять или Отклонить, когда передал пару имени пользователя и пароля.

authorize{
update control {
Auth-Type := `/usr/bin/php -f /etc/raddb/yourscript.php '%{User-Name}' '%{User-Password}' '%{Client-IP-Address}'`
}

Это работает правильно, как и ожидалось, когда клиент использует PAP. Пароль отправляется в %{User-Password},

Однако при использовании CHAP или MS-CHAP это не работает, так как %{User-Password} остается пустым.

Как я могу получить незашифрованный пароль для отправки в мой сценарий? В качестве альтернативы, есть ли другой способ поддержки CHAP / MS-CHAP?

3

Решение

%{CHAP-Password} поле содержит хэш пароля и вызов, который является магическим числом.

%{CHAP-Challenge} поле содержит вызов, используемый в этом сеансе.

Хотя вы не можете получить простой текстовый пароль от этого простым способом в реальном времени, если у вас есть открытый текстовый пароль, вы можете хешировать его с помощью CHAP-Challenge, как показано Вот используя md5. Это должно быть равно вашему значению CHAP-пароля.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]