Списки управления доступом, ACL, представляют собой набор правил-разрешений сетевого доступа, которые могут быть применены к трафику пользователя на коммутаторе. Для большинства производителей сетевого оборудования ACL статически задаются на устройстве (коммутатор, маршрутизатор), и привязываются к его сетевым портам.
Однако коммутаторы производства Cisco (Catalyst, Nexus) имеют возможность применения индивидуального ACL на порту коммутатора, после того, как на нём прошла авторизация доступа эндпоинта. Более того, содержимое этого ACL динамически загружается с сервера авторизации по протоколу RADIUS. Здесь представляется возможным на уровне системы авторизации определить, каким группам эндпоинтов назначить различные уровни доступа, ограниченные при помощи ACL.
Начиная с версии 1.6.3544 (06.07.2023) WNAM поддерживает:
- создание и редактирование загружаемых ACL
- назначение заданного загружаемого ACL в профиле авторизации
- выдачу коммутатору по запросу требуемого ACL, без ограничения на его длину
...
При подключении эндпоинта к порту ЛВС, если произойдет срабатывание соответствующего правила, имя ACL будет передано в атрибутах:
16:32:51.750 TRACE [ASession.java:143] - log [60] authorization - final result: Accept with policy 'Wired LAB'
16:32:51.751 TRACE [ASession.java:143] - log [61] authorization - add attribute: dACL Name='ACS:CiscoSecure-Defined-ACL=#ACSACL#-IP-acl-test-1892b67bee9', lines: {}6
16:32:51.755 TRACE [ASession.java:143] - log [62] createMacCustomer - create customer entry, MAC=CC:9D:A2:27:C6:80
16:32:51.757 TRACE [ASession.java:143] - log [63] portinfo - NAS '172.16.130.38 c2960 All Locations#All WNAM Loc Group' port GigabitEthernet0/1 updated
16:32:51.759 TRACE [ASession.java:143] - log [64] radius - send RADIUS ACCEPT with 1 attributes
16:32:51.759 TRACE [ASession.java:143] - log [65] radius - attribute: cisco-avpair = ACS:CiscoSecure-Defined-ACL=#ACSACL#-IP-acl-test-1892b67bee9
При этом коммутатор тут же перезапросит содержимое этого ACL (если таковой не был загружен ранее), и получит его:
16:32:51.810 INFO [WnamRadiusService.java:528] - handleRadiusPacket AUTH as=172.16.130.38, secret_len=6, attrs=[NAS-IP-Address: 172.16.130.38, User-Name: #ACSACL#-IP-acl-test-1892b67bee9, Vendor-Specific: Cisco[9] Cisco-AVPair: aaa:service=ip_admission, Vendor-Specific: Cisco[9] Cisco-AVPair: aaa:event=acl-download, Message-Authenticator: 0x264a30f4d2549a263d896be6e4af328e]
16:32:51.812 DEBUG [A12Service.java:2547] - sendDownloadableACL for #ACSACL#-IP-acl-test-1892b67bee9, Thu Jul 06 16:32:46 MSK 2023, dacl='acl-test'
16:32:51.813 DEBUG [A12Service.java:2560] - sendDownloadableACL added 6 rules, return all once
...