
Lad os se på praktisk brug af Windows Active Directory + NPS (2 servere for at sikre høj tilgængelighed) + standard 802.1x til kontrol af adgang og autentificering af brugere – domænecomputere – enheder. Du kan finde teorien om standarden på Wikipedia, via linket:
Da mit ‘laboratorium’ er begrænset i ressourcer, kombinerer jeg rollerne NPS og domænecontroller, men jeg anbefaler, at du adskiller sådanne kritiske tjenester.
Jeg kender ikke de standardmetoder til synkronisering af konfigurationer (politikker) for Windows NPS, så vi vil bruge PowerShell-scripts, der køres af opgaveplanlæggeren (forfatteren er min tidligere kollega). For autentificering af domænecomputere og for enheder, der ikke kan håndtere 802.1x (telefoner, printere osv.), vil der blive konfigureret gruppepolitik og oprettet sikkerhedsgrupper.
Mod slutningen af artiklen vil jeg fortælle om nogle nuancer ved arbejde med 802.1x – hvordan man kan bruge unmanaged switches, dynamic ACL osv. Jeg vil dele information om indfangede 'bugs'...
Lad os starte med installation og konfiguration af failover NPS på Windows Server 2012R2 (på 2016 er alt det samme): gennem Server Manager -> Add Roles and Features Wizard vælger vi kun Network Policy Server.

eller ved hjælp af PowerShell:
Install-WindowsFeature NPAS -IncludeManagementToolsEn lille afklaring – da du Protected EAP (PEAP) fordi du bestemt vil have brug for et certifikat, der bekræfter serverens ægthed (med de relevante rettigheder), som vil være i de betroede på klientcomputere, så skal du sandsynligvis også installere rollen Certification Authority. Men lad os antage, at CA du allerede har installeret…
Vi gør det samme på den anden server. Vi opretter en mappe til scriptet C:Scripts på begge servere og en delt mappe på den anden server SRV2NPS-config$
På den første server opretter vi et PowerShell-script C:ScriptsExport-NPS-config.ps1 med følgende indhold:
Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"Derefter konfigurerer vi en opgave i Task Scheduler: “Export-NpsConfiguration”
powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1" Udfør for alle brugere — Udfør med de højeste rettigheder
Dagligt — Gentag opgaven hver 10. minut i 8 timer.
På den backup NPS konfigurerer vi import af konfiguration (politikker):
vi opretter et PowerShell-script:
echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1og en opgave til at køre det hver 10. minut:
powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1" Udfør for alle brugere — Udfør med de højeste rettigheder
Dagligt — Gentag opgaven hver 10. minut i 8 timer.
Nu skal vi for at teste tilføje et par switches i NPS på en af serverne(!) som RADIUS-klienter (IP og Shared Secret), to politikker for forbindelse: WIRED-Connect (Betingelse: “NAS-porttype – Ethernet”) og WiFi-Enterprise (Betingelse: “NAS-porttype – IEEE 802.11”), samt netværkspolitikken Access Cisco Network Devices (Netværksadministratorer):
Betingelser:
Windows-grupper - domainsg-network-admins
Begrænsninger:
Authentificeringsmetoder - Åben tekstvalidcheck (PAP, SPAP)
Parametre:
RADIUS-attributter: Standard - Service-Type - Login
Leverandørspecifikke - Cisco-AV-Pair - Cisco - shell:priv-lvl=15Fra switches er følgende indstillinger:
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 99Efter konfigurationen, efter 10 minutter, skal alle klienter, politikker og parametre vises på den backup NPS, og vi vil kunne logge ind på switches med en Active Directory-konto, der er medlem af gruppen domainsg-network-admins (som vi har oprettet på forhånd).
Lad os gå videre til konfigurationen af Active Directory – vi opretter gruppe- og adgangskodepolitikker, samt nødvendige grupper.
Gruppepolitik Computers-8021x-Settings:
Computerkonfiguration (Aktiveret)
Politikker
Windows-indstillinger
Sikkerhedsindstillinger
Systemtjenester
Wired AutoConfig (Startmetode: Automatisk)
Wired-netværket (802.3) Politikker
NPS-802-1x
Navn NPS-802-1x
Beskrivelse 802.1x
Globale indstillinger
INDSTILLING VÆRDI
Brug Windows kabelgebundne LAN-netværkstjenester til klienter Aktiveret
Delte brugerlegitimationsoplysninger til netværksgodkendelse Aktiveret
Netværksprofil
Sikkerhedsindstillinger
Aktiver brug af IEEE 802.1X godkendelse for netværksadgang Aktiveret
Hævd brug af IEEE 802.1X godkendelse for netværksadgang Deaktiveret
IEEE 802.1X-indstillinger
Computer-godkendelse Kun computer
Maksimale godkendelsesfejl 10
Maksimale EAPOL-Start-beskeder sendt
Hold-periode (sekunder)
Start-periode (sekunder)
Godkendelsesperiode (sekunder)
Netværksgodkendelsesmetodeegenskaber
Godkendelsesmetode Beskyttet EAP (PEAP)
Valider servercertifikat Aktiveret
Forbind til disse servere
Bed ikke brugeren om at godkende nye servere eller betroede certifikationsmyndigheder Deaktiveret
Aktiver hurtig genopkobling Aktiveret
Afbryd, hvis serveren ikke præsenterer cryptobinding TLV Deaktiveret
Hæv netværksadgangsbeskyttelse Deaktiveret
Godkendelsesmetodekonfiguration
Godkendelsesmetode Sikret adgangskode (EAP-MSCHAP v2)
Brug automatisk mit Windows-login navn og adgangskode (og domæne hvis nogen) Aktiveret
Lad os oprette en sikkerhedsgruppe sg-computers-8021x-vl100, hvor vi vil tilføje computere, som vi ønsker at distribuere i VLAN 100, og vi indstiller filtrering for den tidligere oprettede gruppepolitik for denne gruppe:

For at sikre, at politikken er blevet anvendt korrekt, kan man åbne “Netværks- og delingscenter (Netværks- og internetindstillinger) – Ændre adapterindstillinger (Konfigurere adapterindstillinger) – Adapteregenskaber”, hvor vi kan se fanen “Autentificering”:

Når vi har bekræftet, at politikken anvendes korrekt, kan vi gå videre til at konfigurere netværkspolitikken på NPS og porte på adgangsskifteren.
Lad os oprette en netværkspolitik neag-computers-8021x-vl100:
Betingelser:
Windows-grupper - sg-computers-8021x-vl100
NAS-porttype - Ethernet
Begrænsninger:
Autentificeringsmetoder - Microsoft: Protected EAP (PEAP) - Uenkrypteret autentifikation (PAP, SPAP)
NAS-porttype - Ethernet
Indstillinger:
Standard:
Framed-MTU 1344
TunnelMediumType 802 (inkluderer alt 802-medie samt Ethernet canonical format)
TunnelPrivateGroupId 100
TunnelType Virtuelle LAN (VLAN) 
Typiske indstillinger for porten på skifteren (jeg vil påpege, at autentificeringstypen “multidomain” - Data & Voice anvendes, og der er også mulighed for autentificering via MAC-adresse. I den “overgangsperiode” giver det mening at bruge i parametrene:
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
VLAN-id’et er ikke “quarantine”, men det samme, som brugersystemet skal tilgå ved succesfuld autentifikation – indtil vi bekræfter, at alt fungerer korrekt. De samme parametre kan også bruges i andre scenarier, for eksempel når der tilsluttes en ikke-administreret skifter til denne port, og du vil have, at alle enheder tilsluttet den, som ikke har gennemgået autentifikation, skal placeres i et bestemt VLAN (“quarantine”).
indstillinger for skifterport i 802.1x tilstand 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
exitFor at bekræfte, at computeren/telefonen er blevet autentificeret korrekt, kan man bruge kommandoen:
sh authentication sessions int Gi1/0/39 detLad os nu oprette en gruppe (f.eks., sg-fgpp-mab ) i Active Directory for telefoner, og lad os tilføje én enhed til tests (i mit tilfælde er det Grandstream GXP2160 med MAC-adressen 000b.82ba.a7b1 og den tilsvarende konto domain 00b82baa7b1).
For den oprettede gruppe sænker vi kravene til politik for adgangskoder (ved hjælp af gennem Active Directory Administrative Center -> domain -> System -> Password Settings Container) med følgende parametre Password-Settings-for-MAB:

hvorved vi tillader at bruge MAC-adresserne på enhederne som adgangskoder. Derefter kan vi oprette en netværkspolitik til autentificering af 802.1x metode mab, som vi kalder neag-devices-8021x-voice. Parametrene er som følger:
- NAS Port Type – Ethernet
- Windows Groups – sg-fgpp-mab
- EAP Types: Ubbeskyttet autentificering (PAP, SPAP)
- RADIUS Attributter – Producent Specifik: Cisco – Cisco-AV-Pair – Attributværdi: device-traffic-class=voice
efter vellykket autentificering (glem ikke at konfigurere switchporten), lad os se oplysningerne fra porten:
sh authentication 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 SuccessNu, som lovet, lad os se på et par mindre åbenlyse situationer. For eksempel, vi skal tilslutte brugerens enheder via en unmanaged switch. I dette tilfælde vil switch-portindstillingerne se således ud:
switch-portindstillinger i 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 ! øg antallet af tilladte MAC-adresser
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-auth ! – autentificeringsmode
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. der er bemærket en meget underlig fejl – hvis en enhed har været tilsluttet via sådan en switch, og derefter er den tilsluttet til en managed switch, så vil den IKKE fungere, indtil vi genstarter(!) switchen. Indtil videre har jeg ikke fundet andre måder at løse dette problem.
En anden ting vedrørende DHCP (hvis ip dhcp snooping bruges) – uden sådanne muligheder:
ip dhcp snooping vlan 1-100
no ip dhcp snooping information optionaf en eller anden grund kan ip-adressen ikke modtages… måske er det en egenskab ved vores DHCP-server
Derudover forsøger Mac OS & Linux (hvorunder 802.1x understøttes nativt) at autentificere brugeren, selvom autentificering via MAC-adresse er konfigureret.
I den næste del af artiklen vil vi se på anvendelsen af 802.1x til trådløse netværk (afhængigt af hvilken gruppe brugerens konto tilhører, vil vi 'placere' dem i det relevante netværk (VLAN), selvom de vil oprette forbindelse til samme SSID).
Kilde: habr.com
