Configuratie van 802.1X op Cisco-switches met behulp van failover NPS (Windows RADIUS met AD)

Configuratie van 802.1X op Cisco-switches met behulp van failover NPS (Windows RADIUS met AD)
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: IEEE 802.1X

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.

Configuratie van 802.1X op Cisco-switches met behulp van failover NPS (Windows RADIUS met AD)

of met PowerShell:

Install-WindowsFeature NPAS -IncludeManagementTools

Een 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.ps1

en 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=15

Aan 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 99

Na 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

Configuratie van 802.1X op Cisco-switches met behulp van failover NPS (Windows RADIUS met AD)

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:

Configuratie van 802.1X op Cisco-switches met behulp van failover NPS (Windows RADIUS met AD)

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:

Configuratie van 802.1X op Cisco-switches met behulp van failover NPS (Windows RADIUS met AD)

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)

Configuratie van 802.1X op Cisco-switches met behulp van failover NPS (Windows RADIUS met AD)

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
exit

U kunt controleren of de computer/telefoon succesvol is geauthenticeerd met het commando:

sh authentication sessions int Gi1/0/39 det

Laten 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 Fine-Grained Password Policies via Active Directory Administrative Center -> domein -> Systeem -> Wachtwoordinstellingencontainer) met de volgende parameters Password-Settings-for-MAB:

Configuratie van 802.1X op Cisco-switches met behulp van failover NPS (Windows RADIUS met AD)

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 Success

Nu, 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 shu

P.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 option

Om 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

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster