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

oppure utilizzando PowerShell:
Install-WindowsFeature NPAS -IncludeManagementToolsUna 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.ps1e 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=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 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
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:

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

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 
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
exitPuoi verificare che il computer/telefono abbia superato 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 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 attraverso Active Directory Administrative Center -> domain -> System -> Password Settings Container) con i seguenti parametri Password-Settings-for-MAB:

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 SuccessOra, 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 shuP.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 optionPerché 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
