Настройване на 802.1X на комутаторите Cisco с помощта на отказоустойчив NPS (Windows RADIUS с AD)

Настройване на 802.1X на комутаторите Cisco с помощта на отказоустойчив NPS (Windows RADIUS с AD)
Нека на практика разгледаме използването на Windows Active Directory + NPS (2 сървъра за осигуряване на отказоустойчивост) + стандарт 802.1x за контрол на достъпа и аутентикация на потребители – домейн компютри – устройства. Можете да се запознаете с теорията по стандарта в Wikipedia, на линка: IEEE 802.1X

Тъй като лабораторията ми е ограничена по ресурси, комбинирам ролите на NPS и контролера на домена, но ви препоръчвам такива критични услуги все пак да бъдат разделени.

Стандартни методи за синхронизация на конфигурации (политики) в Windows NPS не познавам, затова ще използваме PowerShell скриптове, стартирани от планировщика на задания (авторът е мой бивш колега). За аутентификация на домейн компютри и на устройства, които не поддържат 802.1x (телефони, принтери и др.), ще бъде настроена групова политика и ще бъдат създадени групи за безопасност.

В края на статията ще споделя за някои особености на работа с 802.1x – как може да се използват неуправляеми комутатори, динамични ACL и др. Ще споделя информация за уловените "глюкове"...

Нека започнем с инсталирането и настройката на failover NPS на Windows Server 2012R2 (на 2016 всичко е аналогично): през Server Manager -> Add Roles and Features Wizard избираме само Network Policy Server.

Настройване на 802.1X на комутаторите Cisco с помощта на отказоустойчив NPS (Windows RADIUS с AD)

или с помощта на PowerShell:

Install-WindowsFeature NPAS -IncludeManagementTools

Небольшо уточнение – тъй като за Protected EAP (PEAP) ви е абсолютно необходим сертификат, който удостоверява идентичността на сървъра (с подходящи права за използване), който ще бъде на доверените клиенти, вероятно ще трябва да инсталирате и ролята Certification Authority. Но да приемем, че CA вече е инсталиран...

Да направим същото и на втория сървър. Ще създадем папка за скрипта C:Scripts и мрежова папка на втория сървър SRV2NPS-config$

На първия сървър ще създадем PowerShell скрипта C:ScriptsExport-NPS-config.ps1 със следното съдържание:

Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"

След това ще настроим задача в Task Scheduler: “Export-NpsConfiguration”

powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1"

Да се изпълнява за всички потребители — Да се изпълнява с най-високи права
Ежедневно — Повтаряйте задачата на всеки 10 мин. в продължение на 8 ч.

На резервния NPS ще настроим внос на конфигурация (политики):
ще създадем PowerShell скрипта:

echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1

и задача за неговото изпълнение на всеки 10 минути:

powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1"

Да се изпълнява за всички потребители — Да се изпълнява с най-високи права
Ежедневно — Повтаряйте задачата на всеки 10 мин. в продължение на 8 ч.

Сега, за проверка, ще добавим в NPS на един от сървърите(!) няколко суичове в RADIUS-клиентите (IP и Shared Secret), две стратегии за свързване: WIRED-Connect (Условие: “Тип порт NAS – Ethernet”) и WiFi-Enterprise (Условие: “Тип порт NAS – IEEE 802.11”), както и мрежовата политика Access Cisco Network Devices (Network Admins):

Условия:
Групи Windows - domainsg-network-admins
Ограничения:
Методи за удостоверяване - Проверка в открит текст (PAP, SPAP)
Параметри:
Атрибути RADIUS: Стандарт - Service-Type - Login
Зависи от доставчика - Cisco-AV-Pair - Cisco - shell:priv-lvl=15

От страна на суичовете следните настройки:

aaa new-model
aaa local authentication attempts max-fail 5
!
!
aaa group server radius NPS
 server-private 192.168.38.151 auth-port 1812 acct-port 1813 key %shared_secret%
 server-private 192.168.10.151 auth-port 1812 acct-port 1813 key %shared_secret%
!
aaa authentication login default group NPS local
aaa authentication dot1x default group NPS
aaa authorization console
aaa authorization exec default group NPS local if-authenticated
aaa authorization network default group NPS
!
aaa session-id common
!
identity profile default
!
dot1x system-auth-control
!
!
line vty 0 4
 exec-timeout 5 0
 transport input ssh
 escape-character 99
line vty 5 15
 exec-timeout 5 0
 logging synchronous
 transport input ssh
 escape-character 99

След конфигурирането, след 10 минути, всички клиентиполитикипараметри трябва да се появят и на резервния NPS и ще можем да се удостоверим на суичовете с акаунт от Active Directory, член на групата domainsg-network-admins (която създадохме предварително).

Преминаваме към конфигурирането на Active Directory – ще създадем групова и паролна политика, ще създадем необходимите групи.

Групова политика Computers-8021x-Settings:

Настройки на компютрите (Активирано)
   Политики
     Настройки на Windows
        Настройки за сигурност
          Системни услуги
     Wired AutoConfig (Режим на стартиране: Автоматичен)
Wired Network (802.3) Политики


NPS-802-1x

Име	NPS-802-1x
Описание	802.1x
Глобални настройки
НАСТРОЙКА	СТОЙНОСТ
Използвайте Windows проводникови LAN мрежови услуги за клиенти	Активирано
Споделени потребителски идентификационни данни за мрежово удостоверяване	Активирано
Мрежов профил
Настройки за сигурност
Активирайте използването на IEEE 802.1X удостоверяване за мрежов достъп	Активирано
Задължително използване на IEEE 802.1X удостоверяване за мрежов достъп	Деактивирано
Настройки за IEEE 802.1X
Удостоверяване на компютри	Само компютър
Максимални опити за удостоверяване	10
Максимален брой изпратени съобщения EAPOL-Start	 
Държано време (секунди)	 
Стартово време (секунди)	 
Време за удостоверяване (секунди)	 
Свойства на метода за мрежово удостоверяване
Метод на удостоверяване	Защитен EAP (PEAP)
Валидирайте сертификата на сървъра	Активирано
Свържете се с тези сървъри	 
Не подканвайте потребителя да одобрява нови сървъри или доверени органи за сертификация	Деактивирано
Активирайте бърза повторна свързаност	Активирано
Прекъснете, ако сървърът не представи cryptobinding TLV	Деактивирано
Наложете защита на достъпа до мрежата	Деактивирано
Конфигурация на метода за удостоверяване
Метод на удостоверяване	Защитена парола (EAP-MSCHAP v2)
Автоматично използвайте името и паролата на моя Windows логин (и домейн, ако има такъв)	Активирано

Настройване на 802.1X на комутаторите Cisco с помощта на отказоустойчив NPS (Windows RADIUS с AD)

Създайте група за сигурност sg-computers-8021x-vl100, където ще добавим компютрите, които искаме да разпределим в vlan 100 и ще настроим филтрацията за създадената по-рано групова политика за тази група:

Настройване на 802.1X на комутаторите Cisco с помощта на отказоустойчив NPS (Windows RADIUS с AD)

Можем да се уверим, че политиката е приложена успешно, като отворим “Център за управление на мрежите и общия достъп (Настройки на мрежата и интернет) – Промяна на настройките на адаптера (Настройка на адаптера) – Свойства на адаптера”, където ще видим таба “Проверка на автентичността”:

Настройване на 802.1X на комутаторите Cisco с помощта на отказоустойчив NPS (Windows RADIUS с AD)

Когато се уверим, че политиката се прилага успешно – можем да преминем към настройката на мрежовата политика на NPS и портовете на достъпния комутатор.

Създаваме мрежова политика neag-computers-8021x-vl100:

Условия:
  Windows Групи - sg-computers-8021x-vl100
  Тип на NAS порта - Ethernet
Ограничения:
  Методи за автентикация - Microsoft: Защитен EAP (PEAP) - Необработена автентикация (PAP, SPAP)
  Тип на NAS порта - Ethernet
Настройки:
  Стандарт:
   Framed-MTU 1344
   TunnelMediumType 802 (включва всички 802 медии плюс каноничен формат на Ethernet)
   TunnelPrivateGroupId  100
   TunnelType  Виртуални LAN (VLAN)

Настройване на 802.1X на комутаторите Cisco с помощта на отказоустойчив NPS (Windows RADIUS с AD)

Типични настройки за порта на комутатора (обърнете внимание, че се използва тип на автентикация “мултидомен” – Data & Voice, а също така има възможност за автентикация по mac адрес. по време на “преходния период” има смисъл да се използват следните параметри:


authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100

vlan id не е “карантинен”, а е същият, в който потребителският компютър трябва да попадне, успешно автентикиран – дотогава, докато не се уверим, че всичко работи както трябва. Тези параметри могат да бъдат използвани и в други сценарии, например, когато в този порт е включен неуправляем комутатор и искате всички устройства, свързани към него и не преминали автентикация, да попаднат в определен vlan (“карантинен”).

настройки на порта на комутатора в режим 802.1x host-mode multi-domain

default int range Gi1/0/39-41
int range Gi1/0/39-41
shu
des PC-IPhone_802.1x
switchport mode access
switchport nonegotiate
switchport voice vlan 55
switchport port-security maximum 2
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-domain
authentication port-control auto
authentication violation restrict
mab
dot1x pae authenticator
dot1x timeout quiet-period 15
dot1x timeout tx-period 3
storm-control broadcast level pps 100
storm-control multicast level pps 110
no vtp
lldp receive
lldp transmit
spanning-tree portfast
no shu
exit

Можем да се уверим, че компютърът/телефонът успешно е преминал автентикация с командата:

sh authentication sessions int Gi1/0/39 det

Сега ще създадем група (например, sg-fgpp-mab ) в Active Directory за телефони и ще добавим в нея едно устройство за тестове (в моя случай това е Grandstream GXP2160 с MAC адрес 000b.82ba.a7b1 и съответната учетна запис domain 00b82baa7b1).

За създадената група ще намалим изискванията на политиката за пароли (чрез Fine-Grained Password Policies през Active Directory Administrative Center -> domain -> System -> Password Settings Container) с такива параметри Password-Settings-for-MAB:

Настройване на 802.1X на комутаторите Cisco с помощта на отказоустойчив NPS (Windows RADIUS с AD)

така ще разрешим използването на MAC адресите на устройствата като пароли. След това ще можем да създадем мрежова политика за удостоверяване 802.1x метод mab, за която ще я наречем neag-devices-8021x-voice. Параметрите са следните:

  • NAS Port Type – Ethernet
  • Windows Groups – sg-fgpp-mab
  • EAP Types: Unencrypted authentication (PAP, SPAP)
  • RADIUS Attributes – Vendor Specific: Cisco – Cisco-AV-Pair – Attribute value: device-traffic-class=voice

след успешна аутентикация (не забравяйте да настроите порта на комутатора), ще погледнем информацията от порта:

sh authentication se int Gi1/0/34

----------------------------------------
            Interface:  GigabitEthernet1/0/34
          MAC Address:  000b.82ba.a7b1
           IP Address:  172.29.31.89
            User-Name:  000b82baa7b1
               Status:  Authz Success
               Domain:  VOICE
       Oper host mode:  multi-domain
     Oper control dir:  both
        Authorized By:  Authentication Server
      Session timeout:  N/A
         Idle timeout:  N/A
    Common Session ID:  0000000000000EB2000B8C5E
      Acct Session ID:  0x00000134
               Handle:  0xCE000EB3

Runnable methods list:
       Method   State
       dot1x    Failed over
       mab      Authc Success

Сега, както обещах, ще разгледаме няколко не толкова очевидни ситуации. Например, необходимо е да свържем компютри и устройства на потребителите през неуправляем комутатор (свитч). В този случай настройките на порта за него ще изглеждат по следния начин:

настройки на порта на комутатора в режим 802.1x host-mode multi-auth

interface GigabitEthernet1/0/1
description *SW – 802.1x – 8 mac*
shu
switchport mode access
switchport nonegotiate
switchport voice vlan 55
switchport port-security maximum 8  ! увеличаваме броя на допустимите MAC адреси
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-auth  ! – режим на аутентикация
authentication port-control auto
authentication violation restrict
mab
dot1x pae authenticator
dot1x timeout quiet-period 15
dot1x timeout tx-period 3
storm-control broadcast level pps 100
storm-control multicast level pps 110
no vtp
spanning-tree portfast
no shu

P.S. забелязан е много странен глюк – ако устройството е било свързано през такъв свитч, а след това е включено в управляем комутатор, то то НЯМА да заработи, докато не рестартираме(!) свитча. Все още не съм намерил други начини за решаване на този проблем.

Още един момент, свързан с DHCP (ако се използва ip dhcp snooping) – без такива опции:

ip dhcp snooping vlan 1-100
no ip dhcp snooping information option

по някаква причина не може да получи коректно IP адрес... възможно е това да е особеност на нашия DHCP сървър

А също така Mac OS и Linux (в които поддръжката на 802.1x е нативна) се опитват да преминат аутентификацията на потребителя, дори когато е настроена аутентификация по мас-адрес.

В следващата част на статията ще разгледаме прилагането на 802.1x за Wireless (в зависимост от групата, в която попада потребителският акаунт, ще го 'пускаме' в съответната мрежа (VLAN), въпреки че ще се свързват към един и същ SSID).

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster