Windows Server 2016: Temporäre Mitgliedschaft in administrativen Gruppen konfigurieren


    Tags: , ,

    Temporäre Mitgliedschaft in AD-GruppenDas optionale Active-Directory-Feature Privileged Access Management (PAM) unter Server 2016 erlaubt es, Benutzer zeit­lich befristet in privi­legierte Grup­pen aufzu­nehmen. Es handelt sich dabei um eine Voraussetzung für JIT, welche jedoch hier ohne Bastion-Forest auskommt.

    PAM ist ein optionales Feature in Active Directory und erfordert ein Forest Functional Level von Windows Server 2016. Es wird auch für die Einrichtung einer Just-In-Time Administration (JIT) benötigt, welche ich bereits in vorangegangenem Artikel beschrieben habe. Zu diesem Zweck muss man einen zusätzlichen Forest für die administrativen Shadow Accounts zur bestehenden Unternehmens­struktur anlegen, kann somit jedoch unmittelbar seine Sicherheitsstrategien umsetzen ohne diese bestehende Gesamtstruktur anzuheben.

    Schutz ohne JIT-Infrastruktur

    Das PAM-Feature kann aber auch ohne die komplexe Infrastruktur aus Shadow Principal, Microsoft Identity Manager (MIM) und dedizierten Forest zum Einsatz kommen. Damit lassen sich Benutzer für eine begrenzte Zeit als Mitglieder in eine privilegierte Gruppe wie die der Domänen-Admins aufnehmen. Sie verlieren dann nach Ablauf des eingestellten Zeitfensters (hier: TTL, Time-to-Live) ihren Status wieder.

    Als Resultat erhält man eine nicht permanente Zugehörigkeit von Benutzern zu administrativen Gruppen und eine erhöhte Netzwerk­sicherheit, weil bei Missbrauch derartiger Credentials der Handlungs­spielraum zumindest zeitlich eingeschränkt bleibt und verfällt.

    Aktivierung von PAM

    Wie bereits erwähnt, wird ein Forest Functional Level (FFL oder Gesamt­struktur­funktions­ebene) gleich Windows Server 2016 für die Aktivierung des PAM-Features vorausgesetzt.

    Eine Verifizierung dieser Bedingung erfolgt mit

    (Get-ADForest).ForestMode

    an einem Domänencontroller oder beispielsweise über die GUI des AD-Verwaltungscenter.

    Abfrage der Gesamtstukturfunktionsebene mit PowerShell

    Ist eine Heraufstufung nötig, kann diese auch mit Hilfe von Active Directory-Domänen und -Vertrauensstellungen (domain.msc) oder dem AD-Verwaltungscenter erfolgen.

    Heraufstufung des FFL im AD-Verwaltungscenter

    Bevor wir nun das Feature aktivieren, frage ich nach der Verfügbarkeit und einer eventuell bereits erfolgten Aktivierung. Ein

    Get-ADOptionalFeature -Filter *

    liefert uns hier entsprechende Ergebnisse zu den optionalen AD-Features und man erkennt anhand von EnabledScopes, ob es aktiviert wurde. Der LDAP-Scope fehlt in den geschweiften Klammern.

    Abfrage der installierten optionalen AD-Features

    Aktivieren lässt sich PAM dann mit einem Aufruf nach diesem Muster:

    Enable-ADOptionalFeature "Privileged Access Management Feature" `
      -Scope ForestConfigurationSet -Target domain.lab

    Der Vorgang ist nicht reversibel. Das bedeutet, einmal aktiviert, lässt sich das PAM-Feature nicht mehr abschalten.

    PAM als optionales AD-Feature aktivieren. Der Vorgang lässt sich nicht mehr rückgängig machen.

    Time-to-live definieren und Benutzer zu Gruppe hinzufügen

    Bevor wir jetzt unseren Benutzer Byrann Zweig temporär für einen Tag Mitglied der Domänen-Admins werden lassen, definiere ich den TTL mit

    $ttl = New-TimeSpan -Days 1

    und frage den Benutzer über seinen Distinguished Name (DN) ab:

    $user = GetADUser "CN=Zweig\, Byrann,OU=ClusterSupport,DC=KUEPPERS-PAM,DC=lab" -Server "AD16-NODE-1"

    Da der Benutzername im AD durch ein Komma getrennt ist (Zweig, Byrann), maskiert man es an dieser Stelle mit einem Backslash. Als nächstes halte ich die zukünftige Gruppe ebenfalls in einer Variablen fest

    $group = Get-ADGroup "CN=Domänen-Admins,CN=Users,DC=KUEPPERS-PAM,DC=LAB" -Server "AD16-NODE-1"

    Abschließend werden alle Daten in folgendem Kommando verarbeitet

    Add-ADGroupMember -Identity $group -Members $user -MemberTimeToLive $ttl

    Der Benutzer wird demnach privilegiertes Mitglied der vordefinierten Gruppe Domänen-Admins, jedoch nur für einen Tag, erkennbar am TimeSpan -Days 1. Anstelle von Days können hier auch Minutes bzw. Hours oder mit End ein Datum definiert werden. Auch die Verifizierung der Mitgliedschaft auf einem Client unter Windows 10 mit whoami /groups spiegelt eine Membership in den AD-Gruppen wider.

    TTL definieren und User temporär Mitglied werden lassen

    Abfrage nach der Restzeit in einer privilegierten Gruppe

    Ob ein Benutzer Mitglied der Domänen-Admins ist, lässt sich leicht herausfinden. Ein Blick auf die GUI sollte die Mitgliedschaften des Benutzers "Zweig" in der Gruppe der Domänen-Admins bestätigen.

    Ob es sich um ein temporäres Mitglied handelt und wie lange es in dieser Gruppe noch verbleibt, gibt die grafische Oberfläche nicht zu erkennen. PowerShell jedoch offenbart hier die nötigen Informationen mit:

    Get-ADGroup "Domänen-Admins" -Properties Member -ShowMemberTimeToLive

    Über Get-ADGroup können Details zum TTL eingesehen werden

    Der TTL-Wert wird anschließend in Sekunden ausgegeben, hier 85.748, also 1429 Minuten (über 23,5 Stunden). Innerhalb dieses Zeitfensters ist Byrann Zweig ein Domänen-Administrator und darf seinen Aufgaben im Scope nachkommen. Mit Ablauf der Restzeit erlischt seine Mitgliedschaft unmittelbar, das Kerberos TGT (Ticket Granting Ticket) wird zurückgesetzt.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Marcel Küppers

    Marcel Küppers arbeitet seit über 25 Jahren in der IT, aktuell als Team Leader, zuvor als Consultant und Infra­structure Architect unter anderem für den japani­schen Konzern JTEKT/TOYODA mit Verant­wortung über die Europa­standorte Krefeld und Paris.
    Da­rüber hinaus wirkte er als Berater im EU-Projekt-Team für alle Loka­tionen des Kon­zerns mit und ist spezia­lisiert auf hoch­verfügbare virtuali­sierte Microsoft-Umgebungen plus Hybrid Cloud Solutions.
    Zertifizierungen: MS Specialist und MCTS für Hyper-V/SCVMM, MCSE, MCITP, MCSA. Zusätzlich zertifiziert für PRINCE2 Projektmanagementmethode.

    // Kontakt: E-Mail, Twitter, LinkedIn //

    Ähnliche Beiträge

    Weitere Links

    1 Kommentar

    Vielen Dank für diese hilfreiche Anleitung. Dazu hätte ich noch folgende Frage. Bei der Abfrage mit "Get-ADGroup "Gruppenname" -Properties Member -ShowMemberTimeToLive" werden alle temporären Gruppenmitglieder mit ihrem TTL aufgelistet. Die Ausgabe scheint aber auf eine gewisse Anzahl von Zeichen begrenzt zu sein (in meinem Fall werden nur vier Mitglieder (in zwei Zeilen) angezeigt. Gibt es eine Möglichkeit, den TTL eines Benutzers individuell abzufragen?