Tags: Synchronisierung, Authentifizierung, Remote Access
Wenn man einen RADIUS-Server mittels Network Policy Server (NPS) bereitstellt, dann wird häufig ein zweiter Server eingesetzt, um Ausfallsicherheit zu gewährleisten. Allerdings gibt es von Haus aus keine Möglichkeit, um die Konfiguration der NPS-Server zu synchronisieren. Das Problem lässt sich mit PowerShell lösen.
Die schlechteste Variante bestünde darin, dass ein Administrator jede Änderung am NPS doppelt vornimmt, was natürlich erheblichen Mehraufwand und Zeitverlust bedeutet. Eine weitere Möglichkeit wäre ein manueller Ex- und Import der RADIUS-Konfiguration. Dies ist mittels der NPS-Konsole möglich.
RADIUS-Konfiguration per GUI übertragen
Hierzu öffnet man die NPS-Konsole, klickt mit der rechten Maustaste auf NPS (Local) und wählt dort Export Configuration aus.
Danach bestätigt man den Hinweis, dass die Secrets (also die Passwörter) ebenfalls exportiert werden.
Zum Schluss speichert man die Konfiguration in eine XML-Datei, um sie später importieren zu können.
Diese Datei kann man nun auf den zweiten Server kopieren und dort importieren. Dazu öffnet man die NPS Konsole, macht wieder einen Rechtsklick auf den auf NPS (local) und wählt dann Import Configuration aus.
Im darauf folgenden Dialog wählt man die kopierte XML-Datei aus, klickt auf Open und bringt damit beide Server auf dem gleichen Konfigurationsstand.
Dieser Vorgang ist zwar schneller als alle Einstellungen doppelt einzugeben, verlangt aber dennoch ein wenig Aufwand. Daher habe ich ein kleines Skript vorbereitet, das diesen Prozess für uns automatisiert. Jeder Schritt in diesem Skript ist mit einem Kommentar versehen. Trotzdem erläutere ich kurz seinen Ablauf.
NPS-Server über PowerShell synchronisieren
Das Skript wird auf dem Haupt-Server ausgeführt, also dort, von wo man die Konfiguration kopieren möchte. Mit dem Befehl Export-NpsConfiguration wird die Konfiguration einmal mit einem Zeitstempel (als Backup) und einmal ohne Datumsangabe im Dateinamen exportiert.
Die Version ohne Zeitstempel wird dann per Copy-Item auf den Ziel-Server kopiert. Dort exportiert das Skript dann ebenfalls zur Sicherheit die aktuelle Konfiguration, und anschließend importiert es die Einstellungen des Quell-Servers mittels Import-NPSConfiguration.
Das Skript sieht folgendermaßen aus:
Das Skript setzt auf beiden Servern die Ordnerstruktur C:\admin\NPS\Backup voraus, und der Benutzer muss natürlich Administrator sein. Zudem muss der Variablen $NPSDestServer der jeweilige Name des Ziel-Servers als Wert zugewiesen werden, und zwar in der Anweisung
$NPSDestServer = "SecondRADIUS"
Nach einer Konfigurationsänderung kann der Administrator dieses Skript einmal ausführen und danach sind beide Server sofort auf dem gleichen Stand. Hier noch einmal bildlich veranschaulicht:
Zeitgesteuerte Synchronisierung
Aber wie wir wissen, vergisst man solche Sachen gerne, und schon weicht die Konfiguration der beiden Server voneinander ab. Daher empfehle ich, die Server einmal oder mehrmals am Tag mittels eines Tasks zu synchronisieren. Hierzu richtet man einfach einen Task in der Aufgabenplanung ein, der das Skript dann regelmäßig ausführt.
Ich will schließlich noch darauf hinweisen, dass beim Export keine Templates abgespeichert werden. Dies sollte man immer beachten, falls man Templates einsetzen will.
Täglich Know-how für IT-Pros mit unserem Newsletter
Tim Buntrock hat langjährige Erfahrung als Active Directory Enterprise Admin in einem Forest mit über hunderttausend Benutzern weltweit.
Daneben ist er als IT-Autor und Blogger in verschiedenen Communities aktiv und betreibt unter anderem seinen eigenen Blog directoryadmin. Zudem besitzt er Zertifizierungen im Bereich Microsoft, VMWare und Security, die sein Fachwissen bekräftigen.
Verwandte Beiträge
- Passwörter in KeePass nach OneDrive, Google Drive oder Amazon S3 synchronisieren
- Microsoft Authenticator als Passwort-Manager nutzen
- Passwort-Hashes mit Azure Active Directory Connect synchronisieren
- Anleitung: RADIUS-Clients an einen NPS-Server anbinden, Network Policies definieren
- Nextcloud 12 erweitert Collaboration-Funktionen
Weitere Links