Назад | Перейти на главную страницу

сервер freeradius добавляет дополнительную проверку

Мне успешно удалось развернуть сервер freeradius и создать скрипт python, который выполняет дополнительную проверку пользователя (входящий запрос). Я проверил Интернет (ресурсы для freeradius довольно ужасны) и нашел только ветку, в которой объясняются некоторые основы добавления скрипта Python в процесс.

Прямо сейчас он у меня внутри / etc / freeradius / sites-enabled / default под authorize раздел:

update control {
       Auth-Type := `/usr/bin/python /etc/test.py '%{User-Name}' '%{User-Password}'`
}

Мой test.py файл плевок Reject или Accept. у меня тоже есть sql настройка аутентификации с помощью freeradius, и проблема в том, что если мой скрипт вернется Accept любой другой запрос авторизации игнорируется; ответ по-прежнему будет Accept даже если sql проверка отклоняет пользователя.

Насколько я понимаю, я должен пройти noop вместо того Accept чтобы позволить свободному радиусу продолжать и только проходить Reject если мне нужно отклонить пользователя, но если я отвечу noop сервер жалуется.

Любые идеи? Может мне нужно добавить свой код в Authentication. раздел? Как?

... если мой скрипт возвращает Accept, любой другой запрос авторизации игнорируется

Да. Так задумано. Вы говорите FreeRADIUS принять этого пользователя. Он не будет беспокоиться ни о чем другом в вашем разделе авторизации. Я считаю, что вы правы в том, что хотите, чтобы ваш сценарий возвращал noop вместо Accept если вы хотите, чтобы вместе с ним использовались другие методы авторизации.

Вам следует просмотреть не язык manpage, если вы еще этого не сделали, а также справочную страницу rlm_python. Также читайте все комментарии в файлах конфигурации.

Вы не указали, что вы пытаетесь заставить FreeRADIUS делать на концептуальном уровне, поэтому я не совсем уверен, что вам посоветовать. Однако у меня были отличные результаты со списком рассылки FreeRADIUS-Users. Его часто посещают разработчики и многие люди, глубоко разбирающиеся в FreeRADIUS и его возможностях. Я бы прочитал их часто задаваемые вопросы перед публикацией (пользователи, которых не часто забанят), опишу, что вы хотите сделать как на широком, концептуальном уровне, так и на уровне реализации (как вы это сделали здесь), и обязательно отправлю весь ваш вывод отладки.

Причина, по которой я предлагаю вам перейти в список рассылки, состоит в том, что я подозреваю, что есть лучший способ достичь ваших целей, но я недостаточно знаком с rlm_python, чтобы предлагать дальнейшие шаги. Тем не менее, использование правил unlang для вызова скрипта python не кажется правильным ...