
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:
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.

oppure tramite PowerShell:
Install-WindowsFeature NPAS -IncludeManagementToolsUna 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.ps1e 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=15Dalla 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 99Dopo 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
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:

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":

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 
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 detOra 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 tramite Active Directory Administrative Center -> domain -> System -> Password Settings Container) con i seguenti parametri Password-Settings-for-MAB:

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 SuccessoOra, 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 shuP.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 optionper 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
