
Să luăm în considerare în practică utilizarea Windows Active Directory + NPS (2 servere pentru a asigura toleranța la erori) + standard 802.1x pentru controlul accesului și autentificarea utilizatorilor - computere de domeniu - dispozitive. Vă puteți familiariza cu teoria conform standardului de pe Wikipedia, la link-ul:
Deoarece „laboratorul” meu este limitat în resurse, rolurile NPS și controlerul de domeniu sunt compatibile, dar vă recomand să separați în continuare astfel de servicii critice.
Nu cunosc modalități standard de sincronizare a configurațiilor Windows NPS (politici), așa că vom folosi scripturi PowerShell lansate de planificatorul de activități (autorul este fostul meu coleg). Pentru autentificarea computerelor de domeniu și pentru dispozitivele care nu pot 802.1x (telefoane, imprimante etc.), se va configura politica de grup și se vor crea grupuri de securitate.
La sfârșitul articolului, vă voi spune despre unele dintre complexitățile lucrului cu 802.1x - cum puteți utiliza comutatoare negestionate, ACL-uri dinamice etc. Voi împărtăși informații despre „eșecuri” care au fost surprinse.. .
Să începem cu instalarea și configurarea NPS de failover pe Windows Server 2012R2 (totul este la fel în 2016): prin Server Manager -> Add Roles and Features Wizard, selectați doar Network Policy Server.

sau folosind PowerShell:
Install-WindowsFeature NPAS -IncludeManagementToolsO mică precizare – deoarece pentru EAP protejat (PEAP) cu siguranță veți avea nevoie de un certificat care să confirme autenticitatea serverului (cu drepturi corespunzătoare de utilizare), care va fi de încredere pe computerele client, atunci cel mai probabil va trebui să instalați rolul Autoritatea de certificare. Dar vom presupune că CA l-ai instalat deja...
Să facem același lucru pe al doilea server. Să creăm un folder pentru scriptul C:Scripts pe ambele servere și un folder de rețea pe al doilea server SRV2NPS-config$
Să creăm un script PowerShell pe primul server C:ScriptsExport-NPS-config.ps1 cu urmatorul continut:
Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"După aceasta, să configuram sarcina în Task Sheduler: „Export-NpsConfigurationMatei 22:21
powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1" Rulați pentru toți utilizatorii - Rulați cu cele mai înalte drepturi
Zilnic - Repetați sarcina la fiecare 10 minute. în termen de 8 ore
Pe NPS-ul de rezervă, configurați importul configurației (politici):
Să creăm un script PowerShell:
echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1și o sarcină pentru a o executa la fiecare 10 minute:
powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1" Rulați pentru toți utilizatorii - Rulați cu cele mai înalte drepturi
Zilnic - Repetați sarcina la fiecare 10 minute. în termen de 8 ore
Acum, pentru a verifica, să adăugăm la NPS pe unul dintre servere (!) câteva switch-uri în clienții RADIUS (IP și Shared Secret), două politici de solicitare a conexiunii: WIRED-Connect (Condiție: „Tipul portului NAS este Ethernet”) și WiFi-Enterprise (Condiție: „Tipul de port NAS este IEEE 802.11”), precum și politica de rețea Accesați dispozitivele de rețea Cisco (Administratorii de rețea):
Условия:
Группы Windows - domainsg-network-admins
Ограничения:
Методы проверки подлинности - Проверка открытым текстом (PAP, SPAP)
Параметры:
Атрибуты RADIUS: Стандарт - Service-Type - Login
Зависящие от поставщика - Cisco-AV-Pair - Cisco - shell:priv-lvl=15Pe partea comutatorului, următoarele setări:
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 99După configurare, după 10 minute, toți parametrii de politică ale clienților ar trebui să apară pe NPS-ul de rezervă și ne vom putea conecta la switch-uri folosind un cont ActiveDirectory, membru al grupului domainsg-network-admins (pe care l-am creat în prealabil).
Să trecem la configurarea Active Directory - creați politici de grup și parole, creați grupurile necesare.
Politica de grup Calculatoare-8021x-Setări:
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
Să creăm un grup de securitate sg-computers-8021x-vl100, unde vom adăuga computere pe care dorim să le distribuim la vlan 100 și vom configura filtrarea pentru politica de grup creată anterior pentru acest grup:

Puteți verifica dacă politica a funcționat cu succes deschizând „Centrul de rețea și partajare (Setări de rețea și Internet) – Modificarea setărilor adaptorului (Configurarea setărilor adaptorului) – Proprietăți adaptor”, unde putem vedea fila „Autentificare”:

Când sunteți convins că politica este aplicată cu succes, puteți continua la configurarea politicii de rețea pe porturile NPS și ale comutatorului de nivel de acces.
Să creăm o politică de rețea neag-computer-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) 
Setări tipice pentru portul de comutare (vă rugăm să rețineți că se folosește tipul de autentificare „multi-domeniu” – Date și Voce, și există și posibilitatea de autentificare prin adresa mac. În timpul „perioadei de tranziție” este logic să se folosească în parametri:
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
Id-ul vlan nu este unul de „carantină”, ci același în care ar trebui să meargă computerul utilizatorului după conectarea cu succes - până când suntem siguri că totul funcționează așa cum ar trebui. Acești parametri pot fi utilizați în alte scenarii, de exemplu, atunci când un comutator negestionat este conectat la acest port și doriți ca toate dispozitivele conectate la acesta care nu au trecut autentificarea să cadă într-un anumit vlan („carantină”).
comutați setările portului în modul multi-domeniu 802.1x gazdă
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
exitVă puteți asigura că computerul și telefonul dvs. au trecut cu succes autentificarea cu comanda:
sh authentication sessions int Gi1/0/39 detAcum să creăm un grup (de exemplu, sg-fgpp-mab ) în Active Directory pentru telefoane și adăugați un dispozitiv la acesta pentru testare (în cazul meu este Grandstream GXP2160 cu adresa mas 000b.82ba.a7b1 și resp. cont domeniul 00b82baa7b1).
Pentru grupul creat, vom reduce cerințele politicii de parole (folosind prin Centrul de administrare Active Directory -> domeniu -> Sistem -> Container Setări parole) cu următorii parametri Setări-parolă-pentru-MAB:

Astfel, vom permite utilizarea adreselor mas de dispozitiv ca parole. După aceasta, putem crea o politică de rețea pentru metoda 802.1x de autentificare mab, să o numim neag-devices-8021x-voice. Parametrii sunt după cum urmează:
- Tip port NAS – Ethernet
- Grupuri Windows – sg-fgpp-mab
- Tipuri EAP: autentificare necriptată (PAP, SPAP)
- Atribute RADIUS – Specific furnizor: Cisco – Cisco-AV-Pair – Valoare atribut: device-traffic-class=voice
După autentificarea cu succes (nu uitați să configurați portul comutatorului), să ne uităm la informațiile din port:
sh autentificare 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 SuccessAcum, așa cum am promis, să ne uităm la câteva situații care nu sunt complet evidente. De exemplu, trebuie să conectăm computerele și dispozitivele utilizatorului printr-un comutator (comutator) neadministrat. În acest caz, setările portului pentru acesta vor arăta astfel:
comutați setările portului în modul de autentificare multiplă în modul gazdă 802.1x
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 shuPS am observat o eroare foarte ciudată - dacă dispozitivul a fost conectat printr-un astfel de comutator și apoi a fost conectat la un comutator gestionat, atunci NU va funcționa până când nu repornim(!) comutatorul.Nu am găsit alte modalități pentru a rezolva această problemă încă.
Un alt punct legat de DHCP (dacă se folosește ip dhcp snooping) - fără astfel de opțiuni:
ip dhcp snooping vlan 1-100
no ip dhcp snooping information optionDin anumite motive, nu pot obține corect adresa IP... deși aceasta poate fi o caracteristică a serverului nostru DHCP
Și Mac OS și Linux (care au suport nativ 802.1x) încearcă să autentifice utilizatorul, chiar dacă este configurată autentificarea după adresa Mac.
În următoarea parte a articolului, ne vom uita la utilizarea 802.1x pentru Wireless (în funcție de grupul căruia îi aparține contul de utilizator, îl vom „arunca” în rețeaua corespunzătoare (vlan), deși se vor conecta la același SSID).
Sursa: www.habr.com
