Настройка авторизации 802.1x с EAP

Все права защищены (c) 2001-2011 NetUP (www.netup.ru)
Перепечатка материалов разрешается только с предварительного разрешения
компании NetUP (info@netup.ru)
Настройка авторизации 802.1x с EAP

Сервер NetUPRADIUSподдерживает протокол аутентификации EAPсогласно RFC3579 и RFC3748. Основным методом авторизации является EAP-MD5.

В данном разделе будет рассмотрена организация доступа абонентов в сеть с использованием авторизации абонентов на портах управляемых коммутаторов. В качестве таких устройств были выбраны коммутатор CiscoCatalyst 2950Tс версией ПО 12.1(19)EA1c и коммутатор D-LinkDES-3226S. Совместная работа этих коммутаторов и биллинговой системы NetUPUTM 5 протестированы в компании НетАП.

Рисунок 1 Общая схема сети

Как видно по этому рисунку доступ в сеть регулируется на порту коммутатора, к которому подключен абонент. По умолчанию порт находится в неавторизованном состоянии т.е. обмен данным с сетью по этому порту невозможен, пока не будет пройдена авторизация. Авторизация в данной схеме осуществляется по логину и паролю. Эти данные абонент вводит в специальном окне выдаваемом операционной системой Windows после включения компьютера в сеть. Приглашение ввести логин и пароль обычно выдается в системном трее.

Рисунок 2 Приглашение ввести логин и пароль для авторизации в ОС Windows

Для тестирования были использованы Следующие версии ОС Windows:

WindowsXPSP2

Windows server 2003 SP1

В свойствах сетевого адаптера в Windowsнеобходимо указать, что будет использоваться протокол 802.1xи метод авторизации MD5-Challenge.

Рисунок 3 Настройки авторизации по протоколу 802.1xв Windows

До успешного прохождения авторизации компьютер абонента может обмениваться данными только с коммутатором. Далее коммутатор преобразуется пакеты в запросы согласно протоколу RADIUSи направляет их на NetUPRADIUS. Если авторизация прошла успешно, то данный порт на коммутаторе переводится в авторизованное состояние и абонент может работать в сети обычным образом.

В биллинговой системе Необходимо зарегистрировать абонента и подключить к нему услугу «Передача IP-трафика». Логин и пароль указываемые при подключении услуги используются абонентом для авторизации.

Указанные выше коммутаторы позволяют гибко настраивать параметры авторизации 802.1х. Рассмотрим настройку коммутатора на примере CiscoCatalyst 2950T.

Для включения авторизации по RADIUSнеобходимо указать:

!
aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
!

Для включения поддержки 802.1х необходимо указать:

!
dot1x system-auth-control
!

Настраиваем параметры доступа к RADIUSсерверу:

!
radius-server host 10.0.0.1 auth-port 1812 acct-port 1813
radius-server key testkey
!

Включения авторизации по протоколу 802.1х можно проводить выборочно на отдельных портах. Для этого необходимо в свойствах порта указать параметры:

!
interface FastEthernet0/1
switchport mode access
no ip address
dot1x port-control auto
dot1x host-mode multi-host
!

На этом конфигурация коммутатора окончена. Необходимо проверить прохождение авторизации. Для этого подключите компьютер абонента к порту коммутатора с настроенной авторизацией по 802.1х и введите зарегистрированные в биллинговой системы логин и пароль. При этом в лог-файле NetUPRADIUS сервера должна появляться информация о прохождении авторизации. Ниже приведен пример лог-файла при успешной авторизации. Незначащие строки в лог-файле удалены для облегчения восприятия.

Первая стадия авторизации:

?Debug : Jan 07 00:18:21 RADIUS Server Auth: User  connecting
?Debug : Jan 07 00:18:21 RADIUS Server Auth: EAP message detected without State.
State generated. Using it as session id for storing in sessions cache.
?Debug : Jan 07 00:18:21 RADIUS DBA: Info for login found. type
?Debug : Jan 07 00:18:21 RADIUS Server Auth: Auth scheme: EAP
ERROR : Jan 07 00:18:21 RADIUS Server Auth: EAP subsystem called. Supporting: EAP-MD5
?Debug : Jan 07 00:18:21 RADIUS Server Auth: EAP: Message-Authenticator verify success
?Debug : Jan 07 00:18:21 RADIUS Server Auth: EAP: Current state: 0
?Debug : Jan 07 00:18:21 RADIUS Server Auth: EAP Dump: eap code eap type eap size 4 (eap id 0)
?Debug : Jan 07 00:18:21 RADIUS Server Auth: EAP: Identity got
?Debug : Jan 07 00:18:21 RADIUS EAPState: Setting replay code to 'request', Type to 'auth_chap
(EAP-MD5 request)'
?Debug : Jan 07 00:18:21 RADIUS Server Auth: EAP: state challenge! Setting State
?Debug : Jan 07 00:18:21 RADIUS Server Auth: EAP: Reply send
?Debug : Jan 07 00:18:21 RADIUS Server Auth: EAP in progress! Storing session with id

Как видно на данном этапе NetUPRADIUS сервер получает запрос на авторизацию, генерирует CHAPChallenge для данной сессии и отсылает его обратно на адрес коммутатора. При этом RADIUSсервер сохраняет информацию по данной сессии. В дальнейшем она будет использована на второй стадии авторизации.

Вторая стадия авторизации:

?Debug : Jan 07 00:18:22 RADIUS Server Auth: User  connecting
?Debug : Jan 07 00:18:22 RADIUS Server Auth: Session for <test_1136582301_33> found in cache
?Debug : Jan 07 00:18:22 RADIUS Server Auth: Auth scheme: EAP
ERROR : Jan 07 00:18:22 RADIUS Server Auth: EAP subsystem called. Supporting: EAP-MD5
?Debug : Jan 07 00:18:22 RADIUS Server Auth: EAP: Message-Authenticator verify success
?Debug : Jan 07 00:18:22 RADIUS Server Auth: EAP: Current state: 3
?Debug : Jan 07 00:18:22 RADIUS Server Auth: EAP Dump: eap code eap type eap size 21 (eap id 1)
?Debug : Jan 07 00:18:22 RADIUS EAPState: Chap responce check success! Setting state to 'success'!
?Debug : Jan 07 00:18:22 RADIUS Server Auth: EAP: state success !
?Debug : Jan 07 00:18:22 RADIUS Server Auth: EAP: Reply send

Как видно на данном этапе получен ответ от абонента, в котором содержится результат работы хеш-функции, одним из входных данных для которой служит пароль абонента. NetUPRADIUSсервер проверяет корректность входных данных использованных для хеш-функции. Успешным результатом проверки является вывод о том, что пароль введенный абонентом соответствует паролю для данного абонента зарегистрированному в биллинговой системе. В этом случае NetUPRADIUSсервер передает коммутатору пакет с кодом ‘Access-Accept’, на основании которого абоненту открывается доступ в сеть. В случае неуспешной проверки NetUPRADIUSсервер передает коммутатору пакет с кодом ‘Access-Reject’ и доступ в сеть абоненту не предоставляется.

Дополнительная информация

RFC- 3579: ftp://ftp.rfc-editor.org/in-notes/rfc3579.txt

RFC- 3748: ftp://ftp.rfc-editor.org/in-notes/rfc3748.txt