Konfiguracja 802.1X na przełącznikach Cisco z użyciem odpornego NPS (Windows RADIUS z AD)

Konfiguracja 802.1X na przełącznikach Cisco z użyciem odpornego NPS (Windows RADIUS z AD)
Rozważymy w praktyce wykorzystanie Windows Active Directory + NPS (2 serwery dla zapewnienia odporności) + standard 802.1x do kontroli dostępu i uwierzytelniania użytkowników – komputerów w domenie – urządzeń. Teorię na temat standardu można znaleźć w Wikipedii, pod linkiem: IEEE 802.1X

Ponieważ moja „laboratoria” ma ograniczone zasoby, pełnię rolę NPS i kontrolera domeny, ale zalecam rozdzielenie takich krytycznych usług.

Nie znam standardowych sposobów synchronizacji konfiguracji (polityk) Windows NPS, dlatego będziemy korzystać ze skryptów PowerShell, uruchamianych przez harmonogram zadań (autor to mój były kolega). Dla uwierzytelniania komputerów w domenie oraz dla urządzeń, które nie obsługują 802.1x (telefonów, drukarek itd.), zostanie skonfigurowana polityka grupowa oraz utworzone grupy zabezpieczeń.

Na końcu artykułu opowiem o niektórych szczegółach pracy z 802.1x – jak można wykorzystać niezarządzane przełączniki, dynamiczne ACL itd. Podzielę się informacjami o napotkanych "problemach"...

Zaczniemy od instalacji i konfiguracji failover NPS na Windows Server 2012R2 (na 2016r. wszystko wygląda analogicznie): przez Menedżera serwera -> Kreator dodawania ról i funkcji wybieramy tylko Network Policy Server.

Konfiguracja 802.1X na przełącznikach Cisco z użyciem odpornego NPS (Windows RADIUS z AD)

lub za pomocą PowerShell:

Install-WindowsFeature NPAS -IncludeManagementTools

Krótka uwaga – ponieważ dla Protected EAP (PEAP) będzie potrzebny certyfikat potwierdzający autentyczność serwera (z odpowiednimi uprawnieniami do używania), który będzie zaufany na komputerach klientów, może być konieczne również zainstalowanie roli Certification Authority. Ale załóżmy, że CA już go zainstalowaliście...

Zrobimy to samo na drugim serwerze. Utworzymy folder na skrypt C:Scripts na obu serwerach oraz folder sieciowy na drugim serwerze SRV2NPS-config$

Na pierwszym serwerze utworzymy skrypt PowerShell C:ScriptsExport-NPS-config.ps1 o następującej treści:

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

Następnie skonfigurujemy zadanie w Harmonogramie zadań: “Export-NpsConfiguration

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

Wykonuj dla wszystkich użytkowników — Wykonaj z najwyższymi prawami
Codziennie — Powtarzaj zadanie co 10 minut przez 8 godzin.

Na zapasowym NPS skonfigurujemy import konfiguracji (polityk):
utworzymy skrypt PowerShell:

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

I zadanie na jego wykonanie co 10 minut:

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

Wykonuj dla wszystkich użytkowników — Wykonaj z najwyższymi prawami
Codziennie — Powtarzaj zadanie co 10 minut przez 8 godzin.

Teraz, aby sprawdzić, dodamy w NPS na jednym z serwerów (!) kilka przełączników jako klientów RADIUS (IP i wspólny klucz), dwie polityki zapytań o połączenie: WIRED-Connect (Warunek: “Typ portu NAS – Ethernet”) oraz WiFi-Enterprise (Warunek: “Typ portu NAS – IEEE 802.11”), a także politykę sieciową Dostęp do urządzeń sieciowych Cisco (Administratorzy sieci):

Warunki:
Grupy Windows - domainsg-network-admins
Ograniczenia:
Metody weryfikacji - Weryfikacja otwartym tekstem (PAP, SPAP)
Parametry:
Atrybuty RADIUS: Standard - Service-Type - Login
Zależne od dostawcy - Cisco-AV-Pair - Cisco - shell:priv-lvl=15

Ze strony przełączników następujące ustawienia:

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

Po skonfigurowaniu, po 10 minutach, wszyscy klienci polityki parametry powinni pojawić się również na zapasowym NPS i będziemy mogli zalogować się na przełącznikach za pomocą konta Active Directory, członka grupy domainsg-network-admins (którą utworzyliśmy wcześniej).

Przejdźmy do konfiguracji Active Directory – utworzymy politykę grupową i hasłową, utworzymy niezbędne grupy.

Polityka grupowa Computers-8021x-Settings:

Konfiguracja komputera (Włączona)
   Polityki
     Ustawienia Windows
        Ustawienia zabezpieczeń
          Usługi systemowe
     Wwired AutoConfig (Tryb uruchamiania: Automatyczny)
Polityki sieciowe (802.3)


NPS-802-1x

Nazwa	NPS-802-1x
Opis	802.1x
Ustawienia globalne
USTAWIENIE	WARTOŚĆ
Użyj usług sieciowych LAN Windows dla klientów	Włączone
Wspólne poświadczenia użytkownika do uwierzytelniania w sieci	Włączone
Profil sieciowy
Ustawienia zabezpieczeń
Włączyć użycie uwierzytelniania IEEE 802.1X do dostępu do sieci	Włączone
Egzekwować użycie uwierzytelniania IEEE 802.1X do dostępu do sieci	Wyłączone
Ustawienia IEEE 802.1X
Uwierzytelnianie komputera	Tylko komputer
Maksymalne błędy uwierzytelniania	10
Maksymalna liczba wysłanych wiadomości EAPOL-Start	 
Okres przechowywania (sekundy)	 
Okres rozpoczęcia (sekundy)	 
Okres uwierzytelniania (sekundy)	 
Właściwości metody uwierzytelniania w sieci
Metoda uwierzytelniania	Chroniona EAP (PEAP)
Weryfikacja certyfikatu serwera	Włączona
Połączenie z tymi serwerami	 
Nie prosić użytkownika o autoryzację nowych serwerów lub zaufanych organów certyfikujących	Wyłączone
Włączyć szybkie ponowne połączenie	Włączone
Rozłączyć, jeśli serwer nie przedstawia cryptobinding TLV	Wyłączone
Egzekwować ochronę dostępu do sieci	Wyłączone
Konfiguracja metody uwierzytelniania
Metoda uwierzytelniania	Zabezpieczone hasło (EAP-MSCHAP v2)
Automatycznie użyć mojej nazwy logowania i hasła Windows (i domeny, jeśli są)	Włączone

Konfiguracja 802.1X na przełącznikach Cisco z użyciem odpornego NPS (Windows RADIUS z AD)

Utwórzmy grupę zabezpieczeń sg-computers-8021x-vl100, gdzie dodamy komputery, które chcemy przypisać do VLAN 100 i skonfigurujemy filtrację dla wcześniej utworzonej polityki grupowej dla tej grupy:

Konfiguracja 802.1X na przełącznikach Cisco z użyciem odpornego NPS (Windows RADIUS z AD)

Aby upewnić się, że polityka działa poprawnie, należy otworzyć „Centrum zarządzania sieciami i udostępnianiem (Ustawienia sieci i Internetu) – Zmień ustawienia karty sieciowej (Skonfiguruj ustawienia karty sieciowej) – Właściwości karty”, gdzie zobaczymy zakładkę „Weryfikacja”:

Konfiguracja 802.1X na przełącznikach Cisco z użyciem odpornego NPS (Windows RADIUS z AD)

Gdy upewnimy się, że polityka jest stosowana, możemy przejść do konfiguracji polityki sieciowej na NPS i portów przełącznika dostępowego.

Utwórzmy politykę sieciową neag-computers-8021x-vl100:

Warunki:
  Grupy Windows - sg-computers-8021x-vl100
  Typ portu NAS - Ethernet
Ograniczenia:
  Metody uwierzytelniania - Microsoft: Protected EAP (PEAP) - Uwierzytelnianie niezaszyfrowane (PAP, SPAP)
  Typ portu NAS - Ethernet
Ustawienia:
  Standard:
   Framed-MTU 1344
   TunnelMediumType 802 (obejmuje wszystkie media 802 oraz format kanoniczny Ethernet)
   TunnelPrivateGroupId  100
   TunnelType  Wirtualne sieci LAN (VLAN)

Konfiguracja 802.1X na przełącznikach Cisco z użyciem odpornego NPS (Windows RADIUS z AD)

Typowe ustawienia dla portu przełącznika (zwracam uwagę, że używany jest typ uwierzytelnienia „multi-domain” – Data & Voice, a także istnieje możliwość uwierzytelnienia według adresu MAC. W okresie „przejściowym” warto użyć w parametrach:


zdarzenie uwierzytelniania akcji niepowodzenia autoryzuj vlan 100
dażrzenie uwierzytelniania akcji bez odpowiedzi autoryzuj vlan 100

id VLAN nie jest „kwarantannowy”, lecz taki sam, do którego komputer użytkownika powinien trafić po pomyślnej autoryzacji – dopóki nie upewnimy się, że wszystko działa poprawnie. Te same parametry mogą być użyte w innych scenariuszach, na przykład, gdy do portu jest podłączony niezarządzany przełącznik i chcesz, aby wszystkie urządzenia podłączone do niego i nieprzeszłe autoryzacji trafiły do określonego VLAN-u („kwarantannowego”).

ustawienia portu przełącznika w trybie 802.1x host-mode multi-domain

domyślny zakres int Gi1/0/39-41
zakres int Gi1/0/39-41
shu
des PC-IPhone_802.1x
tryb portu switchport dostęp
switchport nonegotiate
switchport voice vlan 55
maximum 2 zabezpieczenia portu switchport
autoryzacja zdarzenia niepowodzenia akcji autoryzuj vlan 100
autoryzacja zdarzenia bez odpowiedzi akcji autoryzuj vlan 100
autoryzacja host-mode multi-domain
autoryzacja kontrola portu auto
autoryzacja naruszenie ograniczone
mab
dot1x pae autoryzator
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

Aby upewnić się, że komputer/telefon został pomyślnie autoryzowany, wykonaj polecenie:

sh authentication sessions int Gi1/0/39 det

Teraz utwórzmy grupę (na przykład, sg-fgpp-mab ) w Active Directory dla telefonów i dodamy do niej jeden aparat do testów (w moim przypadku to Grandstream GXP2160 z adresem MAC 000b.82ba.a7b1 i odpowiednim kontem użytkownika domena 00b82baa7b1).

Dla utworzonej grupy obniżymy wymagania polityki haseł (korzystając z Polityki haseł z drobnym podziałem przez Centrum administracyjne Active Directory -> domena -> System -> Kontener ustawień haseł) z następującymi parametrami Ustawienia haseł dla MAB:

Konfiguracja 802.1X na przełącznikach Cisco z użyciem odpornego NPS (Windows RADIUS z AD)

tym samym pozwolimy na używanie adresu MAC urządzeń jako haseł. Po tym będziemy mogli stworzyć politykę sieciową dla uwierzytelniania 802.1x metodą mab, nazwiemy ją neag-devices-8021x-voice. Parametry są następujące:

  • Typ portu NAS – Ethernet
  • Grupy systemu Windows – sg-fgpp-mab
  • Typy EAP: Uwierzytelnianie nieszyfrowane (PAP, SPAP)
  • Atrybuty RADIUS – Specyficzne dla dostawcy: Cisco – Cisco-AV-Pair – Wartość atrybutu: device-traffic-class=voice

po pomyślnym uwierzytelnieniu (nie zapominajmy skonfigurować portu przełącznika), sprawdzimy informacje z portu:

sh authentication se int Gi1/0/34

----------------------------------------
            Interfejs:  GigabitEthernet1/0/34
          Adres MAC:  000b.82ba.a7b1
           Adres IP:  172.29.31.89
            Nazwa użytkownika:  000b82baa7b1
               Status:  Authz Success
               Domena:  VOICE
       Oper tryb hosta:  multi-domain
     Oper kierunek kontroli:  both
        Autoryzowane przez:  Serwer autoryzacji
      Czas trwania sesji:  N/A
         Czas bezczynności:  N/A
    Wspólny identyfikator sesji:  0000000000000EB2000B8C5E
      Identyfikator sesji rachunkowej:  0x00000134
               Uchwyt:  0xCE000EB3

Lista metod możliwych do uruchomienia:
       Metoda   Stan
       dot1x    Nieudana
       mab      Authc Success

Teraz, jak obiecałem, rozważymy kilka mniej oczywistych sytuacji. Na przykład, musimy podłączyć urządzenia komputerowe użytkowników przez niezarządzany przełącznik. W tym przypadku ustawienia portu dla niego będą wyglądać następująco:

ustawienia portu przełącznika w trybie 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  ! zwiększamy liczbę dozwolonych adresów MAC
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-auth  ! – tryb uwierzytelniania
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. zauważono bardzo dziwny błąd – jeśli urządzenie było podłączone przez taki przełącznik, a następnie podłączone do zarządzanego przełącznika, to NIE będzie działać, dopóki nie zrestartujemy(!) przełącznika. Jak na razie nie znalazłem innych sposobów rozwiązania tego problemu.

Jeszcze jeden aspekt związany z DHCP (jeśli używane jest ip dhcp snooping) – bez takich opcji:

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

z jakiegoś powodu nie można poprawnie uzyskać adresu ip… chociaż może to jest cechą naszego serwera DHCP

A także Mac OS & Linux (w których wsparcie dla 802.1x jest nativne) próbują przejść autoryzację użytkownika, nawet jeśli ustawiona jest autoryzacja po adresie MAC.

W następnej części artykułu omówimy zastosowanie 802.1x dla Wireless (w zależności od grupy, do której należy konto użytkownika, 'wrzucimy' go do odpowiedniej sieci (VLAN), chociaż będą się łączyć pod jednym SSID).

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster