Книга: Документация NetAMS

Как работает

Как работает

Новые функции сосредоточены в:

поддержке авторизации через telnet–интерфейс и/или командную строку

модуле rlm_netams, расширяющего сервер FreeRADIUS

поддержке авторизации доступа к HTML–страницам через mod_auth_radius+новая команда сервиса html (опционально)

В качестве сервера доступа, используемого в качестве клиента нового механизма авторизации, проверялись pppoe+ppp (FreeBSD 5.3) и Windows 2003 RRAS. Таким образом, NeTAMS может успешно авторизовывать и контролировать трафик dialup–и pppoe–и прочих коммутируемых соединений, без необходимости дублировать логины/пароли/настройки в текстовых конфигах и базах данных.

Порядок работы с сервером доступа:

При поступлении запроса на соединение сервер доступа осуществляет проверку прав звонящего (логин/пароль) у радиус–сервера.

Радиус–сервер вызывает код модуля rlm_netams, который извлекает требуемые атрибуты из запроса аутентификации, формирует сообщение, и передает его работающему демону NeTAMS посредством Telnet API.

На основании полученного запроса демон NeTAMS разрешает или запрещает доступ. Если доступ разрешен, в сторону rlm_netams (т.е. радиус–сервера) передаются ряд атрибутов, в частности IP–адрес клиента и набор фильтров. Если сервер передал параметр «Caller–ID» (для PPPoE это МАС–адрес звонящего), и для юнита установлен параметр «mac …», будет проводиться дополнительный контроль и по этому признаку.

rlm_netams копирует ответ демона, формируя RADIUS–ответ для сервера доступа.

сервер доступа отвергает или принимает клиента, устанавливая необходимые параметры соединения.

Порядок работы при авторизации веб–доступа:

Сервис HTML генерирует статические HTML–страницы с данными о трафике, админскую часть и пользовательскую часть. При этом создаются также файлы .htaccess со списком «правильных» пользователей данного URI, файл паролей .htpasswd не поддерживается — заместо него в глобальном конфигурационном файле apache присутствуют записи о RADIUS–авторизации.

HTTP–клиент (бровзер) пытается обратиться к защищенному при помощи .htaccess ресурсу. Происходит запрос пароля (через код 401)

Apache вызывает модуль mod_auth_radius, сообщая тому логин–пароль клиента. Запрос на авторизацию передается радиус–серверу.

Радиус–сервер вызывает код модуля rlm_netams, который извлекает логин–пароль из запроса аутентификации, формирует сообщение, и передает его работающему демону NeTAMS посредством Telnet API.

На основании полученного запроса демон NeTAMS проверяет свою базу пользователей и юнитов, разрешает или запрещает доступ. Ответ пересылается в RADIUS–сервер.

rlm_netams копирует ответ демона, формируя RADIUS–ответ для Apache.

Apache пускает пользователя (бровзер) на страницу, или не пускает его.

Порядок работы при получении accounting пакетов (Start, Stop, Alive) радиус–сервером:

радиус–сервер вызывает код модуля rlm_netams, который извлекает требуемые атрибуты из пакета, формирует сообщение, и передает его работающему демону NeTAMS посредством Telnet API.

Если в пакете Start присутствует In Out, они записываются as–is, если для юнита типа user в пакете присутствует Framed–IP–Address, этот IP–адрес будет установлен данному юниту.

Если в пакете Stop присутствует In Out, они записываются incremental, для юнита типа user IP–адрес обнуляется.

При поступлении пакета Alive, данные In Out записываются incremental.

Если в любом из трех пакетов присутствует Filter–ID=Policy данные будут записаны в эту политику.

Оглавление книги


Генерация: 0.058. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз