
Laten we in de praktijk kijken naar het gebruik van Windows Active Directory + NPS (2 servers voor failover) + standaard 802.1x voor toegangcontrole en authenticatie van gebruikers - domeincomputers - apparaten. Je kunt de theorie over de standaard in Wikipedia vinden via de link:
Aangezien mijn 'laboratorium' beperkt is in middelen, combineer ik de rollen van NPS en domeincontroller, maar ik raad je aan om zulke kritieke services toch te scheiden.
Ik ken geen standaardmethoden voor het synchroniseren van configuraties (beleid) van Windows NPS, daarom zullen we PowerShell-scripts gebruiken, die worden uitgevoerd door de taakplanner (de auteur is mijn voormalige collega). Voor de authenticatie van domeincomputers en van apparaten die niet kunnen in 802.1x (telefoons, printers etc.), zal er een groepsbeleid worden ingesteld en zullen er beveiligingsgroepen worden gemaakt.
Aan het einde van het artikel zal ik enkele nuances van het werken met 802.1x bespreken - hoe je niet-beheerde switches, dynamische ACL's enzovoorts kunt gebruiken. Ik zal informatie delen over opgevangen 'bugs'...
Laten we beginnen met de installatie en configuratie van failover NPS op Windows Server 2012R2 (op 2016 is het vergelijkbaar): via Server Manager -> Add Roles and Features Wizard kiezen we alleen Network Policy Server.

of met PowerShell:
Install-WindowsFeature NPAS -IncludeManagementToolsEen kleine verduidelijking - aangezien voor Protected EAP (PEAP) je absoluut een certificaat nodig hebt dat de autenticiteit van de server bevestigt (met de bijbehorende rechten voor gebruik), dat op de clientcomputers vertrouwd zal zijn, moet je waarschijnlijk ook de rol Certification Authorityinstalleren. Maar laten we aannemen dat CA al is geïnstalleerd...
We doen hetzelfde op de tweede server. Laten we een map voor het script C:Scripts op beide servers aanmaken en een netwerkmmap op de tweede server SRV2NPS-config$
Op de eerste server maken we een PowerShell-script aan C:ScriptsExport-NPS-config.ps1 met de volgende inhoud:
Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"Daarna stellen we een taak in de Taakplanner in: "Export-NpsConfiguration”
powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1" Voer uit voor alle gebruikers — Voer uit met de hoogste rechten
Dagelijks — Herhaal de taak elke 10 minuten gedurende 8 uur.
Op de reserve NPS stellen we de import van de configuratie (beleid) in:
we creëren een PowerShell-script:
echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1en het om de uitvoering ervan elke 10 minuten:
powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1" Voer uit voor alle gebruikers — Voer uit met de hoogste rechten
Dagelijks — Herhaal de taak elke 10 minuten gedurende 8 uur.
Laten we nu, ter controle, op een van de servers(!) een paar switches toevoegen als RADIUS-clients (IP en Shared Secret) en twee verbindingsverzoekbeleid: WIRED-Connect (Voorwaarde: “Type poort NAS – Ethernet”) en WiFi-Enterprise (Voorwaarde: “Type poort NAS – IEEE 802.11”), evenals een netwerkbeleid Access Cisco Network Devices (Netwerkbeheerders):
Voorwaarden:
Groepen Windows - domainsg-network-admins
Beperkingen:
Authenticatiemethoden - Authenticatie in platte tekst (PAP, SPAP)
Parameters:
RADIUS-attributen: Standaard - Service-Type - Login
Leverancier-afhankelijk - Cisco-AV-Pair - Cisco - shell:priv-lvl=15Aan de kant van de switches zijn de volgende instellingen:
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 99Na de configuratie, na 10 minuten, zouden alle clientsbeleidparameters ook op de reserve NPS moeten verschijnen en kunnen we ons aanmelden op de switches met behulp van een Active Directory-account, lid van de groep domainsg-network-admins (die we eerder hebben aangemaakt).
Laten we verder gaan met de configuratie van Active Directory – we maken groeps- en wachtwoordbeleid aan, we creëren de benodigde groepen.
Groepsbeleid Computers-8021x-Instellingen:
Computerconfiguratie (Ingeschakeld)
Beleid
Windows-instellingen
Beveiligingsinstellingen
Systeemdiensten
Wired AutoConfig (Opstartmodus: Automatisch)
Wired-netwerk (802.3) Beleid
NPS-802-1x
Naam NPS-802-1x
Beschrijving 802.1x
Globale instellingen
INSTELLING WAARDE
Gebruik Windows bedrade LAN-netwerkdiensten voor clients Ingeschakeld
Gedeelde gebruikersreferenties voor netwerkauthenticatie Ingeschakeld
Netwerkprofiel
Beveiligingsinstellingen
Gebruik IEEE 802.1X-authenticatie voor netwerktoegang inschakelen Ingeschakeld
Gebruik IEEE 802.1X-authenticatie voor netwerktoegang handhaven Uitgeschakeld
IEEE 802.1X-instellingen
Computerauthenticatie Alleen computer
Maximale authenticatiefouten 10
Maximale EAPOL-Startberichten verzonden
Gehouden periode (seconden)
Startperiode (seconden)
Authenticatieperiode (seconden)
Netwerkauthenticatiemethode-eigenschappen
Authenticatiemethode Beschermde EAP (PEAP)
Validatie servercertificaat Ingeschakeld
Verbind met deze servers
Vraag de gebruiker niet om nieuwe servers of vertrouwde certificeringsinstanties te autoriseren Uitgeschakeld
Versnel snel opnieuw verbinden Ingeschakeld
Verbreken als de server geen cryptobinding TLV presenteert Uitgeschakeld
Handhaven van netwerktechniekbescherming Uitgeschakeld
Authenticatiemethode-configuratie
Authenticatiemethode Beveiligd wachtwoord (EAP-MSCHAP v2)
Gebruik automatisch mijn Windows-inlognaam en wachtwoord (en domein indien van toepassing) Ingeschakeld
Laten we een beveiligingsgroep aanmaken sg-computers-8021x-vl100, waar we computers zullen toevoegen die we willen toewijzen aan VLAN 100 en we instellen filters voor het eerder gemaakte groepsbeleid voor deze groep:

Om te controleren of het beleid succesvol is toegepast, kunt u "Netwerkcentrum en delen (Netwerk- en internetinstellingen) - Wijzig adapterinstellingen (Adapterinstellingen configureren) - Adaptereigenschappen" openen, waar we het tabblad "Authenticatie" kunnen zien:

Wanneer we er zeker van zijn dat het beleid succesvol wordt toegepast, kunnen we verder gaan met het configureren van het netwerkbeleid op NPS en de poorten van de toegangsswitch.
Laten we een netwerkbeleid aanmaken neag-computers-8021x-vl100:
Voorwaarden:
Windows Groepen - sg-computers-8021x-vl100
NAS Poort Type - Ethernet
Beperkingen:
Authentieke Methoden - Microsoft: Protected EAP (PEAP) - Ongecodeerde authenticatie (PAP, SPAP)
NAS Poort Type - Ethernet
Instellingen:
Standaard:
Framed-MTU 1344
TunnelMediumType 802 (bevat alle 802-media plus Ethernet canonieke indeling)
TunnelPrivateGroupId 100
TunnelType Virtuele LAN's (VLAN) 
Standaardinstellingen voor de poort van de switch (ik merk op dat het type authenticatie "multi-domein" is - Data & Voice, en dat er ook authenticatie op basis van MAC-adres mogelijk is. Gedurende de "overgangsperiode" is het zinvol om de volgende parameters te gebruiken:
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
vlan-id is niet van "quarantaine", maar diezelfde, waar de gebruikerscomputer succesvol moet worden geautoriseerd - totdat we zeker weten dat alles correct functioneert. Deze parameters kunnen ook in andere scenario's worden gebruikt, bijvoorbeeld wanneer er een unmanaged switch op deze poort is aangesloten en u wilt dat alle apparaten die zijn aangesloten en niet zijn geauthenticeerd, in een bepaalde VLAN ("quarantaine") komen.
instellingen van de switchpoort in 802.1x modus 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
exitU kunt controleren of de computer/telefoon succesvol is geauthenticeerd met het commando:
sh authentication sessions int Gi1/0/39 detLaten we nu een groep aanmaken (bijvoorbeeld, sg-fgpp-mab ) in Active Directory voor telefoons en voeg er één apparaat aan toe voor tests (in mijn geval is dat Grandstream GXP2160 met het MAC-adres 000b.82ba.a7b1 en de bijbehorende gebruikersaccount domein 00b82baa7b1).
Voor de gemaakte groep verlagen we de vereisten van het wachtwoordbeleid (met behulp van via Active Directory Administrative Center -> domein -> Systeem -> Wachtwoordinstellingencontainer) met de volgende parameters Password-Settings-for-MAB:

waardoor we het gebruik van het MAC-adres van apparaten als wachtwoorden toestaan. Daarna kunnen we een netwerkbeleid voor 802.1x authenticatie met de methode mab creëren, dat we neag-devices-8021x-voice noemen. De parameters zijn als volgt:
- NAS Port Type – Ethernet
- Windows Groups – sg-fgpp-mab
- EAP Types: Onversleutelde authenticatie (PAP, SPAP)
- RADIUS Attributen – Verkoper Specifiek: Cisco – Cisco-AV-Pair – Attribuutwaarde: device-traffic-class=voice
na succesvolle authenticatie (vergeet niet de poort van de switch in te stellen), laten we informatie van de poort zien:
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, zoals beloofd, bekijken we een paar niet zo voor de hand liggende situaties. Bijvoorbeeld, we moeten computers van gebruikers aansluiten via een niet-beheerde switch. In dit geval zullen de poortinstellingen als volgt zijn:
poortinstellingen van de switch in modus 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 ! verhoog het aantal toegestane MAC-adressen
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-auth ! – authenticatiemodus
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. een heel vreemde bug opgemerkt – als een apparaat via zo'n switch was aangesloten en vervolgens in een beheerde switch werd gestoken, zal het niet werken totdat we de switch opnieuw opstarten(!) Tot nu toe heb ik geen andere manieren gevonden om dit probleem op te lossen.
Een ander punt met betrekking tot DHCP (indien ip dhcp snooping wordt gebruikt) – zonder dergelijke opties:
ip dhcp snooping vlan 1-100
no ip dhcp snooping information optionOm de een of andere reden kan ik het ip-adres niet correct verkrijgen... hoewel dit misschien een eigenaardigheid van onze DHCP-server is.
Mac OS & Linux (waar 802.1x native wordt ondersteund) proberen zich te authenticeren met de gebruiker, zelfs als authenticatie op mac-adres is ingesteld.
In het volgende deel van het artikel zullen we de toepassing van 802.1x voor Wireless bekijken (afhankelijk van de groep waartoe het gebruikersaccount behoort, zullen we hen 'in de juiste netwerk (vlan) plaatsen', hoewel ze verbinding maken met hetzelfde SSID).
Bron: habr.com
