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

image

Рис. 8.5 Конфигурация сети

Шаг 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