Данный способ авторизации применим к сетевым устройствам, которые не имеют встроенного суппликанта (устройства) и не поддерживают EAPLOL/802.1X протоколы, позволяющие проводить авторизацию на основе учетных данных (PEAP) или TLS-сертификата (EAP-TLS). Например, это могут быть старые ноутбуки, принтеры, IP-телефоны, видеокамеры, телевизоры, системы СКУД, датчики, ИБП и прочее.

MAC Bypass или MAC-авторизация полагается только на МАС-адрес устройства, который передается в открытом виде. Такой адрес можно легко подслушать или подменить. Поэтому данная авторизация имеет слабую защиту (практически незащищена), и ее применение возможно только при реализации изолирующих мер (ACL, VLAN ID и т.п.) так, чтобы потенциальный злоумышленник не причинил вред вашей организации.

Аутентификатором (проверяющим подключение) является коммутатор ЛВС или контроллер БЛВС по протоколу RADIUS, взаимодействующий с сервером системы WNAM и осуществляющий проверку МАС-адреса с назначением установленных администратором атрибутов авторизации на сессию подключения. Процесс данного вида аутентификации представлен на рисунке.

 

Для настройки этого метода необходимо создать, как минимум, по одному правилу аутентификации и авторизации, а также при необходимости дополнительно настроить профили устройств, разрешить MAC Bypass на площадке и настроить используемое оконечное оборудование (коммутатор или контроллер). Правила (профили) аутентификации и авторизации, поддерживающие MAC Bypass, создаются автоматически при запуске системы WNAM, если таблица правил пуста. Правило аутентификации должно содержать, как минимум, указание на тип соединения (проводной/беспроводной), метод PAP и сведения о МАС-адресе (Известен и валиден, Не известен,Просрочен/не валиден). Для настройки правил аутентификации следует перейти в раздел "Конфигурация" → "Правила аутентификации".

При желании можно создать профиль устройства (таблицу МАС-адресов, адреса по маске, по вендору и т.п.), как описано в разделе "Группы МАС-адресов" (здесь), и применить его к этому правилу. Правило авторизации должно содержать ссылку на это правило аутентификации и опционально применять VLAN или загружаемый ACL.

На логической площадке, где подразумеваются эти подключения, в разделе "Ограничения" ("Конфигурация" → "Площадки") необходимо разрешить прозрачные первые и последующие сессии, т.е. срабатывание доступа без предварительной портальной авторизации эндпоинта.

Настройка сетевого устройства производится штатно в соответствии с документацией вендора. Далее представлен пример настройки IOS на Catalyst 2960:

aaa new-model
!
aaa authentication dot1x default group radius
aaa authorization network default local group radius
aaa accounting dot1x default start-stop group radius
aaa accounting network default start-stop group radius
dot1x system-auth-control
!
interface FastEthernet0/2
description LAN test port
switchport mode access
authentication order mab
authentication port-control auto
mab
spanning-tree portfast
!
radius-server attribute 67 include-in-access-req
radius-server attribute 66 include-in-access-req
radius-server host 172.16.130.5 auth-port 1812 acct-port 1813 key 7 00131D07096419070B28595D
radius-server vsa send cisco-nas-port
radius-server vsa send accounting
radius-server vsa send authentication

Пример настройки для беспроводного контроллера Cisco CL-9800.

При подключении сетевого устройства произойдет проверка правил, аутентификация (без дополнительных проверок), авторизация (например, назначение VLAN), и начнется аккаунтинг (подсчет трафика):

13:52:31.972 TRACE [ASession.java:141] - log [1] fillFromRadiusAttributes - identity: '28:D2:44:95:B7:A4', portType: EthernetMAB
13:52:31.973 TRACE [ASession.java:141] - log [2] fillFromRadiusAttributes - password: present in request
13:52:31.981 TRACE [ASession.java:141] - log [3] fillFromRadiusAttributes - nas: 'bbmvbnmb', id: 6347199c4c527f65b0e29cc2, vendor: LANSW [enabled]
13:52:31.981 TRACE [ASession.java:141] - log [4] fillFromRadiusAttributes - nas: IP address: 172.16.130.38, identifier: 'null', port: 'FastEthernet0/2'
13:52:31.982 TRACE [ASession.java:141] - log [5] fillFromRadiusAttributes - ap: '18:9C:5D:93:47:82', ssid: ''
13:52:31.988 TRACE [ASession.java:141] - log [6] fillFromRadiusAttributes - site: 'R20 LAN', id: 3 [enabled]
13:52:31.988 TRACE [ASession.java:141] - log [7] fillFromRadiusAttributes - session id: 'AC1088020000006C0A40A71D'
13:52:31.989 DEBUG [DeviceProfileManager.java:71] - matchProfile mac=28:D2:44:95:B7:A4, from_cache=no
13:52:31.998 TRACE [ASession.java:141] - log [8] matchDeviceProfiles - no profiles matched
13:52:32.005 TRACE [ASession.java:141] - log [9] findOrCreate - a1profiles candidates: 11, a2profiles candidates: 17
13:52:32.017 TRACE [ASession.java:141] - log [12] filterForSource - wired, check port type: EthernetMAB, matched: 'MAC bypass'
13:52:32.020 TRACE [ASession.java:141] - log [17] filterForWLAN - a1profiles candidates: 2 for wlan '' (ID=null)
13:52:32.022 TRACE [ASession.java:141] - log [18] newRadiusFrame - Frame type: PAP, Frame ID: 1, RADIUS EAP State: -
13:52:32.024 TRACE [ASession.java:141] - log [19] filterForA1Method - a1profiles candidates: 2 for method PAP (removed 0), checkForAdIdentity=false
13:52:32.027 TRACE [ASession.java:141] - log [20] filterForPapMacMethod - MAC state: exist: true, expired: false
13:52:32.027 TRACE [A12Service.java:1076] - filterForPapMacMethod profile 'List1 mac test', pass_profile=false
13:52:32.027 TRACE [A12Service.java:1076] - filterForPapMacMethod profile 'MAC bypass', pass_profile=true
13:52:32.027 TRACE [ASession.java:141] - log [21] filterForPapMacMethod - a1profiles candidates: 1, removed due to MAC auth state: 0, due to device profile mismatch: 1, due to failed local user: 0, due to failed AD user: 0, total: 1)
13:52:32.029 TRACE [ASession.java:141] - log [22] filterForPapMacMethod - candidate: 'MAC bypass', prio: 30, properties: Any, PAP → Allow
13:52:32.047 DEBUG [WnamCmdService.java:1315] - AUTH transparent first session MAC=28:D2:44:95:B7:A4, NAS_IP=172.16.130.38, back=0 s., counter=0, PERMIT
13:52:32.048 TRACE [ASession.java:141] - log [23] authentication - a1profiles candidates: 1 with preliminary processing result: RadiusResponse [state=OK, attributes=[]]
13:52:32.048 TRACE [ASession.java:141] - log [24] authentication - candidate[1] 'MAC bypass', prio=30, properties: Any, PAP → Allow
13:52:32.048 TRACE [ASession.java:141] - log [25] authentication - final result: Allow with policy 'MAC bypass' and tag 'null'
13:52:32.053 TRACE [ASession.java:141] - log [26] authorization - a2profiles candidates: 17
13:52:32.056 TRACE [ASession.java:141] - log [37] authorization - candidate[11] 'Все пользователи в VLAN 127 MAB', prio=45, properties: [MAC bypass]: Allow → Accept
13:52:32.071 TRACE [ASession.java:141] - log [54] authorization - final result: Accept with policy 'Все пользователи в VLAN 127 MAB'
13:52:32.074 TRACE [ASession.java:141] - log [55] authorization - add attribute: VLAN ID='127'
13:52:32.075 TRACE [ASession.java:141] - log [56] createMacCustomer - create customer entry, MAC=28:D2:44:95:B7:A4
13:52:32.079 TRACE [ASession.java:141] - log [57] portinfo - NAS '172.16.130.38 c2960 bbmvbnmb' port FastEthernet0/2 updated
13:52:32.088 TRACE [ASession.java:141] - log [58] radius - send RADIUS ACCEPT with 3 attributes
13:52:32.088 TRACE [ASession.java:141] - log [59] radius - attribute: Tunnel-Type = VLAN
13:52:32.088 TRACE [ASession.java:141] - log [60] radius - attribute: Tunnel-Medium-Type = IEEE-802
13:52:32.089 TRACE [ASession.java:141] - log [61] radius - attribute: Tunnel-Private-Group-ID = 127
13:52:52.817 DEBUG [WnamCmdService.java:625] - ACCT Start new session ID=AC1088020000006C0A40A71D, MAC=28:D2:44:95:B7:A4, IP=null, User=28d24495b7a4, NAS_IP=172.16.130.38, site_id=3

При этом в интерфейсе администратора системы WNAM в разделе "Пользователи" появится запись о пользователе (эндпоинте).

А также в разделе "Сессии" появится запись о сессии.

В разделе "Диагностика" → "Корпоративные подключения" появится запись в диагностическом логе.

Следует обратить внимание, что IP-адрес устройства клиента не известен (коммутатор его не знает). Также видно, что устройство помещено в VLAN 127 (он должен существовать на коммутаторе, чтобы эндпоинт работал).


  • No labels