Dieser Beitrag zeigt, wie ein Netzwerk mit Hilfe von Zertifikaten, sowie 802.1X in einer Microsoft Windows Server 2016 Domäne gesichert werden kann. Das Protokoll 802.1X ermöglicht es, eine Authentifizierung eines Hosts bei Verbindungsherstellung mit einer Netzwerkkomponenten, etwa einem Switch, zu erzwingen. Auf Basis eines Regelwerks kann so beispielsweise realisiert werden, bestimmten Hosts oder gar Nutzern den Zugriff auf das Netzwerk zu erlauben oder zu verbieten bzw. diesen verschiedenen VLANs im Netzwerk zuzuordnen.
Beispielkonfiguration - Aufbau des 802.1X Labs
Die folgende Topologie besteht aus dem Mindestumfang zur Demonstration von 802.1X. Im Detail werden drei Komponenten verwendet:
- Ein Microsoft Windows 7 Notebook als aufzunehmenden Client,
- ein Microsoft Windows Server 2016 Host, sowie
- ein Switch, im Beispiel ein Cisco Catalyst 3560-CG PoE.
Die Vorgehensweise bei Microsoft Windows Server 2012, sowie Windows 8 oder Windows 10 als Client ist vergleichbar. Um reproduzierbare Ergebnisse zu erhalten, verwende ich für die Demonstration eine neue, bisher ungenutzte Windows 7 sowie Windows Server 2016 Installation.
Es folgt die Konfiguration der Netzwerkkomponente, im Beispiel dem Switch. Die folgende Konfiguration dient einer ersten Prüfung, ob alle Geräte im Netzwerk korrekt miteinander verbunden wurden sowie miteinander kommunizieren können.
Initiale Netzwerkkonfiguration
Der Server und das Notebook sind direkt an einen Cisco-Switch angeschlossen. Das Windows 7 Notebook ist mit dem Anschluss Gi0/1, der Windows Server 2012 mit dem Anschluss Gi0/2 des Switch verbunden. Im Lab werde ich das VLAN 20 als Produktiv-VLAN verwenden.
Die initiale Konfiguration des Switch ist wie folgt:
# VLAN 20 anlegen Switch(config)#vlan 20 Switch(config-vlan)#name Productive Switch(config-vlan)#exit # Interface Gi 0/1 als Access-Port im VLAN 20 Switch(config)#int gi 0/1 Switch(config-if)#sw mo ac Switch(config-if)#sw ac vl 20 # Interface Gi 0/2 als Access-Port im VLAN 20 Switch(config)#int gi 0/2 Switch(config-if)#sw mo ac Switch(config-if)#sw ac vl 20 # SVI Interface im VLAN 20 anlegen Switch(config)#int vlan 20 Switch(config-if)#ip address 172.16.0.100 255.255.255.0 Switch(config-if)#no shut
Die Konfiguration verschiebt beide Windows-Hosts in das VLAN 20. Der Switch selbst ist ebenfalls im VLAN 20 unter der IP 172.16.0.100 erreichbar. Im nächsten Schritt werden IP Adressen für die Netzwerkkonnektivität vergeben, beginnend auf dem Windows Server, mit der Adresse 172.16.0.1/24.
Der Eintrag eines Gateways ist für unsere Beispieltopologie nicht notwendig, da sich alle Geräte innerhalb eines Subnetzes befinden.
Auf dem Windows 7 Client wird die IP 172.16.0.10/24 vergeben, weiterhin als bevorzugter DNS-Server die IP-Adresse des Windows Servers (172.16.0.1). Der DNS-Server ist für die später folgende Aufnahme in die Domäne Voraussetzung. Die Konfiguration kann mit Pings zwischen den Geräten (Server, Client, Switch) verifiziert werden:
In der Beispielgrafik hat der Windows Server den Client sowie den Switch gepingt. Funktioniert der Ping nicht, so sollte als erstes die integrierte Windows-Firewall überprüft werden.
Hostnames
Die Hostnames auf dem Windows Server (Server-1) und dem Windows Client (Client-1) müssen eindeutig identifizierbar benannt sein. Ein Host sollte stets vor Aufnahme in eine Domäne korrekt bezeichnet werden. Anschließend ist jeweils ein Neustart notwendig. Im Screenshot ein Beispiel für den Windows Server.
Im nächsten Schritt wird die Rolle „Active Directory-Domänendienst“ auf dem Windows Server 2016 installiert. Die neue Rolle ermöglicht grundlegende Funktionen, unter anderem die zentrale Verwaltung von Benutzern und Richtlinien.
Windows Server 2016 Active Directory
Die Active Directory Rolle wird in Standardeinstellungen installiert und konfiguriert. Zur Installation wird aus dem Server-Manager heraus der Assistent zum Hinzufügen von Rollen und Features ausgewählt. Im Assistent wird der AD-Domänendienst selektiert.
Zum Abschluss fasst der Assistent die Konfigurationsschritte nochmals zusammen, ein Klick auf „Installieren“ startet die Hinzufügung der Server-Rolle.
Nach der Installation folgt die Konfiguration des Active Directory-Domänendienstes. Insofern im Folgenden von einem Zwischenschritt des Assistenten kein Screenshot vorhanden ist, wurden die Standardeinstellungen verwendet.
Für das 802.1X Lab wird die Option "Neue Gesamtstruktur hinzufügen" ausgewählt. Als Name habe ich "test.local" verwendet.
Im Folgenden muss ein zufälliges DSRM-Kennwort vergeben und die Option "DNS-Server" ausgewählt werden.
Im letzten Schritt folgt die Konfiguration der neuen Windows Server Rolle. Der Prozess ist mit einem Klick auf "Installieren" zu starten.
Nach Abschluss startet der Windows Server gegebenenfalls neu.
Windows Server 2016 Active Directory Zertifikatdienste
Es folgt eine weitere Installation: Die Rolle "Active Directory-Zertifikatdienste". Mit dieser Rolle ist es möglich, die Zertifikate, die für 802.1X benötigt werden, generieren und signieren zu lassen.
Der Rollendienst "Zertifizierungsstellen-Webregistrierung" ermöglicht zum einen die Bereitstellung der Zertifikatssperrlisten (CRLs) auf einem Webserver, zum anderen eine Möglichkeit für den Benutzer, über ein Webinterface selbstständig Zertifikate einreichen und verlängern zu können.
Im letzten Schritt muss die Installation der neuen Rolle bestätigt werden.
Wie bereits nach Installation der AD-Rolle, muss auch diese Rolle abschließend konfiguriert werden.
Der Assistent muss angewiesen werden, beide Rollendienste zu konfigurieren.
Kryptographisch sollte im Folgenden bei RSA mindestens eine Schlüssellänge von 2048, besser jedoch 4096, hinterlegt werden. Als HASH-Algorithmus sollte SHA256 oder besser gewählt werden.
Die Konfigurationsoptionen der neuen Rollendienste müssen bestätigt werden:
Nach Beendigung wurde auf dem Server bisher die Rolle "Active Directory Domänendienste" installiert, sowie erfolgreich eine Stammzertifizierungsstelle generiert und konfiguriert. Für 802.1X wird jedoch noch eine weitere Rolle benötigt.
Windows Server 2016 Netzwerkrichtlinien- und Zugriffsdienste
Bei der Windows Server Rolle "Netzwerkrichtlinien- und Zugriffsdienste" handelt es sich um die letzte Installation, welche für eine erfolgreiche 802.1X Implementierung benötigt wird. Diese lässt sich in wenigen Schritte realisieren:
Im letzten Schritt wird die Installation gestartet:
Einige Schritte würden sich durchaus kombinieren lassen, der Übersichtlichkeit halber habe ich die Aufteilung jedoch wie beschrieben vorgenommen.
Grundsätzliche 802.1X Möglichkeiten
Im Folgenden werden verschiedenen Szenarien der Netzwerkabsicherung vorgestellt:
- Szenario 1 zeigt, wie ein Computer sich mit Hilfe eines Benutzernamens und Passworts am Switch authentifiziert. Die Authentifizierungsdaten werden hierbei auf dem Netzwerkinterface eingetragen und für alle Benutzer eines Computers verwendet. Nach erfolgter Authentifizierung ist der PC fest mit einem definierten VLAN verbunden.
- Szenario 2 zeigt, wie verschiedene Domänen-Benutzer verschiedene VLANs zugewiesen bekommen können. Das verbundene VLAN des PCs richtet sich danach, welcher Benutzer konkret am Computer angemeldet ist.
- Szenario 3 zeigt, wie ein Domänen-Computer aufgrund seines Computerkontos einem VLAN zugewiesen wird.
- Szenario 4 zeigt, wie sich Szenario 3 sicherer, mit Hilfe von Zertifikaten, realisieren lässt.
Die folgenden Szenarien bauen in diesem Beispiellab aufeinander auf.
Szenario 1: Gesamten Computer mit Benutzername/Passwort in ein bestimmtes VLAN verschieben
Ziel von diesem Szenario ist es, dass sich ein Host am Switch authentifizieren muss, um ein bestimmtes VLAN nutzen zu dürfen. Im Beispiel wird festgelegt, dass nur Nutzer einer bestimmten Domänen-Gruppe sich mit ihren Daten am Switch authentifizieren dürfen. Der Client selbst muss hierfür nicht Teil der Domäne sein.
Zu Beginn wird auf dem Windows Server im Modul "Active Directory Benutzer und Gruppen" eine neue Gruppe angelegt. Die Organisationseinheiten (OUs) „Gruppen“ und „Personal“ wurden hierfür bereits aus Gründen der Übersichtlichkeit angelegt. Alle Benutzer der neuen Gruppen sollen später das Recht erhalten, sich am Switch anmelden zu dürfen.
Der Einfachheit dienend, habe ich die neue Gruppe "TestGruppe" genannt. Darauffolgend wird ein neuer Benutzer angelegt. Der Username des neuen Benutzers sowie sein Passwort kann später zur Anmeldung am Switch verwendet werden. Der Benutzer erhält die im Screenshot beschriebenen Attribute.
Bei den Passworteinstellungen muss der erste Haken entfernt werden. Eine Passwortänderung nach dem nächsten Login darf nicht erzwungen werden.
Abschließend wird der Benutzer der vorher angelegten Gruppe "TestGruppe" zugeordnet.
Als nächstes wird das Tool zur Verwaltung des Netzwerkrichtlinienservers gestartet. Rechtsklick auf „Netzwerkrichtlinien“, neue Netzwerkrichtlinie.
Als Bedingung wird die gerade angelegte Benutzergruppe "TestGruppe" ausgewählt.
Final sollte die Bedingung wie folgt aussehen:
Der genannten Gruppe wird der Zugriff auf das Netzwerk gestattet.
Als Authentifizierungsmethode wird Microsoft: Geschütztes EAP (PEAP) mit dem EAP Type EAP-MSCHAPv2 verwendet.
Die Optionen zur Verwendung von weniger sicheren Authentifizierungsverfahren sollten deaktiviert werden. Im Folgenden müssen 3 RADIUS Attribute gesetzt werden: (1) Tunnel-Medium-Type, (2) Tunnel-Pvt-Group-ID sowie (3) Tunnel Type. In der Tunnel-Pvt-Group-ID kann das Ziel-VLAN nach erfolgter Authentifizierung hinterlegt werden. Im Screenshot wurde VLAN 25 verwendet. Das VLAN muss auf dem Switch vorhanden sein.
Nach Abschluss der Konfiguration sollten die Richtlinien wie auf dem folgenden Screenshot dargestellt definiert sein.
Zur Vervollständigung der Konfiguration wird nun der Cisco-Switch als Radius-Client definiert. Der gemeinsame Schlüssel im unteren Bereich muss einmalig sein und in einem späteren Schritt ebenfalls auf dem Switch hinterlegt werden.
Auf der Registerkarte „Erweitert“ wird Cisco als Hardwarehersteller definiert.
Darauffolgend wird der Cisco-Switch konfiguriert:
# Das VLAN für authentifizierte Benutzer anlegen Switch(config)#vlan 25 Switch(config-vlan)#name Secure-VLAN # Trash VLAN, insofern die Authentifizierung erfolglos war Switch(config-if)#vlan 999 Switch(config-vlan)#name Blocked-VLAN # AAA global aktivieren, konfigurieren und den Radius Server konfigurieren Switch(config)#aaa new-model Switch(config)#radius server Server-1 Switch(config-radius-server)#address ipv4 172.16.0.1 Switch(config-radius-server)#key P@ssw0rd Switch(config-radius-server)#exit Switch(config)#aaa authentication dot1x default group radius Switch(config)#aaa authorization network default group radius Switch(config)#dot1x system-auth-control # 802.1X auf dem Interface aktivieren Switch(config)#int gi 0/1 Switch(config-if)#authentication port-control auto Switch(config-if)#dot1x pae authenticator # Hinter dem Port befindet sich nur 1 PC Switch(config-if)#authentication host-mode single-host Switch(config-if)#authentication order dot1x # Bei unvollständiger Authentifizierung den PC ins VLAN 999 verschieben Switch(config-if)#authentication event fail action authorize vlan 999 Switch(config-if)#authentication event no-response action authorize vlan 999
Nach dem Server wird nun der Windows 7 Client konfiguriert. Die Konfiguration beginnt mit der Aktivierung des Windows-Dienstes „Automatische Verkabelung“.
Auf dem betroffenen Netzwerkinterface erscheint eine neue Registerkarte „Authentifizierung“. 802.1X muss aktiviert werden, die Methode ist hier ebenfalls „Microsoft: Geschütztes EAP (PEAP)“.
In den Einstellungen muss „Benutzerauthentifizierung“ gewählt werden, als Anmeldeinformation muss ein Benutzer der Gruppe „TestGruppe“ hinterlegt werden. Im Beispiel wurde der Benutzer „ttest“ mit seinem Passwort hinterlegt.
Die Eigenschaften für geschütztes EAP müssen wie folgt definiert werden:
Die Konfiguration ist nun abgeschlossen. Bei Wiederherstellung der Netzwerkverbindung ist der Computer nun im Ziel VLAN 25. Sollte die Authentifizierung fehlschlagen, kommt er ins VLAN 999. Verifikation am Switch:
Switch#show interface status Port Name Status Vlan Duplex Speed Type Gi0/1 connected 25 a-full a-1000 10/100/1000BaseTX Gi0/2 connected 20 a-full a-1000 10/100/1000BaseTX Gi0/3 notconnect 1 auto auto 10/100/1000BaseTX Gi0/4 notconnect 1 auto auto 10/100/1000BaseTX Gi0/5 notconnect 1 auto auto 10/100/1000BaseTX Gi0/6 notconnect 1 auto auto 10/100/1000BaseTX Gi0/7 notconnect 1 auto auto 10/100/1000BaseTX Gi0/8 notconnect 1 auto auto 10/100/1000BaseTX Gi0/9 notconnect 1 auto auto Not Present Gi0/10 notconnect 1 auto auto Not Present Switch#show authentication sessions Interface MAC Address Method Domain Status Session ID Gi0/1 000c.13ab.14fb dot1x DATA Authz Success AC1007200000025048BB74A
Der Client PC ist im VLAN 25, der Port Gi0/1 ist im Status "Authz Success".
Szenario 2: Domänen-Benutzer individuell nach Anmeldung in ein bestimmtes VLAN verschieben
Ziel soll es sein, dass sich nicht der ganze Computer, sondern jeder Benutzer individuell am Switch authentifiziert. Bei jeder Benutzeranmeldung wird geprüft, ob und in welchem VLAN der Zugriff auf das Netzwerk zugelassen wird. Zu Beginn muss der Client PC dazu in die Domäne aufgenommen werden. Die Aufnahme in die Domäne scheitert aktuell daran, dass sich Client und Server in unterschiedlichen VLANs befinden. Dies ist durch eine Anpassung der Netzwerkrichtlinie (Tunnel-Pvt-Group-ID) in das VLAN 20 zu korrigieren. Der PC kann jetzt in die Domäne aufgenommen werden:
Anschließend müssen auf dem Netzwerkadapter folgende Änderungen vorgenommen werden:
Einstellungen für 802.1X:
Ab jetzt wird nach jeder Anmeldung geprüft, in welches VLAN der Nutzer kommt. Gesteuert werden kann dies über die Netzwerkrichtlinien bzw. Gruppen der Nutzer.
Szenario 3: Domänen-Computer individuell nach Start in ein bestimmtes VLAN verschieben
Sobald der Computer Teil einer Domäne ist, kann neben der Benutzer-Authentifizierung auch eine Authentifizierung des kompletten Computers vorgenommen werden. Optional funktioniert dieser Vorgang auch ohne Domänenmitgliedschaft, insofern der PC manuell im AD hinterlegt wird.
Zu Beginn muss eine neue Gruppe angelegt werden, Mitglied wird unser Windows 7 Client.
Nach bekanntem Schema kann nun eine Netzwerkrichtlinie geschrieben werden, die überprüft, ob das Computerkonto Mitglied der genannten Computergruppe ist:
Darauffolgend wird der Client konfiguriert:
Einstellungen für 802.1X:
Nach erfolgreicher Konfiguration sollte sich der PC auch hier im VLAN 20 befinden.
Szenario 4: Domänen-Computer per Zertifikat in ein bestimmtes VLAN verschieben
Eine weitere Möglichkeit ist die Authentifizierung mit Hilfe eines Zertifikats, was die sicherste aller genannten Methoden ist. Ziel des Szenarios 4 ist es, allen Clients automatisch beim Beitritt in die Domäne ein Zertifikat bereitzustellen.
Zu Beginn ist es notwendig, hierfür eine Zertifikatvorlage zu erstellen. Im Menü der Zertifizierungsstelle muss dazu rechts auf "Zertifikatvorlagen" und "Verwalten" geklickt werden.
Für die Konfiguration ist eine Duplizierung der Vorlage „Computer“ notwendig. Das Duplikat wird wie folgt definiert:
Nach Erstellung muss die neue Zertifikatvorlage hinzugefügt werden:
Im nächsten Schritt wird ein neues Gruppenrichtlinienobjekt erstellt. Das Objekt dient dazu, den Client PCs der Domäne automatisch ein Zertifikat bereitzustellen.
Das Computer-Cert-Deploy Objekt wird per Drag&Drop der Domäne test.local zugewiesen. Anschließend wird eine neues Netzwerkrichtlinienobjekt angelegt:
Zum Abschluss wird auf dem Client der Befehl „gpupdate /force“ ausgeführt. Der Befehl aktualisiert die Gruppenrichtlinien und beantragt im Zuge dessen automatisch ein Zertifikat. Der Client sollte nun automatisiert ein Computerzertifikt zugewiesen bekommen haben. Im letzten Schritt müssen die Einstellungen der Netzwerkkarte wie folgt angepasst werden:
Nach erfolgreicher Konfiguration wird der Computer nun mit Hilfe eines Zertifikats am Netzwerk authentifiziert. Dies kann sowohl auf dem Switch, als auch im Systemprotokoll von Windows verifiziert werden.
Fazit
Die Absicherung mit 802.1X ist in zahlreichen Varianten möglich. Dieser Beitrag hatte das Ziel, grundlegende Informationen über die Konfiguration bereitzustellen. Die Einrichtung von 802.1X lässt sich an vielen Stellen weiter verbessern und automatisieren. In Summe ist 802.1X jedoch ein Standard, bei welchem sich eine tiefere Beschäftigung mit diesem sehr lohnen kann.
Bildnachweise:
- © jamesteohart - Fotolia.com
Vielen Dank, das hat uns geholfen bei einem Projekt. Sehr ausführlich und gut geschrieben. VG N.
Danke für Deine sehr ausführliche und gute Erklärung. Eine große Hilfe für mich! Viele Grüße Thomas
Vielen Dank für den Artikel.
Leider hat sich bei vielen Firmen die Technik bis heute nicht durchgesetzt und beispielsweise WLAN-Zugänge werden häufig noch in Form eines PSKs zur Verfügung gestellt, der auch nach dem Ausscheiden eines Mitarbeiters nicht geändert wird. 802.1x/Radius könnte hier den Zugang zum internen Netz an den Benutzeraccount koppeln und für einen deutlichen Gewinn an Sicherheit sorgen.