Impostazione di 802.1X sugli switch Cisco utilizzando NPS ad alta disponibilità (Windows RADIUS con AD)

Impostazione di 802.1X sugli switch Cisco utilizzando NPS ad alta disponibilità (Windows RADIUS con AD)
Vediamo nella pratica come utilizzare Active Directory di Windows + NPS (2 server per garantire l'alta disponibilità) + standard 802.1x per il controllo dell'accesso e l'autenticazione degli utenti, ovvero computer di dominio e dispositivi. Puoi consultare la teoria sullo standard su Wikipedia, al seguente link: IEEE 802.1X

Poiché il mio "laboratorio" ha risorse limitate, faccio coincidere i ruoli di NPS e di controller di dominio, ma ti consiglio di separare comunque servizi critici come questi.

Non conosco metodi standard per la sincronizzazione delle configurazioni (politiche) di Windows NPS, quindi utilizzeremo script PowerShell, eseguiti dall'Utilità di pianificazione (l'autore è un mio ex collega). Per l'autenticazione dei computer di dominio e per i dispositivi che non supportano 802.1x (telefoni, stampanti, ecc.), sarà configurata una politica di gruppo e create delle security group.

Alla fine dell'articolo parlerò di alcune sottigliezze del lavoro con 802.1x – come utilizzare switch non gestiti, dynamic ACL e altro. Condividerò informazioni sui "bug" che ho catturato...

Iniziamo con l'installazione e la configurazione di failover NPS su Windows Server 2012R2 (la stessa procedura vale per il 2016): tramite Server Manager -> Aggiungi ruoli e funzionalità, selezioniamo solo Network Policy Server.

Impostazione di 802.1X sugli switch Cisco utilizzando NPS ad alta disponibilità (Windows RADIUS con AD)

oppure tramite PowerShell:

Install-WindowsFeature NPAS -IncludeManagementTools

Una piccola precisazione: poiché per Protected EAP (PEAP) è necessario un certificato che attesti l'autenticità del server (con i diritti necessari per l'uso), il quale sarà installato sui computer client. Pertanto, sarà probabilmente necessario installare anche il ruolo Certification Authority. Ma supponiamo che CA sia già installato...

Facciamo lo stesso anche sul secondo server. Creiamo la cartella per lo script C:Scripts su entrambi i server e la cartella di rete sul secondo server SRV2NPS-config$

Sul primo server creiamo lo script PowerShell C:ScriptsExport-NPS-config.ps1 con il seguente contenuto:

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

Dopo di che, configuriamo il compito in Task Scheduler: “Export-NpsConfiguration

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

Esegui per tutti gli utenti — Esegui con i diritti più elevati
Giornalmente — Ripeti il compito ogni 10 minuti per 8 ore.

Sull'NPS di backup configureremo l'importazione della configurazione (politiche):
creeremo lo script PowerShell:

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

e imposta una pianificazione per l’esecuzione ogni 10 minuti:

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

Esegui per tutti gli utenti — Esegui con i diritti più elevati
Giornalmente — Ripeti il compito ogni 10 minuti per 8 ore.

Ora, per la verifica, aggiungiamo in NPS su uno dei server(!) un paio di switch come clienti RADIUS (IP e Shared Secret), due politiche di richiesta di connessione: WIRED-Connect (Condizione: “Tipo di porta NAS – Ethernet”) e WiFi-Enterprise (Condizione: “Tipo di porta NAS – IEEE 802.11”), e inoltre una policy di rete Access Cisco Network Devices (Network Admins):

Condizioni:
Gruppi Windows - domainsg-network-admins
Restrizioni:
Metodi di autenticazione - Autenticazione in chiaro (PAP, SPAP)
Parametri:
Attibuti RADIUS: Standard - Service-Type - Login
Dipendenti dal fornitore - Cisco-AV-Pair - Cisco - shell:priv-lvl=15

Dalla parte degli switch, le seguenti impostazioni:

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

Dopo la configurazione, dopo 10 minuti, tutte le politiche dei client devono apparire anche sul NPS di riserva e potremo autenticarci sugli switch usando un account Active Directory, membro del gruppo domainsg-network-admins (che abbiamo creato in precedenza).

Passiamo alla configurazione di Active Directory – creiamo le politiche di gruppo e di password, creiamo i gruppi necessari.

Politica di gruppo Computers-8021x-Settings:

Configurazione computer (Abilitato)
   Politiche
     Impostazioni Windows
        Impostazioni di sicurezza
          Servizi di sistema
     Wired AutoConfig (Modalità di avvio: Automatica)
Politiche di rete cablata (802.3)


NPS-802-1x

Nome	NPS-802-1x
Descrizione	802.1x
Impostazioni globali
IMPOSTAZIONE	VALORE
Utilizza i servizi di rete LAN cablati Windows per i client	Abilitato
Credenziali utente condivise per l'autenticazione di rete	Abilitato
Profilo di rete
Impostazioni di sicurezza
Abilita l'uso dell'autenticazione IEEE 802.1X per l'accesso alla rete	Abilitato
Applica l'uso dell'autenticazione IEEE 802.1X per l'accesso alla rete	Disabilitato
Impostazioni IEEE 802.1X
Autenticazione computer	Solo computer
Numero massimo di errori di autenticazione	10
Numero massimo di messaggi EAPOL-Start inviati	 
Periodo di attesa (secondi)	 
Periodo di avvio (secondi)	 
Periodo di autenticazione (secondi)	 
Proprietà dei metodi di autenticazione di rete
Metodo di autenticazione	EAP protetta (PEAP)
Valida il certificato del server	Abilitato
Connetti a questi server	 
Non chiedere all'utente di autorizzare nuovi server o autorità di certificazione fidate	Disabilitato
Abilita il rapido riconnessione	Abilitato
Disconnetti se il server non presenta il TLV di crittografia	Disabilitato
Applica la protezione dell'accesso alla rete	Disabilitato
Configurazione del metodo di autenticazione
Metodo di autenticazione	Password sicura (EAP-MSCHAP v2)
Utilizza automaticamente il mio nome utente e password di accesso a Windows (e dominio, se presente)	Abilitato

Impostazione di 802.1X sugli switch Cisco utilizzando NPS ad alta disponibilità (Windows RADIUS con AD)

Creiamo un gruppo di sicurezza sg-computers-8021x-vl100, dove aggiungeremo i computer che vogliamo distribuire nella VLAN 100 e configureremo la filtrazione per la politica di gruppo creata in precedenza a questo gruppo:

Impostazione di 802.1X sugli switch Cisco utilizzando NPS ad alta disponibilità (Windows RADIUS con AD)

Per verificare che la politica sia stata applicata con successo, aprire "Centro di controllo reti e condivisione (Impostazioni rete e Internet) – Modifica impostazioni scheda (Configurazione impostazioni scheda) – Proprietà scheda", dove possiamo vedere la scheda "Autenticazione":

Impostazione di 802.1X sugli switch Cisco utilizzando NPS ad alta disponibilità (Windows RADIUS con AD)

Una volta confermato che la politica viene applicata con successo, è possibile procedere alla configurazione della politica di rete su NPS e delle porte dello switch di accesso.

Creiamo una politica di rete neag-computers-8021x-vl100:

Condizioni:
  Gruppi di Windows - sg-computers-8021x-vl100
  Tipo di Porta NAS - Ethernet
Vincoli:
  Metodi di Autenticazione - Microsoft: Protected EAP (PEAP) - Autenticazione non crittografata (PAP, SPAP)
  Tipo di Porta NAS - Ethernet
Impostazioni:
  Standard:
   Framed-MTU 1344
   TunnelMediumType 802 (include tutti i media 802 più il formato canonico Ethernet)
   TunnelPrivateGroupId 100
   TunnelType  VLAN virtuali

Impostazione di 802.1X sugli switch Cisco utilizzando NPS ad alta disponibilità (Windows RADIUS con AD)

Impostazioni standard per la porta dello switch (si noti che viene utilizzato il tipo di autenticazione “multi-dominio” – Data & Voice, e c'è anche la possibilità di autenticazione per indirizzo mac. Durante il periodo di transizione, è utile usare nei parametri:


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

l'ID VLAN non è "di quarantena", ma quello a cui il computer dell'utente deve accedere dopo essersi autenticato con successo — fino a quando non ci assicuriamo che tutto funzioni correttamente. Questi parametri possono essere utilizzati anche in altri scenari, ad esempio quando a questa porta è collegato uno switch unmanaged e si desidera che tutti i dispositivi collegati, che non hanno superato l'autenticazione, vengano assegnati a un particolare VLAN ("di quarantena").

impostazioni della porta dello switch in modalità 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

È possibile verificare se il computer/telefono ha superato correttamente l'autenticazione con il comando:

sh authentication sessions int Gi1/0/39 det

Ora creiamo un gruppo (ad esempio, sg-fgpp-mab ) in Active Directory per i telefoni e aggiungiamo un dispositivo per i test (nel mio caso si tratta di Grandstream GXP2160 con l'indirizzo MAC 000b.82ba.a7b1 e con l'account corrispondente domain 00b82baa7b1).

Per il gruppo creato, abbasseremo i requisiti della politica delle password (utilizzando Finely-Grained Password Policies tramite Active Directory Administrative Center -> domain -> System -> Password Settings Container) con i seguenti parametri Password-Settings-for-MAB:

Impostazione di 802.1X sugli switch Cisco utilizzando NPS ad alta disponibilità (Windows RADIUS con AD)

permetteremo così di utilizzare gli indirizzi MAC dei dispositivi come password. Dopodiché, potremo creare una politica di rete per l'autenticazione 802.1x metodo mab, che chiameremo neag-devices-8021x-voice. I parametri sono i seguenti:

  • Tipo di porta NAS – Ethernet
  • Gruppi di Windows – sg-fgpp-mab
  • Tipi EAP: autenticazione non crittografata (PAP, SPAP)
  • Attributi RADIUS – Vendor Specific: Cisco – Cisco-AV-Pair – Valore dell'attributo: device-traffic-class=voice

dopo l'autenticazione riuscita (non dimentichiamo di configurare la porta dello switch), vedremo le informazioni dalla porta:

sh authentication se int Gi1/0/34

----------------------------------------
            Interfaccia:  GigabitEthernet1/0/34
          Indirizzo MAC:  000b.82ba.a7b1
           Indirizzo IP:  172.29.31.89
            Nome utente:  000b82baa7b1
               Stato:  Autenticazione Successo
               Dominio:  VOICE
       Modalità host operativa:  multi-domain
     Direzione controllo operativa:  entrambi
        Autorizzato da:  Server di Autenticazione
      Timeout sessione:  N/A
         Timeout inattivo:  N/A
    ID sessione comune:  0000000000000EB2000B8C5E
      ID sessione contabile:  0x00000134
               Handle:  0xCE000EB3

Elenco dei metodi eseguibili:
       Metodo   Stato
       dot1x    Fallito
       mab      Autenticazione Successo

Ora, come promesso, esaminiamo un paio di situazioni non così ovvie. Ad esempio, abbiamo bisogno di collegare i computer/dispositivi degli utenti tramite uno switch non gestito. In questo caso, le impostazioni della porta appariranno come segue:

impostazioni della porta dello switch in modalità 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  ! aumentiamo il numero di indirizzi MAC consentiti
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-auth  ! – modalità di autenticazione
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. è stato notato un bug molto strano – se un dispositivo è stato collegato tramite questo switch, e poi collegato a uno switch gestito, non funzionerà finché non riavviamo(!) lo switch. Al momento non ho trovato altri modi per risolvere questo problema.

Un altro aspetto, legato al DHCP (se si utilizza ip dhcp snooping) – senza queste opzioni:

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

per qualche motivo non riesco a ottenere un indirizzo IP correttamente... forse è una caratteristica del nostro server DHCP

Inoltre, Mac OS & Linux (in cui il supporto per 802.1x è nativo) tentano di autenticarsi come utenti, anche se è impostata l'autenticazione per indirizzo MAC.

Nella prossima parte dell'articolo esamineremo l'applicazione di 802.1x per le reti Wireless (a seconda del gruppo a cui appartiene l'account utente, lo 'inseriremo' nella rete (VLAN) corrispondente, anche se si connetteranno a un unico SSID).

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster