7.10. Настройка dot1x (802.1X)

Назначение

Локальные сети IEEE 802 часто развертываются в средах, которые допускают физическое подключение неавторизованных устройств к инфраструктуре локальной сети, или разрешают неавторизованным пользователям пытаться получить доступ к локальной сети через уже подключенное оборудование.

Dot1x предназначен для настройки аутентификации пользователей в подобных сетях.

Описание

Контроль сетевого доступа на основе портов использует характеристики физического доступа к инфраструктуре локальных сетей IEEE 802, чтобы обеспечить средства аутентификации и авторизации устройств, подключенных к порту локальной сети, который имеет характеристики соединения “точка-точка”, и предотвращения доступа к этому порту в случаях, когда процесс аутентификации и авторизации не удается.

При аутентификации на основе портов 802.1X устройства в сети имеют следующие роли:

  • Клиент: устройство (ПК), которое запрашивает доступ к услугам локальной сети и коммутатора и отвечает на запросы коммутатора. На ПК должно быть установлено клиентское программное обеспечение с поддержкой стандарта 802.1X.

  • Сервер аутентификации: выполняет аутентификацию клиента. Сервер аутентификации проверяет данные клиента и уведомляет коммутатор о наличии у клиента прав доступа к локальной сети и службам коммутатора. Поскольку коммутатор выступает в роли прокси, служба аутентификации прозрачна для клиента. В настоящей реализации единственным поддерживаемым сервером аутентификации является система безопасности RADIUS с расширениями EAP. RADIUS работает по модели клиент/сервер, в которой безопасная информация об аутентификации передается между сервером RADIUS и одним или несколькими клиентами RADIUS.

  • Коммутатор: контролирует физический доступ к сети на основе статуса аутентификации клиента . Коммутатор выступает роли прокси между клиентом и сервером аутентификации, запрашивая у клиента идентификационную информацию, проверяя ее на сервере аутентификации и передавая ответ клиенту. На коммутаторе реализован клиент RADIUS, который отвечает за инкапсуляцию и декапсуляцию кадров EAP и взаимодействие с сервером аутентификации. Когда коммутатор получает кадры EAPOL и передает их на сервер аутентификации, заголовок Ethernet удаляется, а оставшийся кадр EAP повторно инкапсулируется в формат RADIUS. Кадры EAP не изменяются и не проверяются во время инкапсуляции, сервер аутентификации должен поддерживать EAP в исходном формате кадра. Когда коммутатор получает кадры от сервера аутентификации, заголовок кадра сервера удаляется, и кадр EAP инкапсулируется в кадр Ethernet и отправляется клиенту.

Dot1x может быть включен на маршрутизирующем порту и порту доступа.

Для получения более подробной информации см. IEEE Std 802.1X-2004.

Настройка

Базовая настройка dot1x

image

Рис. 7.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

Шаг 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 на маршрутизирующем порте

В примере выше описано включение функции dot1x на порте доступа. Данная функция также может быть включена на маршрутизирующем порте. В примере ниже показано, как изменить порт “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

Дополнительные параметры времени

Таймер для сервера Radius. Установка времени ожидания для повторной активации сервера RADIUS:

Switch(config)# radius-server deadtime 10

Установка максимального количества неудачных запросов RADIUS, отправленных на сервер:

Switch(config)# radius-server retransmit 5

Установка значения таймаута при отсутствии ответа от сервера RADIUS:

Switch(config)# radius-server timeout 10

Дополнительные параметры интерфейса

Можно указать количество попыток повторной аутентификации перед тем, как стать неавторизованным:

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