Einrichtung von 802.1X auf Cisco-Switches mit einem ausfallsicheren NPS (Windows RADIUS mit AD)

Einrichtung von 802.1X auf Cisco-Switches mit einem ausfallsicheren NPS (Windows RADIUS mit AD)
Wir betrachten in der Praxis die Nutzung von Windows Active Directory + NPS (2 Server zur Sicherstellung der Ausfallsicherheit) + dem Standard 802.1x zur Zugangskontrolle und Authentifizierung von Benutzern – Domänencomputern – Geräten. Die Theorie zum Standard finden Sie auf Wikipedia unter folgendem Link: IEEE 802.1X

Da mein 'Labor' ressourcenschonend ist, kombiniere ich die Rollen von NPS und Domänencontroller, jedoch empfehle ich Ihnen, solche kritischen Dienste zu trennen.

Standardmethoden zur Synchronisation von Konfigurationen (Richtlinien) von Windows NPS sind mir nicht bekannt, daher verwenden wir PowerShell-Skripte, die vom Aufgabenplaner ausgeführt werden (Autor ist mein ehemaliger Kollege). Für die Authentifizierung von Domänencomputern und von Geräten, die nicht mit 802.1X umgehen können 802.1x (Handys, Drucker usw.), wird eine Gruppenrichtlinie eingerichtet und Sicherheitsgruppen erstellt.

Am Ende des Artikels erläutere ich einige Feinheiten im Umgang mit 802.1x – wie man unmanaged Switches, dynamische ACLs usw. verwenden kann. Ich werde Informationen über gefundene 'Bugs' teilen…

Lassen Sie uns mit der Installation und Konfiguration von Failover NPS auf Windows Server 2012R2 beginnen (bei 2016 ist alles ähnlich): über den Server-Manager -> Assistent zum Hinzufügen von Rollen und Funktionen wählen wir nur den Network Policy Server aus.

Einrichtung von 802.1X auf Cisco-Switches mit einem ausfallsicheren NPS (Windows RADIUS mit AD)

oder über PowerShell:

Install-WindowsFeature NPAS -IncludeManagementTools

Eine kleine Anmerkung – da für Protected EAP (PEAP) unbedingt ein Zertifikat erforderlich ist, das die Authentizität des Servers bestätigt (mit den entsprechenden Rechten zur Nutzung), das auf den vertrauenswürdigen Client-Computern installiert sein muss, werden Sie wahrscheinlich auch die Rolle Certification Authorityinstallieren müssen. Aber wir gehen davon aus, dass CA bereits auf Ihrem System installiert ist…

Wir machen dasselbe auf dem zweiten Server. Erstellen Sie einen Ordner für das Skript C:Scripts auf beiden Servern und einen Freigabeordner auf dem zweiten Server SRV2NPS-config$

Auf dem ersten Server erstellen wir ein PowerShell-Skript C:ScriptsExport-NPS-config.ps1 mit folgendem Inhalt:

Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"

Danach richten wir eine Aufgabe im Aufgabenplaner ein: “Export-NpsConfiguration

powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1"

Für alle Benutzer ausführen — Mit höchsten Rechten ausführen
Täglich — Aufgabe alle 10 Minuten für 8 Stunden wiederholen.

Auf dem Backup-NPS richten wir den Import der Konfiguration (Richtlinien) ein:
wir erstellen ein PowerShell-Skript:

echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1

und setzen Sie die Aufgabe, sie alle 10 Minuten auszuführen:

powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1"

Für alle Benutzer ausführen — Mit höchsten Rechten ausführen
Täglich — Aufgabe alle 10 Minuten für 8 Stunden wiederholen.

Jetzt fügen wir zur Überprüfung in NPS auf einem der Server(!) ein paar Switches als RADIUS-Clients (IP und Shared Secret) hinzu, zwei Verbindungsanfragen-Richtlinien: WIRED-Connect (Bedingung: „NAS-Porttyp – Ethernet“) und WiFi-Enterprise (Bedingung: „NAS-Porttyp – IEEE 802.11“), sowie die Netzwerkrichtlinie Access Cisco Network Devices (Netzwerk-Administratoren):

Bedingungen:
Gruppen Windows - domainsg-network-admins
Einschränkungen:
Authentifizierungsmethoden - Klartextüberprüfung (PAP, SPAP)
Parameter:
RADIUS-Attribute: Standard - Service-Type - Login
Anbieterabhängig - Cisco-AV-Pair - Cisco - shell:priv-lvl=15

Auf der Seite der Switches gelten folgende Einstellungen:

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

Nach der Einrichtung sollten nach etwa 10 Minuten alle Clients, Richtlinieneinstellungen auf dem sekundären NPS erscheinen, und wir können uns mit einem Active Directory-Konto, das Mitglied der Gruppe domainsg-network-admins ist (die wir zuvor erstellt haben), bei den Switches anmelden.

Lassen Sie uns mit der Konfiguration von Active Directory fortfahren – wir erstellen Gruppen- und Kennwortrichtlinien und die erforderlichen Gruppen.

Gruppenrichtlinie Computers-8021x-Einstellungen:

Computer Konfiguration (Aktiviert)
   Richtlinien
     Windows-Einstellungen
        Sicherheitseinstellungen
          Systemdienste
     Wired AutoConfig (Startmodus: Automatisch)
Verdrahtete Netzwerkrichtlinien (802.3)


NPS-802-1x

Name	NPS-802-1x
Beschreibung	802.1x
Globale Einstellungen
EINSTELLUNG	WERT
Verwenden Sie Windows LAN-Dienste für Clients	Aktiviert
Geteilte Benutzerdaten für die Netzwerkauthentifizierung	Aktiviert
Netzwerkprofil
Sicherheitseinstellungen
Verwendung der IEEE 802.1X-Authentifizierung für den Netzwerkzugang aktivieren	Aktiviert
Durchsetzung der IEEE 802.1X-Authentifizierung für den Netzwerkzugang	Deaktiviert
IEEE 802.1X Einstellungen
Computer-Authentifizierung	Nur Computer
Maximale Authentifizierungsfehler	10
Maximale gesendete EAPOL-Startnachrichten	 
Haltedauer (Sekunden)	 
Startdauer (Sekunden)	 
Authentifizierungsdauer (Sekunden)	 
Eigenschaften der Netzwerkauthentifizierungsmethode
Authentifizierungsmethode	Geschützte EAP (PEAP)
Serverzertifikat validieren	Aktiviert
Mit diesen Servern verbinden	 
Benutzer nicht auffordern, neue Server oder vertrauenswürdige Zertifizierungsstellen zu autorisieren	Deaktiviert
Schnelle Wiederverbindung aktivieren	Aktiviert
Trennen, wenn der Server keine Cryptobinding TLV präsentiert	Deaktiviert
Durchsetzung des Netzwerkschutzes	Deaktiviert
Konfiguration der Authentifizierungsmethode
Authentifizierungsmethode	Gesichertes Passwort (EAP-MSCHAP v2)
Automatisch meinen Windows-Anmeldenamen und mein Passwort verwenden (und die Domain, falls vorhanden)	Aktiviert

Einrichtung von 802.1X auf Cisco-Switches mit einem ausfallsicheren NPS (Windows RADIUS mit AD)

Lassen Sie uns eine Sicherheitsgruppe erstellen sg-computers-8021x-vl100, in die wir Computer hinzufügen, die wir in VLAN 100 verteilen möchten, und wir werden die Filterung für die zuvor erstellte Gruppenrichtlinie auf diese Gruppe einstellen:

Einrichtung von 802.1X auf Cisco-Switches mit einem ausfallsicheren NPS (Windows RADIUS mit AD)

Um sicherzustellen, dass die Richtlinie erfolgreich angewendet wurde, können Sie "Netzwerk- und Freigabecenter (Netzwerk- und Interneteinstellungen) – Adaptereinstellungen ändern (Adaptereinstellungen konfigurieren) – Eigenschaften des Adapters" öffnen, wo wir die Registerkarte "Authentifizierung" sehen können:

Einrichtung von 802.1X auf Cisco-Switches mit einem ausfallsicheren NPS (Windows RADIUS mit AD)

Sobald Sie bestätigt haben, dass die Richtlinie erfolgreich angewendet wurde, können Sie mit der Konfiguration der Netzwerkrichtlinie auf dem NPS und den Ports des Zugangsswitches fortfahren.

Lassen Sie uns eine Netzwerkrichtlinie erstellen neag-computers-8021x-vl100:

Bedingungen:
  Windows-Gruppen - sg-computers-8021x-vl100
  NAS-Porttyp - Ethernet
Einschränkungen:
  Authentifizierungsmethoden - Microsoft: Geschütztes EAP (PEAP) - Unverschlüsselte Authentifizierung (PAP, SPAP)
  NAS-Porttyp - Ethernet
Einstellungen:
  Standard:
   Framed-MTU 1344
   TunnelMediumType 802 (beinhaltet alle 802-Medien sowie Ethernet-Kanonisches Format)
   TunnelPrivateGroupId  100
   TunnelType  Virtuelle LANs (VLAN)

Einrichtung von 802.1X auf Cisco-Switches mit einem ausfallsicheren NPS (Windows RADIUS mit AD)

Standardkonfiguration für den Switchport (ich weise darauf hin, dass der Authentifizierungstyp 'Multi-Domain' verwendet wird – Daten & Stimme, sowie die Möglichkeit zur Authentifizierung per MAC-Adresse. Während der 'Übergangszeit' macht es Sinn, in den Parametern Folgendes zu verwenden:


authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100

Die VLAN-ID ist nicht „Quarantäne“, sondern die gleiche, in die der Benutzercomputer nach erfolgreicher Authentifizierung gelangen soll – bis wir sicherstellen, dass alles ordnungsgemäß funktioniert. Diese Parameter können auch in anderen Szenarien verwendet werden, beispielsweise wenn an diesen Port ein unmanaged Switch angeschlossen wird und Sie möchten, dass alle Geräte, die an diesen angeschlossen sind und keine Authentifizierung durchlaufen haben, in ein bestimmtes VLAN („Quarantäne“) gelangen.

Switchport-Einstellungen im 802.1X-Modus Host-Modus 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

Um sicherzustellen, dass der Computer bzw. das Telefon erfolgreich authentifiziert wurde, kann der Befehl verwendet werden:

sh authentication sessions int Gi1/0/39 det

Jetzt erstellen wir eine Gruppe (zum Beispiel, sg-fgpp-mab ) im Active Directory für Telefone und fügen ein Gerät zum Testen hinzu (in meinem Fall ist das Grandstream GXP2160 mit der MAC-Adresse 000b.82ba.a7b1 und dem entsprechenden Konto Domain 00b82baa7b1).

Um die erstellte Gruppe zu konfigurieren, senken wir die Anforderungen an die Passwortpolitik (unter Verwendung von Fine-Grained Password Policies über das Active Directory Administrative Center -> Domain -> System -> Password Settings Container) mit folgenden Einstellungen Password-Settings-for-MAB:

Einrichtung von 802.1X auf Cisco-Switches mit einem ausfallsicheren NPS (Windows RADIUS mit AD)

somit erlauben wir die Verwendung von Geräte-MAC-Adressen als Passwörter. Danach können wir eine Netzwerkpolitik für die Authentifizierung mittels 802.1x Methode mab erstellen, die wir neag-devices-8021x-voice nennen. Die Einstellungen sind wie folgt:

  • NAS-Porttyp – Ethernet
  • Windows-Gruppen – sg-fgpp-mab
  • EAP-Typen: Unverschlüsselte Authentifizierung (PAP, SPAP)
  • RADIUS-Attribute – Herstellerspezifisch: Cisco – Cisco-AV-Pair – Attributwert: device-traffic-class=voice

nach erfolgreicher Authentifizierung (vergessen Sie nicht, den Switch-Port zu konfigurieren), schauen wir uns die Informationen vom Port an:

sh authentication se int Gi1/0/34

----------------------------------------
            Schnittstelle:  GigabitEthernet1/0/34
          MAC-Adresse:  000b.82ba.a7b1
           IP-Adresse:  172.29.31.89
            Benutzername:  000b82baa7b1
               Status:  Authz Erfolg
               Domain:  VOICE
       Betriebsmodus:  Multi-Domain
     Betriebssteuerungsrichtung:  beide
        Autorisiert von:  Authentifizierungsserver
      Sitzungszeitüberschreitung:  N/A
         Leerlaufzeitüberschreitung:  N/A
    Gemeinsame Sitzungs-ID:  0000000000000EB2000B8C5E
      Abrechnung Sitzungs-ID:  0x00000134
               Handle:  0xCE000EB3

Liste der ausführbaren Methoden:
       Methode   Status
       dot1x    Übertragung fehlgeschlagen
       mab      Authc Erfolg

Jetzt, wie versprochen, betrachten wir einige weniger offensichtliche Situationen. Zum Beispiel müssen wir Benutzergeräte über einen unmanaged Switch anschließen. In diesem Fall würden die Port-Einstellungen wie folgt aussehen:

Port-Einstellungen des Switches im 802.1x-Host-Modus 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  ! Maximale Anzahl zugelassener MAC-Adressen erhöhen
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-auth  ! – Authentifizierungsmodus
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. Ein sehr merkwürdiger Fehler wurde festgestellt – wenn ein Gerät über einen solchen Switch angeschlossen war und dann an einen managed Switch angeschlossen wird, funktioniert es NICHT, bis wir den Switch neu starten(!) Ich habe bisher keine anderen Lösungen für dieses Problem gefunden.

Ein weiterer Punkt, der mit DHCP zu tun hat (wenn ip dhcp snooping verwendet wird) – ohne diese Optionen:

ip dhcp snooping vlan 1-100
no ip dhcp snooping information option

Irgendwie kann die IP-Adresse nicht korrekt erhalten werden… obwohl das vielleicht eine Besonderheit unseres DHCP-Servers ist.

Außerdem versuchen Mac OS & Linux (wo die Unterstützung für 802.1x nativ ist), sich mit dem Benutzer zu authentifizieren, auch wenn die Authentifizierung nach MAC-Adresse eingestellt ist.

Im nächsten Teil des Artikels betrachten wir die Anwendung von 802.1x für Wireless (abhängig von der Gruppe, zu der das Benutzerkonto gehört, werden wir den Benutzer in das entsprechende Netzwerk (VLAN) „leiten“, obwohl sie sich mit demselben SSID verbinden werden).

Quelle: habr.com

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster