Configurarea 802.1X pe comutatoarele Cisco utilizând NPS de failover (Windows RADIUS cu AD)

Configurarea 802.1X pe comutatoarele Cisco utilizând NPS de failover (Windows RADIUS cu AD)
Să luăm în considerare în practică utilizarea Windows Active Directory + NPS (2 servere pentru a asigura toleranța la erori) + standard 802.1x pentru controlul accesului și autentificarea utilizatorilor - computere de domeniu - dispozitive. Vă puteți familiariza cu teoria conform standardului de pe Wikipedia, la link-ul: IEEE 802.1X

Deoarece „laboratorul” meu este limitat în resurse, rolurile NPS și controlerul de domeniu sunt compatibile, dar vă recomand să separați în continuare astfel de servicii critice.

Nu cunosc modalități standard de sincronizare a configurațiilor Windows NPS (politici), așa că vom folosi scripturi PowerShell lansate de planificatorul de activități (autorul este fostul meu coleg). Pentru autentificarea computerelor de domeniu și pentru dispozitivele care nu pot 802.1x (telefoane, imprimante etc.), se va configura politica de grup și se vor crea grupuri de securitate.

La sfârșitul articolului, vă voi spune despre unele dintre complexitățile lucrului cu 802.1x - cum puteți utiliza comutatoare negestionate, ACL-uri dinamice etc. Voi împărtăși informații despre „eșecuri” care au fost surprinse.. .

Să începem cu instalarea și configurarea NPS de failover pe Windows Server 2012R2 (totul este la fel în 2016): prin Server Manager -> Add Roles and Features Wizard, selectați doar Network Policy Server.

Configurarea 802.1X pe comutatoarele Cisco utilizând NPS de failover (Windows RADIUS cu AD)

sau folosind PowerShell:

Install-WindowsFeature NPAS -IncludeManagementTools

O mică precizare – deoarece pentru EAP protejat (PEAP) cu siguranță veți avea nevoie de un certificat care să confirme autenticitatea serverului (cu drepturi corespunzătoare de utilizare), care va fi de încredere pe computerele client, atunci cel mai probabil va trebui să instalați rolul Autoritatea de certificare. Dar vom presupune că CA l-ai instalat deja...

Să facem același lucru pe al doilea server. Să creăm un folder pentru scriptul C:Scripts pe ambele servere și un folder de rețea pe al doilea server SRV2NPS-config$

Să creăm un script PowerShell pe primul server C:ScriptsExport-NPS-config.ps1 cu urmatorul continut:

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

După aceasta, să configuram sarcina în Task Sheduler: „Export-NpsConfigurationMatei 22:21

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

Rulați pentru toți utilizatorii - Rulați cu cele mai înalte drepturi
Zilnic - Repetați sarcina la fiecare 10 minute. în termen de 8 ore

Pe NPS-ul de rezervă, configurați importul configurației (politici):
Să creăm un script PowerShell:

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

și o sarcină pentru a o executa la fiecare 10 minute:

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

Rulați pentru toți utilizatorii - Rulați cu cele mai înalte drepturi
Zilnic - Repetați sarcina la fiecare 10 minute. în termen de 8 ore

Acum, pentru a verifica, să adăugăm la NPS pe unul dintre servere (!) câteva switch-uri în clienții RADIUS (IP și Shared Secret), două politici de solicitare a conexiunii: WIRED-Connect (Condiție: „Tipul portului NAS este Ethernet”) și WiFi-Enterprise (Condiție: „Tipul de port NAS este IEEE 802.11”), precum și politica de rețea Accesați dispozitivele de rețea Cisco (Administratorii de rețea):

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

Pe partea comutatorului, următoarele setări:

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

După configurare, după 10 minute, toți parametrii de politică ale clienților ar trebui să apară pe NPS-ul de rezervă și ne vom putea conecta la switch-uri folosind un cont ActiveDirectory, membru al grupului domainsg-network-admins (pe care l-am creat în prealabil).

Să trecem la configurarea Active Directory - creați politici de grup și parole, creați grupurile necesare.

Politica de grup Calculatoare-8021x-Setări:

Computer Configuration (Enabled)
   Policies
     Windows Settings
        Security Settings
          System Services
     Wired AutoConfig (Startup Mode: Automatic)
Wired Network (802.3) Policies


NPS-802-1x

Name	NPS-802-1x
Description	802.1x
Global Settings
SETTING	VALUE
Use Windows wired LAN network services for clients	Enabled
Shared user credentials for network authentication	Enabled
Network Profile
Security Settings
Enable use of IEEE 802.1X authentication for network access	Enabled
Enforce use of IEEE 802.1X authentication for network access	Disabled
IEEE 802.1X Settings
Computer Authentication	Computer only
Maximum Authentication Failures	10
Maximum EAPOL-Start Messages Sent	 
Held Period (seconds)	 
Start Period (seconds)	 
Authentication Period (seconds)	 
Network Authentication Method Properties
Authentication method	Protected EAP (PEAP)
Validate server certificate	Enabled
Connect to these servers	 
Do not prompt user to authorize new servers or trusted certification authorities	Disabled
Enable fast reconnect	Enabled
Disconnect if server does not present cryptobinding TLV	Disabled
Enforce network access protection	Disabled
Authentication Method Configuration
Authentication method	Secured password (EAP-MSCHAP v2)
Automatically use my Windows logon name and password(and domain if any)	Enabled

Configurarea 802.1X pe comutatoarele Cisco utilizând NPS de failover (Windows RADIUS cu AD)

Să creăm un grup de securitate sg-computers-8021x-vl100, unde vom adăuga computere pe care dorim să le distribuim la vlan 100 și vom configura filtrarea pentru politica de grup creată anterior pentru acest grup:

Configurarea 802.1X pe comutatoarele Cisco utilizând NPS de failover (Windows RADIUS cu AD)

Puteți verifica dacă politica a funcționat cu succes deschizând „Centrul de rețea și partajare (Setări de rețea și Internet) – Modificarea setărilor adaptorului (Configurarea setărilor adaptorului) – Proprietăți adaptor”, unde putem vedea fila „Autentificare”:

Configurarea 802.1X pe comutatoarele Cisco utilizând NPS de failover (Windows RADIUS cu AD)

Când sunteți convins că politica este aplicată cu succes, puteți continua la configurarea politicii de rețea pe porturile NPS și ale comutatorului de nivel de acces.

Să creăm o politică de rețea neag-computer-8021x-vl100:

Conditions:
  Windows Groups - sg-computers-8021x-vl100
  NAS Port Type - Ethernet
Constraints:
  Authentication Methods - Microsoft: Protected EAP (PEAP) - Unencrypted authentication (PAP, SPAP)
  NAS Port Type - Ethernet
Settings:
  Standard:
   Framed-MTU 1344
   TunnelMediumType 802 (includes all 802 media plus Ethernet canonical format)
   TunnelPrivateGroupId  100
   TunnelType  Virtual LANs (VLAN)

Configurarea 802.1X pe comutatoarele Cisco utilizând NPS de failover (Windows RADIUS cu AD)

Setări tipice pentru portul de comutare (vă rugăm să rețineți că se folosește tipul de autentificare „multi-domeniu” – Date și Voce, și există și posibilitatea de autentificare prin adresa mac. În timpul „perioadei de tranziție” este logic să se folosească în parametri:


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

Id-ul vlan nu este unul de „carantină”, ci același în care ar trebui să meargă computerul utilizatorului după conectarea cu succes - până când suntem siguri că totul funcționează așa cum ar trebui. Acești parametri pot fi utilizați în alte scenarii, de exemplu, atunci când un comutator negestionat este conectat la acest port și doriți ca toate dispozitivele conectate la acesta care nu au trecut autentificarea să cadă într-un anumit vlan („carantină”).

comutați setările portului în modul multi-domeniu 802.1x gazdă

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

Vă puteți asigura că computerul și telefonul dvs. au trecut cu succes autentificarea cu comanda:

sh authentication sessions int Gi1/0/39 det

Acum să creăm un grup (de exemplu, sg-fgpp-mab ) în Active Directory pentru telefoane și adăugați un dispozitiv la acesta pentru testare (în cazul meu este Grandstream GXP2160 cu adresa mas 000b.82ba.a7b1 și resp. cont domeniul 00b82baa7b1).

Pentru grupul creat, vom reduce cerințele politicii de parole (folosind Politici detaliate privind parola prin Centrul de administrare Active Directory -> domeniu -> Sistem -> Container Setări parole) cu următorii parametri Setări-parolă-pentru-MAB:

Configurarea 802.1X pe comutatoarele Cisco utilizând NPS de failover (Windows RADIUS cu AD)

Astfel, vom permite utilizarea adreselor mas de dispozitiv ca parole. După aceasta, putem crea o politică de rețea pentru metoda 802.1x de autentificare mab, să o numim neag-devices-8021x-voice. Parametrii sunt după cum urmează:

  • Tip port NAS – Ethernet
  • Grupuri Windows – sg-fgpp-mab
  • Tipuri EAP: autentificare necriptată (PAP, SPAP)
  • Atribute RADIUS – Specific furnizor: Cisco – Cisco-AV-Pair – Valoare atribut: device-traffic-class=voice

După autentificarea cu succes (nu uitați să configurați portul comutatorului), să ne uităm la informațiile din port:

sh autentificare 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

Acum, așa cum am promis, să ne uităm la câteva situații care nu sunt complet evidente. De exemplu, trebuie să conectăm computerele și dispozitivele utilizatorului printr-un comutator (comutator) neadministrat. În acest caz, setările portului pentru acesta vor arăta astfel:

comutați setările portului în modul de autentificare multiplă în modul gazdă 802.1x

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  ! увеличиваем кол-во допустимых мас-адресов
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

PS am observat o eroare foarte ciudată - dacă dispozitivul a fost conectat printr-un astfel de comutator și apoi a fost conectat la un comutator gestionat, atunci NU va funcționa până când nu repornim(!) comutatorul.Nu am găsit alte modalități pentru a rezolva această problemă încă.

Un alt punct legat de DHCP (dacă se folosește ip dhcp snooping) - fără astfel de opțiuni:

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

Din anumite motive, nu pot obține corect adresa IP... deși aceasta poate fi o caracteristică a serverului nostru DHCP

Și Mac OS și Linux (care au suport nativ 802.1x) încearcă să autentifice utilizatorul, chiar dacă este configurată autentificarea după adresa Mac.

În următoarea parte a articolului, ne vom uita la utilizarea 802.1x pentru Wireless (în funcție de grupul căruia îi aparține contul de utilizator, îl vom „arunca” în rețeaua corespunzătoare (vlan), deși se vor conecta la același SSID).

Sursa: www.habr.com