8.10. Настройка dot1x (IEEE 802.1х)
Назначение
Инфраструктура локальной вычислительной сети не всегда допускает возможность физического контроля портов доступа, что несет потенциальные риски подключения устройств и пользователей, не обладающих авторизацией на доступ к информационным ресурсам организации.
IEEE 802.1X предназначен для дополнительного контроля доступа к инфраструктуре в подобных ситуациях.
Описание
Стандарт IEEE 802.1X описывает протокол контроля доступа, который ограничивает возможности неавторизованных пользователей и устройств. Сервер аутентификации изучает каждый запрос на подключение перед тем, как разрешить доступ к сервисам, предоставляемым сетевой инфраструктурой. До тех пор, пока пользователь не аутентифицировался, он может использовать только протокол EAPoL (англ. Extensible Authentication Protocol Over LAN) и, только после успешной аутентификации, весь остальной трафик сможет проходить через порт коммутатора, к которому подключен данный пользователь.
В стандарте 802.1X устройства в сети имеют следующие роли:
Клиент: устройство, которое запрашивает доступ к ресурсам локальной сети и взаимодействует с коммутатором. На устройстве должно быть установлено клиентское программное обеспечение, поддерживающее взаимодействие в соответствии со стандартом 802.1X (supplicant).
Сервер аутентификации: выполняет аутентификацию клиента. Сервер аутентификации проверяет данные клиента и уведомляет коммутатор о наличии у клиента прав доступа к ресурсам локальной сети. Коммутатор выступает в роли посредника между клиентом и сервером аутентификации. В настоящей реализации единственным поддерживаемым сервером аутентификации является RADIUS с расширениями EAP. RADIUS работает по модели клиент/сервер, в которой информация об аутентификации передается между сервером RADIUS и одним или несколькими клиентами RADIUS.
Коммутатор: контролирует физический доступ к сети на основе статуса аутентификации клиента. Коммутатор выступает в роли посредника между клиентом и сервером аутентификации, запрашивая у клиента идентификационную информацию, проверяя ее на сервере аутентификации и передавая ответ клиенту. На коммутаторе реализован сервис, который отвечает за инкапсуляцию и декапсуляцию фреймов EAP и взаимодействие с сервером аутентификации. Когда коммутатор получает фреймы EAPoL и передает их на сервер аутентификации, исходный заголовок Ethernet удаляется, а оставшаяся часть EAP инкапсулируется в сообщение RADIUS. Фреймы EAP не изменяются и не проверяются во время инкапсуляции, сервер аутентификации должен поддерживать EAP в исходном формате фрейма. Когда коммутатор получает ответ от сервера аутентификации, заголовок Radius удаляется, EAP инкапсулируется в Ethernet и отправляется клиенту.
Dot1x может быть включен на L3-интерфейсе, порте доступа и гибридном порте.
Подробная информация содержится в IEEE 802.1x-2004.
Настройка
Базовая настройка dot1x

Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Включение dot1x
Switch(config)# dot1x system-auth-ctrl
Шаг 3: Настройка порта, включение dot1x на порте
Switch(config)# interface eth-0-25
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x port-control auto
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface vlan 1
Switch(config-if)# ip address 192.168.100.1/24
Switch(config-if)# exit
Примечание
VLAN, в которую попадает сетевое устройство после аутентификации может быть настроена статически или динамичеки.
Cтатическая настройка выполняется при помощи команды конфигурации порта switchport access allowed vlan add
.
Динамическая настройка выполняется при помощи сервера RADIUS. Для успешного завершения динамической настройки должна быть предварительно создана соответствующая VLAN.
Если соответствующая VLAN не была создана, устройство попадает в auth-fail-VLAN. Если auth-fail-VLAN не была настроена, устройство попадает в Guest VLAN. Если Guest VLAN не была настроена, устройству будет запрещен доступ к сети.
Шаг 4: Настройка порта, настройка сервера Radius
Switch(config)# interface eth-0-26
Switch(config-if)# no switchport
Switch(config-if)# ip address 202.38.100.1/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# radius-server host 202.38.100.7
Switch(config)# radius-server host 2001:1000::1
Switch(config)# radius-server key test
Switch(config)# exit
Шаг 5: Выход из режима “Global config”
Switch(config)# end
Шаг 6: Проверка
Switch# show dot1x
802.1X Port-Based Authentication Enabled
RADIUS server address: 2001:1000::1:1812
Next radius message ID: 0
RADIUS server address: 202.38.100.7:1812
Next radius message ID: 0
Switch# show dot1x interface eth-0-25
802.1X info for interface eth-0-25
portEnabled : true
portControl : Auto
portMode : Port based
portStatus : Authorized
Mac Auth bypass : disabled
reAuthenticate : disabled
reAuthPeriod : 3600
Max user number : 255
Current session number : 1
Accept user number : 1
Reject user number : 0
Guest VLAN : N/A
Assign VLAN : N/A
QuietPeriod : 60
ReqMax : 2
TxPeriod : 30
SuppTimeout : 30
ServerTimeout : 30
CD: adminControlledDirections : in
CD: operControlledDirections : in
CD: bridgeDetected : false
========================================
session 1: 1 - 0058.3f00.0001
----------------------------------------
user name : admin
abort:F fail:F start:F timeout:F success:T
PAE: state: Authenticated - portMode: Auto
PAE: reAuthCount: 0 - rxRespId: 0
BE: state: Idle - reqCount: 0 - idFromServer: 5
Включение dot1x на L3-интерфейсе
В примере выше описано включение функции dot1x на порте доступа. Данная функция также может быть включена на L3-интерфейсе. В примере ниже показано, как включить L3-интерфейс на порте “eth-0-25” и активировать dot1x.
Switch(config)# interface eth-0-25
Switch(config-if)# no switchport
Switch(config-if)# ip address 192.168.100.1/24
Switch(config-if)# dot1x port-control auto
Switch(config-if)# no shutdown
Switch(config-if)# exit
Использование принудительного режима
Режим управления портом dot1x может быть принудительно авторизованным или принудительно неавторизованным.
Можно выбрать режим управления портом: принудительно авторизованный, принудительно неавторизованный или автоматический. Последняя конфигурация имеет приоритет над предыдущей.
Принудительно авторизованный:
Switch(config)# interface eth-0-25
Switch(config-if)# dot1x port-control force-authorized
Switch(config-if)# exit
Принудительно неавторизованный:
Switch(config)# interface eth-0-25
Switch(config-if)# dot1x port-control force-unauthorized
Switch(config-if)# exit
Включение учета dot1x
Учет dot1x предназначен для сбора статистики использования сети после аутентификации пользователя. По умолчанию учет dot1x отключен.
Включение учета:
Switch(config)# dot1x accounting-mode radius
Коммутатор отправляет запрос на запуск учета на сервер после аутентификации пользователя, если не получен соответствующий ответ, действует в соответствии с настройками политики start-fail:
Online - сбой службы учета не будет влиять на возможность пользователей выхода в сеть.
Offline - при сбое службы учета пользователям будет отказано находиться в сети.
Switch(config)# dot1x accounting start-fail online
Можно настроить учет в реальном времени. Для такого способа коммутатор периодически отправляет сообщения учета на сервер. Сервер ведет учет только после получения сообщения, подобная схема позволяет снизить риск ситуации с недостоверной статистикой, если было пропущено уведомление об окончании сессии учета для данного клиента.
Также можно настроить максимальную длительность сессии учета в реальном времени при отсутствии сообщений и действия при сбое учета реального времени. По умолчанию максимальное количество сообщений без получения подтверждения равно 3, также, по умолчанию, пользователю разрешено находиться в сети после сбоя учета в реальном времени.
Switch(config)# dot1x accounting realtime 60
Switch(config)# dot1x accounting interim-fail max-times 2 offline
Дополнительные параметры dot1x
Дополнительные параметры MAB
На dot1x-порте может быть включен MAB. Подробное описание настройки MAB см. в главе “Настройка MAB”. Команда для включения MAB на порте:
Switch(config-if)# dot1x mac-auth-bypass
Настройка метода аутентификации “MAB” в качестве приоритетного:
Switch(config-if)# dot1x set-priority mab
Настройка метода аутентификации “dot1x” в качестве приоритетного:
Switch(config-if)# dot1x set-priority dot1x
Примечание
Команда dot1x set-priority
предоставляет возможность клиенту использовать оба метода аутентификации: “dot1x” и “MAB”, вследствие чего повышается надежность процедуры аутентификации.
Аутентификация начинается с приоритетного метода, переключение на другой метод происходит после истечения таймера (команда dot1x timeout tx-period
).
Для применения настройки на порте должен быть включен MAB (команда dot1x mac-auth-bypass
).
Дополнительные параметры VLAN
На dot1x-порте может быть настроена гостевая VLAN. Подробное описание настройки гостевых VLAN см. в главе “Настройка гостевой VLAN”. Команда для включения гостевой VLAN на порте:
Switch(config-if)# dot1x guest vlan 20
На dot1x-порте может быть настроена auth-fail-VLAN. В данную VLAN попадают устройства, не прошедшие аутентификацию. Команда для включения auth-fail-VLAN на порте:
Switch(config-if)# dot1x auth-fail-vlan 21
На dot1x-порте может быть настроена critical-VLAN. В данную VLAN попадают устройства, аутентификация которых не состоялась по причине недоступности сервера RADIUS. Команда для включения critical-VLAN на порте:
Switch(config-if)# dot1x critical-vlan 22
Установка VLAN по умолчанию для порта, работающего в гибридном режиме:
Switch(config-if)# switchport hybrid vlan 4
Дополнительные параметры времени
Таймер повторной активации сервера RADIUS. Устанавливает время ожидания перед повторной отправкой сообщения, если от сервера RADIUS не получен ответ:
Switch(config)# radius-server deadtime 10
Установка максимального количества неудачных запросов RADIUS, отправленных на сервер:
Switch(config)# radius-server retransmit 5
Установка значения таймаута при отсутствии ответа от сервера RADIUS:
Switch(config)# radius-server timeout 10
Дополнительные параметры интерфейса
VoIP-устройства могут автоматически добавляться в голосовую VLAN после успешной аутентификации. Для этого необходимо настроить порт в гибридный режим работы:
Switch(config-if)# switchport mode hybrid
Настройка количества попыток повторной аутентификации перед тем, как стать неавторизованным:
Switch(config-if)# dot1x max-req 5
Установка версии протокола:
Switch(config-if)# dot1x protocol-version 1
Настройка периода покоя в состоянии HELD:
Switch(config-if)# dot1x quiet-period 120
Настройка повторной аутентификации на порте:
Switch(config-if)# dot1x reauthentication
Настройка времени в секундах между попытками повторной авторизации:
Switch(config-if)# dot1x timeout re-authperiod 1800
Настройка таймаута ответа сервера аутентификации:
Switch(config-if)# dot1x timeout server-timeout 60
Настройка таймаута ответа супликанта (пользовательского устройства):
Switch(config-if)# dot1x timeout supp-timeout 60
Настройка времени в секундах между последовательными попытками запроса ID:
Switch(config-if)# dot1x timeout tx-period 60
Включение dot1x handshake с клиентом на порте, указав период handshake:
Switch(config-if)# dot1x handshake
Switch(config-if)# dot1x timeout handshake-period 1