
Pogledajmo u praksi korištenje Windows Active Directory + NPS (2 servera za osiguranje otpornosti) + standard 802.1x za kontrolu pristupa i autentifikaciju korisnika – domena računala – uređaja. Teoriju o standardu možete pronaći na Wikipediji, putem linka:
Budući da je moja 'laboratorija' ograničena po resursima, kombiniram NPS ulogu i kontroler domene, no preporučujem vam da odvojite tako kritične servise.
Ne znam standardne metode za sinkronizaciju konfiguracija (politika) Windows NPS, stoga ćemo koristiti PowerShell skripte koje pokreće planirač zadataka (autor je moj bivši kolega). Za autentifikaciju domena računala i za uređaje koji ne podržavaju 802.1x (telefoni, pisači i sl.), bit će postavljena grupna politika i kreirane sigurnosne grupe.
Na kraju članka reći ću nešto o nekim suptilnostima rada s 802.1x – kako koristiti nerazumne preklopnike, dinamičke ACL-ove i sl. Podijelit ću informacije o zabilježenim 'greškama'...
Počnimo s instalacijom i postavljanjem failover NPS-a na Windows Serveru 2012R2 (na 2016. je sve slično): putem Server Managera -> Add Roles and Features Wizard biramo samo Network Policy Server.

ili pomoću PowerShell-a:
Install-WindowsFeature NPAS -IncludeManagementToolsMalo pojašnjenje – budući da za Protected EAP (PEAP) bit će vam obavezno potreban certifikat koji potvrđuje autentičnost poslužitelja (s odgovarajućim pravima na korištenje), koji će se nalaziti u povjerenim na klijentskim računalima, stoga će vam vjerojatno trebati instalirati i ulogu Certification Authority. No pretpostavimo da CA već imate instaliran…
Učinit ćemo isto i na drugom serveru. Kreirat ćemo mapu za skriptu C:Scripts na oba servera i mrežnu mapu na drugom serveru SRV2NPS-config$
Na prvom serveru kreiramo PowerShell skriptu C:ScriptsExport-NPS-config.ps1 s sljedećim sadržajem:
Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"Nakon toga postavit ćemo zadatak u Task Scheduler: “Export-NpsConfiguration”
powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1" Izvršava se za sve korisnike — Izvrši s najvišim pravima
Dnevno — Ponovi zadatak svake 10 minuta tijekom 8 sati.
Na rezervnom NPS-u postavljamo uvoz konfiguracije (politika):
kreirat ćemo PowerShell skriptu:
echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1i zadatak za njegovo izvršavanje svake 10 minuta:
powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1" Izvršava se za sve korisnike — Izvrši s najvišim pravima
Dnevno — Ponovi zadatak svake 10 minuta tijekom 8 sati.
Sada, da bismo provjerili, dodajmo nekoliko preklopnika u RADIUS klijente na jednom od servera (!) (IP i Shared Secret), dvije politike zahtjeva za povezivanje: WIRED-Connect (Uslov: “Tip porta NAS – Ethernet”) i WiFi-Enterprise (Uslov: “Tip porta NAS – IEEE 802.11”), kao i mrežnu politiku Access Cisco Network Devices (Network Admins):
Uslovi:
Grupe Windows - domainsg-network-admins
Ograničenja:
Metode provjere autentičnosti - Provjera otvorenim tekstom (PAP, SPAP)
Parametri:
Atributi RADIUS: Standard - Service-Type - Login
Zavisni od dobavljača - Cisco-AV-Pair - Cisco - shell:priv-lvl=15Sa strane preklopnika sljedeće postavke:
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 99Nakon konfiguracije, nakon 10 minuta, svi klijenti političkih parametara trebaju se pojaviti i na rezervnom NPS-u i moći ćemo se autentificirati na preklopnicima koristeći ActiveDirectory račun, član grupe domainsg-network-admins (koju smo prethodno kreirali).
Pređimo na konfiguraciju Active Directory – kreirat ćemo grupnu i lozinku politike, izraditi potrebne grupe.
Grupna politika Computers-8021x-Settings:
Računarska konfiguracija (Omogućeno)
Politike
Windows postavke
Postavke sigurnosti
Sistem usluge
Wired AutoConfig (Način pokretanja: Automatski)
Wired Network (802.3) Politike
NPS-802-1x
Ime NPS-802-1x
Opis 802.1x
Globalne postavke
POSTAVKA VRIJEDNOST
Koristite Windows žične LAN mrežne usluge za klijente Omogućeno
Dijeljene korisničke vjerodajnice za mrežnu autentifikaciju Omogućeno
Mrežni profil
Postavke sigurnosti
Omogućite korištenje IEEE 802.1X autentifikacije za mrežni pristup Omogućeno
Provedite korištenje IEEE 802.1X autentifikacije za mrežni pristup Onemogućeno
IEEE 802.1X Postavke
Računarska autentifikacija Samo računar
Maksimalni neuspesi autentifikacije 10
Maks. EAPOL-Start poruke poslane
Razdoblje zadržavanja (sekundi)
Početno razdoblje (sekundi)
Razdoblje autentifikacije (sekundi)
Mrežni autentifikacijski metodi
Metoda autentifikacije Zaštićeni EAP (PEAP)
Validirajte certifikat servera Omogućeno
Povežite se s ovim serverima
Ne tražite od korisnika da autorizuje nove servere ili pouzdane certifikacijske authority Onemogućeno
Omogućite brzo ponovno povezivanje Omogućeno
Prekinite ako server ne predstavi cryptobinding TLV Onemogućeno
Provedite zaštitu pristupa mreži Onemogućeno
Konfiguracija metoda autentifikacije
Metoda autentifikacije Zaštićena lozinka (EAP-MSCHAP v2)
Automatski koristite svoje Windows prijavno ime i lozinku (i domen za koji je to potrebno) Omogućeno
Kreirajmo grupu sigurnosti sg-computers-8021x-vl100, kamo ćemo dodavati računala koja želimo rasporediti u VLAN 100 i postaviti filtraciju za prethodno stvorenu grupnu politiku za ovu grupu:

Možete provjeriti je li politika uspješno primijenjena otvaranjem “Centra za upravljanje mrežama i zajedničkim pristupom (Postavke mreže i interneta) – Promjena postavki adaptera (Postavke adaptera) – Svojstva adaptera”, gdje možemo vidjeti karticu “Provjera autentičnosti”:

Kada se uvjerimo da se politika uspješno primjenjuje – možemo preći na postavljanje mrežne politike na NPS i portova pristupnog switcha.
Stvorit ćemo mrežnu politiku neag-computers-8021x-vl100:
Uvjeti:
Windows Grupe - sg-computers-8021x-vl100
NAS Tip Porta - Ethernet
Ograničenja:
Metode autentifikacije - Microsoft: Zaštićeni EAP (PEAP) - Neenkripted autentifikacija (PAP, SPAP)
NAS Tip Porta - Ethernet
Postavke:
Standard:
Framed-MTU 1344
TunnelMediumType 802 (uključuje sve 802 medije plus Ethernet kanonski format)
TunnelPrivateGroupId 100
TunnelType Virtual LANs (VLAN) 
Standardne postavke za port switcha (napominjem da se koristi tip autentifikacije “multi-domain” – Podaci & Glas, kao i mogućnost autentifikacije prema MAC adresi. Tijekom “prijelaznog razdoblja” ima smisla koristiti u postavkama:
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
vlan id nije “karantenski”, već onaj u koji bi korisničko računalo trebalo ući, uspješno se autoriziravši – dok se ne uvjerimo da sve funkcionira kako treba. Iste postavke se mogu koristiti i u drugim scenarijima, na primjer, kada u ovaj port umetnete neuređeni switch i želite da svi uređaji priključeni na njega, a koji nisu prošli autentifikaciju, budu smješteni u određeni vlan (“karantenski”).
postavke porta switcha u modu 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
exitMožete provjeriti jesu li računalotelefon uspješno prošli autentifikaciju pomoću komande:
sh authentication sessions int Gi1/0/39 detSada ćemo stvoriti grupu (na primjer, sg-fgpp-mab ) u Active Directory za telefone i dodajmo jedan uređaj za testiranje (u mom slučaju to je Grandstream GXP2160 s MAC adresom 000b.82ba.a7b1 i odgovarajućim korisničkim računom domain 00b82baa7b1).
Za stvorenu grupu smanjit ćemo zahtjeve politike lozinki (koristeći putem Active Directory Administrative Center -> domain -> System -> Password Settings Container) s ovim postavkama Password-Settings-for-MAB:

čime ćemo omogućiti korištenje MAC adresa uređaja kao lozinki. Nakon toga, moći ćemo kreirati mrežnu politiku za autentifikaciju 802.1x metodom mab, nazvat ćemo je neag-devices-8021x-voice. Postavke su sljedeće:
- NAS Port Type – Ethernet
- Windows Groups – sg-fgpp-mab
- EAP Types: Neenkryptirana autentifikacija (PAP, SPAP)
- RADIUS atributi – Specifično za dobavljača: Cisco – Cisco-AV-Pair – Vrijednost atributa: device-traffic-class=voice
nakon uspješne autentifikacije (ne zaboravite postaviti port prekidača), pogledajmo informacije s porta:
sh authentication se int Gi1/0/34
----------------------------------------
Sučelje: GigabitEthernet1/0/34
MAC Adresa: 000b.82ba.a7b1
IP Adresa: 172.29.31.89
Korisničko ime: 000b82baa7b1
Status: Authz Success
Domena: VOICE
Operativni način hosta: multi-domain
Operativni kontrolni smjer: oba
Ovjeren od: Server za autentifikaciju
Timeout sesije: N/A
Timeout neaktivnosti: N/A
Zajednički ID sesije: 0000000000000EB2000B8C5E
ID sesije obračuna: 0x00000134
Ručka: 0xCE000EB3
Lista izvršivih metoda:
Metoda Država
dot1x Neuspjeh
mab Authc SuccessSada, kao što sam obećao, razmotrit ćemo nekoliko manje očitih situacija. Na primjer, trebamo spojiti korisničke uređaje putem neupotrebljavog prekidača. U tom slučaju postavke porta će izgledati ovako:
postavke porta prekidača u režimu 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 ! povećavamo broj dopuštenih MAC adresa
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-auth ! – režim autentifikacije
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. primijećen je vrlo čudan bug – ako je uređaj bio spojen kroz takav prekidač, a potom je priključen u upravljani prekidač, neće raditi dok ne restartamo(!) prekidač. Za sada nisam pronašao druge načine za rješavanje ovog problema.
Još jedna stvar koja se odnosi na DHCP (ako se koristi ip dhcp snooping) – bez takvih opcija:
ip dhcp snooping vlan 1-100
no ip dhcp snooping information optioniz nekog razloga ne mogu dobiti ispravnu IP adresu... možda je to osobina našeg DHCP poslužitelja
Osim toga, Mac OS & Linux (koji imaju nativnu podršku za 802.1x) pokušavaju proći autentifikaciju korisnika, čak i kada je postavljena autentifikacija prema MAC adresi.
U sljedećem dijelu članka razmotrit ćemo primjenu 802.1x za bežične mreže (ovisno o grupi kojoj pripada korisnik, smjestit ćemo ga u odgovarajuću mrežu (vlan), iako će se povezivati na isti SSID).
Izvor: habr.com
