Структура взаимодействия основных частей модуля DialUp изображена на рисунке.
(Network Access Server) - сервер, через который происходит выход клиента в интернет.
В роли NAS может выступать как специализированное оборудование (Cisco, Huawey), так и обычные компьютеры с модемами, либо с программой поддержки VPN.
Основное назначение NAS - осуществлять доступ пользователей к внешней сети, при этом может происходить туннелирование трафика пользователя (VPN), преобразование протокола канального уровня (PPP -> Ethernet) и другие преобразования.
NAS посылает на RADIUS-сервер два типа запросов: авторизационные (запросы с просьбой установки соединения, содержащие логин и пароль) и запросы аккаунта (уведомительные, содержат информацию о начале - Start - или окончании - Stop - соединения, а также о протекании хода соединения - Update).
Базовые сведения о протоколе RADIUS и конфигурировании атрибутов.
Протокол RADIUS основан на UDP, представляет из себя пакет определённого типа с набором атрибутов. Рассмотрим ход типового соединения по логу RADIUS запросов (radius.log):
INFO 17.01.2008 05:37:49 AUTH: Type=AUTHENTICATION_REQUEST Attributes: User-Name=1579 NAS-Identifier=drs1.igs.ufanet.ru CHAP-Password=^ï.Â.ÆÉ .î麪 «Ó^ NAS-IP-Address=89.189.150.67 NAS-Port=1 Service-Type=2 Framed-Protocol=1 Calling-Station-Id=10.47.33.2 NAS-Port-Type=5 CHAP-Challenge=»^hÃãs&{{2Êi ñÓÕ½åH°vÛÝc^bô..é`¬¯¸o.+.^§ INFO 17.01.2008 05:37:49 RESPONSE: Type=AUTHENTICATION_ACCEPT Process time:113 Attributes: Service-Type=2 Framed-Protocol=1 Framed-IP-Address=89.189.151.3 mpd-limit=out#1=all shape 128000 pass mpd-limit=in#1=all rate-limit 10000000 pass mpd-limit=in#1=all rate-limit 10000000 pass INFO 17.01.2008 05:37:49 ACCOUNT: Type=ACCOUNTING_REQUEST Attributes: User-Name=1579 NAS-Identifier=drs1.igs.ufanet.ru NAS-IP-Address=89.189.150.67 NAS-Port=1 Service-Type=2 Framed-Protocol=1 Framed-IP-Address=89.189.151.3 Acct-Status-Type=1 Acct-Session-Id=530269-p0001 Acct-Authentic=1 Acct-Link-Count=1 Acct-Multi-Session-Id=530269-p0001 NAS-Port-Type=5 Calling-Station-Id=10.47.33.2 INFO 17.01.2008 05:37:49 RESPONSE: Type=ACCOUNTING_RESPONSE Attributes: INFO 17.01.2008 05:47:49 ACCOUNT: Type=ACCOUNTING_REQUEST Attributes: User-Name=1579 NAS-Identifier=drs1.igs.ufanet.ru NAS-IP-Address=89.189.150.67 NAS-Port=1 Service-Type=2 Framed-Protocol=1 Acct-Input-Octets=1250 Framed-IP-Address=89.189.151.3 Acct-Output-Octets=1327 Acct-Status-Type=3 Acct-Session-Time=600 Acct-Input-Packets=56 Acct-Session-Id=530269-p0001 Acct-Authentic=1 Acct-Link-Count=1 Acct-Multi-Session-Id=530269-p0001 Acct-Output-Packets=56 Acct-Output-Gigawords=0 Acct-Input-Gigawords=0 NAS-Port-Type=5 Calling-Station-Id=10.47.33.2 INFO 17.01.2008 05:47:49 RESPONSE: Type=ACCOUNTING_RESPONSE Attributes: ... INFO 17.01.2008 18:22:16 ACCOUNT: Type=ACCOUNTING_REQUEST Attributes: User-Name=1579 NAS-Identifier=drs1.igs.ufanet.ru NAS-IP-Address=89.189.150.67 NAS-Port=1 Service-Type=2 Framed-Protocol=1 Acct-Input-Octets=59455380 Framed-IP-Address=89.189.151.194 Acct-Output-Octets=75469553 Acct-Status-Type=2 Acct-Session-Time=39570 Acct-Input-Packets=159904 Acct-Session-Id=536566-p0001 Acct-Authentic=1 Acct-Link-Count=1 Acct-Multi-Session-Id=536566-p0001 Acct-Terminate-Cause=6 Acct-Output-Packets=140465 Acct-Output-Gigawords=0 Acct-Input-Gigawords=0 NAS-Port-Type=5 Calling-Station-Id=10.47.33.2 INFO 17.01.2008 18:22:16 RESPONSE: Type=ACCOUNTING_RESPONSE Attributes:
Каждый пакет содержит информацию о NASе (
и/или ), на основании которой RADIUS-сервер сопоставляет пришедший пакет NASу в модуле. При сопоставлении сначала производится поиск NASа с названием, идентичным атрибуту пакета, затем, если результат отрицательный, идёт поиск NASа c IP-адресом, равным . Если пришедшему пакету NAS не сопоставлен в , выводится ошибка .Обмен сообщениями с каждым NASом шифруется определённым кодовым словом - секретом. Секрет должен совпадать для NASа в биллинге и для конфигурации самого NASа. При несовпадении секретов проверка пароля будет все время выдавать неверный результат, т.к. секрет используется при шифровании пароля.
Идентификатором соединения в пределах NASа для RADIUS-сервера выступает атрибут
. Обратите внимание, что он идентичен для всех пакетов в пределах сессии. NAS должен контролировать, чтобы в один момент времени одинаковый не проставлялся в RADIUS пакетах, относящихся к разным сессиям.Далее рассмотрим попакетно обмен данными между NASом и RADIUS-сервером по ходу соединения.
1.
Запрос авторизации отправляется NASом RADIUS-серверу и содержит помимо идентификационной информации соединения, указанной выше, информацию о логине и пароле пользователя. Логин передаётся в открытом виде, пароль шифруется. Поддерживаются протоколы шифрования PAP, CHAP, MS-CHAP v.2 с генерацией 128 битных MPPE ключей. Протокол авторизации определяется RADIUS-сервером автоматически на основании набора атрибутов.
Протокол PAP является самым ненадёжным, пароль шифруется обратимым способом с помощью секрета. RADIUS-сервер дешифрует его и сравнивает с паролем, указанным для логина в базе данных. Данный режим авторизации можно использовать для проверки секретов. При некорректном секрете пароль в PAP режиме не расшифровывается и отображается в
и в мониторе ошибок не в том виде, в котором был введён пользователем.Протоколы CHAP, MS-CHAP v.2 поддерживают необратимое шифрование, когда RADIUS-сервер сравнивает не открытый пароль, а результаты криптопреобразований открытого пароля, выполненного им самим и NASом.
MPPE ключи, передаваемые в
пакете в режиме MS-CHAP v.2 авторизации, могут использоваться NASом для шифрования VPN-туннеля пользователя.Порядок обработки авторизационного пакета следующий: запрос -> скрипт предобработки -> антиспам (блокировка) -> биллинг (проверка наличия логина/пароля, баланса и т.д.) -> штатный Reject-To-Accept -> обработка события "RADIUS-аутентификация" -> антиспам (сбор статистики) -> ответ.
2.
Отказ в авторизации, данный пакет не содержит атрибутов. Детальную причину отказа в авторизации пользователя можно посмотреть в
в режиме ошибок.3.
Пользователь авторизован. В данном пакете могут содержатся атрибуты, устанавливающие характеристики соединения пользователя (IP адрес, скорость, максимальную длину сессии, частоту UPDATE пактов и т.п.).
4.
Запросы аккаунтинга могут быть трёх типов:
, , . Различаются они атрибутом , который равен 1, 2 или 3 соответственно. Данный тип запросов передаёт на RADIUS-сервер информацию о ходе соединения (соединение началось, завершилось или текущее состояние соединения).5.
Ответ RADIUS сервера о том, что он получил запрос аккаунтинга. Ответ не содержит никаких атрибутов. Исключение составляет ответ MPD серверу, который может содержать атрибут, информирующий NAS о необходимости разрыва соединения.