Consideriamo in pratica l'utilizzo di Windows Active Directory + NPS (2 server per garantire la tolleranza agli errori) + standard 802.1x per il controllo degli accessi e l'autenticazione degli utenti - computer del dominio - dispositivi. Puoi conoscere la teoria secondo lo standard su Wikipedia, al link:
Poiché il mio "laboratorio" ha risorse limitate, i ruoli di NPS e controller di dominio sono compatibili, ma consiglio comunque di separare tali servizi critici.
Non conosco modi standard per sincronizzare le configurazioni (criteri) di Windows NPS, quindi utilizzeremo gli script PowerShell lanciati dall'utilità di pianificazione (l'autore è il mio ex collega). Per l'autenticazione dei computer del dominio e per i dispositivi che non possono farlo 802.1x (telefoni, stampanti, ecc.), verranno configurati i criteri di gruppo e verranno creati i gruppi di sicurezza.
Alla fine dell'articolo, ti parlerò di alcune complessità del lavoro con 802.1x: come utilizzare switch non gestiti, ACL dinamici, ecc. Condividerò informazioni sui "difetti tecnici" rilevati. .
Cominciamo con l'installazione e la configurazione di failover NPS su Windows Server 2012R2 (tutto è uguale nel 2016): tramite Server Manager -> Aggiunta guidata ruoli e funzionalità, selezionare solo Network Policy Server.
o utilizzando PowerShell:
Install-WindowsFeature NPAS -IncludeManagementTools
Un piccolo chiarimento: da allora EAP protetto (PEAP) avrai sicuramente bisogno di un certificato che confermi l'autenticità del server (con i diritti d'uso appropriati), che sarà considerato attendibile sui computer client, quindi molto probabilmente dovrai installare il ruolo Autorità di certificazione. Ma lo daremo per scontato CA l'hai già installato...
Facciamo 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$
Creiamo uno script PowerShell sul primo server C:ScriptsExport-NPS-config.ps1 con il seguente contenuto:
Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"
Successivamente, configuriamo l'attività nel Task Sheduler: "Esporta-Configurazione Nps"
powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1"
Esegui per tutti gli utenti: esegui con i diritti più elevati
Ogni giorno: ripeti l'attività ogni 10 minuti. entro 8 ore
Nell'NPS di backup configurare l'importazione della configurazione (criteri):
Creiamo uno script PowerShell:
echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1
e un'attività da eseguire ogni 10 minuti:
powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1"
Esegui per tutti gli utenti: esegui con i diritti più elevati
Ogni giorno: ripeti l'attività ogni 10 minuti. entro 8 ore
Ora, per verificare, aggiungiamo a NPS su uno dei server (!) un paio di switch nei client RADIUS (IP e Shared Secret), due policy di richiesta di connessione: Connessione CABLATA (Condizione: “Il tipo di porta NAS è Ethernet”) e WiFi Enterprise (Condizione: "Il tipo di porta NAS è IEEE 802.11"), nonché la politica di rete Accedi ai dispositivi di rete Cisco (Amministratori di rete):
Условия:
Группы Windows - domainsg-network-admins
Ограничения:
Методы проверки подлинности - Проверка открытым текстом (PAP, SPAP)
Параметры:
Атрибуты RADIUS: Стандарт - Service-Type - Login
Зависящие от поставщика - Cisco-AV-Pair - Cisco - shell:priv-lvl=15
Sul lato 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, tutti i parametriclientspolicy dovrebbero apparire sull'NPS di backup e saremo in grado di accedere agli switch utilizzando un account ActiveDirectory, membro del gruppo domainsg-network-admins (che abbiamo creato in anticipo).
Passiamo alla configurazione di Active Directory: crea criteri di gruppo e password, crea i gruppi necessari.
Politica di gruppo Computer-8021x-Impostazioni:
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
Creiamo un gruppo di sicurezza sg-computer-8021x-vl100, dove aggiungeremo i computer che vogliamo distribuire su vlan 100 e configureremo il filtro per la policy di gruppo creata in precedenza per questo gruppo:
Puoi verificare che la policy abbia funzionato correttamente aprendo "Centro connessioni di rete e condivisione (Impostazioni di rete e Internet) - Modifica delle impostazioni dell'adattatore (Configurazione delle impostazioni dell'adattatore) - Proprietà dell'adattatore", dove possiamo vedere la scheda "Autenticazione":
Quando sei sicuro che il criterio sia stato applicato correttamente, puoi procedere con la configurazione del criterio di rete sulle porte del commutatore del livello di accesso e del server dei criteri di rete.
Creiamo una politica di rete neag-computers-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)
Impostazioni tipiche per la porta dello switch (si noti che viene utilizzato il tipo di autenticazione "multidominio" – Dati e voce, e c'è anche la possibilità di autenticazione tramite indirizzo mac. Durante il "periodo di transizione" è opportuno utilizzare in parametri:
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
L'ID vlan non è di "quarantena", ma lo stesso in cui dovrebbe andare il computer dell'utente dopo aver effettuato con successo l'accesso, finché non siamo sicuri che tutto funzioni come dovrebbe. Questi stessi parametri possono essere utilizzati in altri scenari, ad esempio, quando uno switch non gestito è collegato a questa porta e si desidera che tutti i dispositivi ad esso collegati che non hanno superato l'autenticazione cadano in una determinata vlan ("quarantena").
cambiare le impostazioni della porta in modalità multidominio in modalità host 802.1x
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
Puoi assicurarti che il tuo computer e il tuo telefono abbiano superato con successo 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 telefoni e aggiungi un dispositivo per testarlo (nel mio caso è Grandstream GXP2160 con indirizzo mas 000b.82ba.a7b1 e risp. account dominio 00b82baa7b1).
Per il gruppo creato, ridurremo i requisiti della politica della password (utilizzando
Pertanto, consentiremo l'uso degli indirizzi mas del dispositivo come password. Successivamente possiamo creare una policy di rete per l'autenticazione mab con il metodo 802.1x, chiamiamola neag-devices-8021x-voice. I parametri sono i seguenti:
- Tipo di porta NAS: Ethernet
- Gruppi Windows – sg-fgpp-mab
- Tipi EAP: autenticazione non crittografata (PAP, SPAP)
- Attributi RADIUS – Specifico del fornitore: Cisco – Cisco-AV-Pair – Valore attributo: device-traffic-class=voice
Dopo aver eseguito con successo l'autenticazione (non dimenticare di configurare la porta dello switch), esaminiamo le informazioni dalla porta:
autenticazione sh 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
Ora, come promesso, diamo un’occhiata ad un paio di situazioni non del tutto ovvie. Ad esempio, dobbiamo connettere i computer e i dispositivi degli utenti tramite uno switch non gestito (switch). In questo caso, le impostazioni della porta saranno simili a queste:
cambiare le impostazioni della porta in modalità multi-autenticazione 802.1x in modalità host
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 abbiamo notato un problema tecnico molto strano: se il dispositivo era collegato tramite uno switch di questo tipo e poi è stato collegato a uno switch gestito, NON funzionerà finché non riavvieremo (!) lo switch. Non ho trovato altri modi per risolvere ancora questo problema.
Un altro punto relativo al DHCP (se viene utilizzato lo snooping ip DHCP) - senza tali opzioni:
ip dhcp snooping vlan 1-100
no ip dhcp snooping information option
Per qualche motivo non riesco a ottenere correttamente l'indirizzo IP... anche se questa potrebbe essere una caratteristica del nostro server DHCP
Inoltre, Mac OS e Linux (che dispongono del supporto nativo 802.1x) tentano di autenticare l'utente, anche se è configurata l'autenticazione tramite indirizzo Mac.
Nella parte successiva dell'articolo vedremo l'utilizzo di 802.1x per il Wireless (a seconda del gruppo a cui appartiene l'account utente, lo “lanceremo” nella rete corrispondente (vlan), anche se si collegheranno a lo stesso SSID).
Fonte: habr.com