Configurazione di 802.1X su switch Cisco tramite NPS a tolleranza di guasto (Windows RADIUS con AD)

Configurazione di 802.1X su switch Cisco tramite NPS a tolleranza di guasto (Windows RADIUS con AD)
Esaminiamo nella pratica l'uso di Windows Active Directory + NPS (2 server per garantire l'affidabilità) + standard 802.1x per il controllo degli accessi e l'autenticazione degli utenti – computer di dominio – dispositivi. È possibile consultare la teoria relativa allo standard su Wikipedia, al seguente link: IEEE 802.1X

Poiché il mio "laboratorio" è limitato in risorse, unisco i ruoli di NPS e controller di dominio, ma vi consiglio di separare questi servizi critici.

Non conoscendo modi standard per sincronizzare le configurazioni (politiche) di Windows NPS, utilizzeremo script PowerShell, eseguiti tramite il Task Scheduler (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.), verrà configurata una politica di gruppo e create delle gruppi di sicurezza.

Alla fine dell'articolo parlerò di alcuni aspetti del lavoro con 802.1x – come è possibile utilizzare switch non gestiti, ACL dinamici, ecc. Condividerò delle informazioni su "bug" catturati...

Iniziamo con l'installazione e la configurazione del failover NPS su Windows Server 2012R2 (su 2016 è tutto simile): tramite Server Manager -> Aggiungi Ruoli e Funzionalità, selezioniamo solo Network Policy Server.

Configurazione di 802.1X su switch Cisco tramite NPS a tolleranza di guasto (Windows RADIUS con AD)

oppure utilizzando PowerShell:

Install-WindowsFeature NPAS -IncludeManagementTools

Una piccola precisazione – poiché per Protected EAP (PEAP) avrete necessariamente bisogno di un certificato che attesti l'autenticità del server (con i diritti appropriati per l'uso), che sarà presente nei client fidati, potrebbe quindi essere necessario installare anche il ruolo Certification Authority. Ma consideriamo che CA sia già installato...

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

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

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

Dopo di che configureremo un'attività nel Task Scheduler: “Export-NpsConfiguration

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

Eseguire per tutti gli utenti — Eseguire con diritti elevati
Quotidianamente — Ripetere l'attività ogni 10 min. per 8 ore.

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

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

e un'attività per la sua esecuzione ogni 10 minuti:

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

Eseguire per tutti gli utenti — Eseguire con diritti elevati
Quotidianamente — Ripetere l'attività ogni 10 min. per 8 ore.

Ora, per verificare, aggiungiamo al NPS su uno dei server(!) un paio di switch come client 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”), oltre alla politica di rete Access Cisco Network Devices (Amministratori di rete):

Condizioni:
Gruppi Windows - domainsg-network-admins
Limitazioni:
Metodi di autenticazione - Autenticazione in chiaro (PAP, SPAP)
Parametri:
Attributi RADIUS: Standard - Service-Type - Login
Specifici del 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 client e parametri dovrebbero apparire anche sul NPS di riserva e possiamo autenticarci sugli switch utilizzando un'account Active Directory, membro del gruppo domainsg-network-admins (che abbiamo creato in precedenza).

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

Politica di gruppo Computers-8021x-Settings:

Configurazione computer (Abilitata)
   Politiche
     Impostazioni Windows
        Impostazioni di sicurezza
          Servizi di sistema
     Wired AutoConfig (Modalità di avvio: Automatica)
Wired Network (802.3) Politiche


NPS-802-1x

Nome	NPS-802-1x
Descrizione	802.1x
Impostazioni globali
IMPOSTAZIONE	VALORE
Utilizzare i servizi di rete LAN cablata di Windows per i clienti	Abilitato
Credenziali utente condivise per l'autenticazione della rete	Abilitato
Profilo di rete
Impostazioni di sicurezza
Abilitare l'uso dell'autenticazione IEEE 802.1X per l'accesso alla rete	Abilitato
Forzare l'uso dell'autenticazione IEEE 802.1X per l'accesso alla rete	Disabilitato
Impostazioni IEEE 802.1X
Autenticazione del computer	Solo computer
Massimo fallimenti di autenticazione	10
Massimo messaggi EAPOL-Start inviati	 
Periodo di attesa (secondi)	 
Periodo di avvio (secondi)	 
Periodo di autenticazione (secondi)	 
Proprietà del metodo di autenticazione della rete
Metodo di autenticazione	Protected EAP (PEAP)
Validare il certificato del server	Abilitato
Connettersi a questi server	 
Non richiedere all'utente di autorizzare nuovi server o autorità di certificazione fidate	Disabilitato
Abilitare il fast reconnect	Abilitato
Disconnettere se il server non presenta il cryptobinding TLV	Disabilitato
Forzare la protezione dell'accesso alla rete	Disabilitato
Configurazione del metodo di autenticazione
Metodo di autenticazione	Password protetta (EAP-MSCHAP v2)
Utilizzare automaticamente il mio nome utente e password di Windows (e dominio, se presente)	Abilitato

Configurazione di 802.1X su switch Cisco tramite NPS a tolleranza di guasto (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 su questo gruppo:

Configurazione di 802.1X su switch Cisco tramite NPS a tolleranza di guasto (Windows RADIUS con AD)

Per verificare che la politica sia stata applicata con successo, puoi aprire “Centro di gestione reti e condivisione (Impostazioni rete e Internet) – Modifica impostazioni adattatore (Configurazione impostazioni adattatore) – Proprietà adattatore”, dove potremo vedere la scheda “Autenticazione”:

Configurazione di 802.1X su switch Cisco tramite NPS a tolleranza di guasto (Windows RADIUS con AD)

Quando ci siamo assicurati che la politica venga applicata con successo, possiamo passare 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 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

Configurazione di 802.1X su switch Cisco tramite NPS a tolleranza di guasto (Windows RADIUS con AD)

Impostazioni di base per la porta dello switch (faccio notare che viene utilizzato il tipo di autenticazione “multi-dominio” – Data & Voice, e c'è anche la possibilità di autenticazione tramite indirizzo mac. Nel periodo di “transizione” ha senso utilizzare nei parametri:


eventi di autenticazione falliti azione autorizza vlan 100
eventi di autenticazione nessuna risposta azione autorizza vlan 100

vlan id non “quarantena”, ma lo stesso a cui il computer utente deve accedere, autorizzando con successo – finché non ci assicuriamo che tutto funzioni correttamente. Questi stessi parametri possono essere utilizzati anche in altri scenari, ad esempio quando su questa porta è collegato uno switch non gestito e vuoi che tutti i dispositivi connessi che non hanno superato l'autenticazione rientrino in una certa vlan (“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
eventi di autenticazione falliti azione autorizza vlan 100
eventi di autenticazione nessuna risposta azione autorizza vlan 100
autenticazione host-mode multi-domain
autenticazione controllo porta auto
autenticazione violazione restrittiva
mab
dot1x pae autentificatore
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 ricevi
lldp trasmetti
spanning-tree portfast
no shu
exit

Puoi verificare che il computer/telefono abbia superato 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 aggiungeremo un dispositivo per i test (nel mio caso si tratta di Grandstream GXP2160 con l'indirizzo MAC 000b.82ba.a7b1 e la corrispondente registrazione domain 00b82baa7b1).

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

Configurazione di 802.1X su switch Cisco tramite NPS a tolleranza di guasto (Windows RADIUS con AD)

in questo modo consentiremo di utilizzare l'indirizzo MAC dei dispositivi come password. Dopo di che possiamo creare una politica di rete per l'autenticazione 802.1x method mab, chiamandola neag-devices-8021x-voice. I parametri sono i seguenti:

  • NAS Port Type – Ethernet
  • Windows Groups – sg-fgpp-mab
  • EAP Types: Autenticazione non crittografata (PAP, SPAP)
  • RADIUS Attributes – Vendor Specific: Cisco – Cisco-AV-Pair – Valore dell'attributo: device-traffic-class=voice

dopo un'autenticazione riuscita (non dimentichiamo di configurare la porta dello switch), vediamo 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:  Authz Success
               Dominio:  VOICE
       Modalità host operativa:  multi-domain
     Direzione controllo operativa:  both
        Autorizzato da:  Authentication Server
      Timeout sessione:  N/A
         Timeout inattività:  N/A
    ID sessione comune:  0000000000000EB2000B8C5E
      ID sessione di contabilità:  0x00000134
               Handle:  0xCE000EB3

Elenco dei metodi eseguibili:
       Metodo   Stato
       dot1x    Failed over
       mab      Authc Success

Ora, come promesso, consideriamo un paio di situazioni non del tutto ovvie. Ad esempio, dobbiamo collegare computer/dispositivi degli utenti attraverso uno switch unmanaged. In questo caso, le impostazioni della porta per esso appariranno nel seguente modo:

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 massimo di indirizzi MAC
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 il dispositivo è stato collegato attraverso questo switch e poi è stato collegato a uno switch gestito, non funzionerà finché non riavviamo(!) lo switch. Fino ad ora non ho trovato altri modi per risolvere questo problema.

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

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

Perché non riesco a ottenere correttamente un indirizzo ip… forse è una caratteristica del nostro server DHCP

Inoltre, Mac OS & Linux (che supportano nativamente 802.1x) cercano di autenticarsi con l'utente, anche se è configurata l'autenticazione per indirizzo MAC.

Nella prossima parte dell'articolo, vedremo l'applicazione di 802.1x per Wireless (a seconda del gruppo di appartenenza dell'account utente, lo 'inseriremo' nella rete appropriata (vlan), anche se si connetteranno a un unico SSID).

Fonte: habr.com

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