jborean93.win_laps

Ansible Rolle win_laps

Build Status win_openssh Ansible Galaxy Rolle

Installiert und konfiguriert die Local Administrator Password Solution Anwendung auf einem Windows-Host.

Dies kann dazu verwendet werden, Folgendes zu tun:

  • Installieren der Serverkomponenten und Hinzufügen der erforderlichen Active Directory-Schemas und Berechtigungen
  • Erstellen einer GPO, um die LAPS-Konfiguration automatisch an Clients zu übertragen
  • Installieren der Clientkomponenten

Diese Rolle dient hauptsächlich als Konzeptnachweis und erleichtert die Einrichtung einer Testdomäne mit integrierter LAPS. Es gibt keinen Grund, warum Sie dies nicht in einer echten Umgebung ausführen können, aber aufgrund der komplexen Änderungen, die LAPS in AD erfordert, testen Sie dies bitte, bevor Sie eine Produktionsumgebung berühren.

Anforderungen

  • Windows Server 2012 R2+

Hinweis: Diese Rolle wurde auf Windows Server 2016 getestet, andere Versionen sollten funktionieren, aber dies ist nicht garantiert.

Anforderungen an die Serverkomponenten

Wenn Sie diese Rolle verwenden, um die Serverkomponenten zu installieren, müssen Sie:

  • Sich als Benutzer anmelden, der Teil der Schema Admin Domänengruppe ist
  • Oder einen Benutzer angeben, der Teil der Schema Admin Domänengruppe ist, über die Variablen opt_laps_domain_username oder opt_laps_domain_password
  • Sicherstellen, dass Sie als Administrator mit einem Domänencontroller verbunden sind

Anforderungen an die GPO-Konfiguration

Wenn Sie diese Rolle verwenden, um die GPO-Richtlinie zu konfigurieren, müssen Sie sicherstellen, dass Sie sich als Benutzer anmelden, der Berechtigungen zum Erstellen neuer GPOs und zum Verknüpfen mit den Zielorganisationseinheiten hat.

Anforderungen an die Clientkomponenten

Die einzige Anforderung für die Installation der Clientkomponenten ist, dass Sie Administrator auf dem Host sind.

Variablen

Obligatorische Variablen

Wenn opt_laps_install_server oder opt_laps_configure_gpo auf True gesetzt ist, sind die folgenden Variablen obligatorisch:

  • man_laps_ou_containers: Eine Liste von Organisationseinheiten, die mit der LAPS-Installation konfiguriert werden sollen. Damit werden die richtigen Berechtigungen in AD angewendet und, falls erforderlich, die neu erstellte LAPS-GPO verknüpft.

Die Werte für man_laps_ou_containers sollten den vollständigen Distinguished Name der OU haben, z.B. OU=Workstations,DC=domain,DC=local.

Optionale Variablen

Die folgenden Variablen sind optional:

  • opt_laps_admin_account: Ändert den Namen des Administratorkontos, das mit LAPS verwaltet werden soll, standardmäßig wird das Konto BUILTIN\Administrator verwendet.
  • opt_laps_configure_gpo: Wenn auf True und opt_laps_install_server auf True gesetzt wird, erstellt es eine GPO, um die LAPS-Konfiguration durchzusetzen und sie mit man_laps_out_containers zu verknüpfen (Standard: False).
  • opt_laps_install_client: Wenn auf True gesetzt, installiert es die Clientkomponenten (Standard: False).
  • opt_laps_install_powershell: Wenn auf True gesetzt, installiert es das LAPS PowerShell-Modul AdmPwd.PS (Standard: False).
  • opt_laps_install_server: Wenn auf True gesetzt, werden die Serverkomponenten sowie die Active Directory-Konfigurationen installiert und konfiguriert (Standard: False).
  • opt_laps_install_ui: Wenn auf True gesetzt, wird die LAPS UI-Anwendung installiert (Standard: False).
  • opt_laps_install_source: Der Pfad oder die URL des zu installierenden LAPS-MSI, standardmäßig die Download-URL von Microsoft.
  • opt_laps_product_id: Gibt die eindeutige Produkt-ID des LAPS-Installers an, die für Idempotenzprüfungen verwendet wird. Standardmäßig wird der Installer übersprungen, wenn %ProgramFiles%\LAPS bereits existiert.
  • opt_laps_skip_reboot: Wenn auf True gesetzt, wird der Host nicht neu gestartet, wenn die LAPS-Installation einen Neustart benötigt. out_laps_reboot_required wird gesetzt, wenn er übersprungen wurde (Standard: False).

Die folgenden optionalen Variablen können zur Steuerung der Serverkonfiguration gesetzt werden:

  • opt_laps_domain_server: Gibt den Ziel-Domänencontroller an, zu dem die LAPS-Konfiguration hinzugefügt werden soll, standardmäßig localhost.
  • opt_laps_domain_username: Überschreibt den Verbindungsbenutzer, der verwendet wird, um AD zu konfigurieren. Dieses Konto sollte Mitglied der Gruppe Schema Admins sein.
  • opt_laps_domain_password: Das Passwort für opt_laps_domain_username.

Die folgenden optionalen Variablen können zur Steuerung der GPO-Konfiguration gesetzt werden:

  • opt_laps_enforce_password_expiry: Entspricht der Richtlinie Do not allow password expiration time longer than required by policy.
  • opt_laps_gpo_name: Der Name des Gruppenrichtlinienobjekts, das die LAPS-Konfiguration enthält.
  • opt_laps_password_policy_age: Das maximale Alter des Passworts in Tagen (Standard: 30).
  • opt_laps_password_policy_complexity: Die Passwortkomplexitätsrichtlinie, kann eine der folgenden sein:
    • uppercase
    • uppercase,lowercase
    • uppercase,lowercase,digits
    • uppercase,lowercase,digits,symbols Standard
  • opt_laps_password_policy_length: Die Länge des zu generierenden Passworts (Standard: 14).

Ausgabevariablen

  • out_laps_reboot_required: Dies wird auf True gesetzt, wenn opt_laps_skip_reboot auf True gesetzt ist und ein Neustart erforderlich ist, um die Installation abzuschließen.

Rollenabhängigkeiten

Keine

Beispiel-Playbooks

- name: installiere den LAPS-Client mit der UI
  hosts: windows
  gather_facts: no
  roles:
  - role: jborean93.win_laps
    opt_laps_install_client: True
    opt_laps_install_ui: True

- name: installiere den LAPS-Server und konfiguriere ihn für 1 OU
  hosts: windows
  gather_facts: no
  roles:
  - role: jborean93.win_laps
    man_laps_ou_containers:
    - OU=Workstations,DC=domain,DC=local
    - OU=Accounting,DC=domain,DC=local
    opt_laps_install_server: True

- name: installiere den LAPS-Server und erstelle eine GPO
  hosts: windows
  gather_facts: no
  roles:
  - role: jborean93.win_laps
    man_laps_ou_containers:
    - OU=Workstations,DC=domain,DC=local
    opt_laps_install_server: True
    opt_laps_configure_gpo: True

Sobald die Rolle ausgeführt wurde, werden das win_ad_dacl Modul und andere im Ansible-Pfad verfügbar sein. Dieses Modul kann verwendet werden, um Lese-/Schreibzugriff auf die Passwort- und Ablaufattribute für andere Konten zu gewähren. Standardmäßig haben nur Domänenadministratoren oder das tatsächliche Computer-Konto Zugriff auf diese Werte. Um einen neuen Benutzer oder eine Gruppe zum DACL hinzuzufügen, können Sie eine Aufgabe wie folgt ausführen:

- name: füge Benutzern Lesezugriff auf das Passwortattribut hinzu
  win_ad_dacl:
    # es ist am besten, den vollständigen distinguished name für die OU zu verwenden
    path: OU=Workstations,DC=ansible,DC=laps
    state: present
    # ACEs enthalten eine Liste von anzuwendenden Rechten
    aces:
    # Fügt Lesezugriff auf das Passwortattribut hinzu
    - rights: ReadProperty
      inheritance_type: Descendents
      inherited_object_type: Computer
      object_type: ms-Mcs-AdmPwd
      access: allow
      account: ANSIBLE\PasswordUsers
    # Fügt Lese- und Schreibzugriff auf das Passwortablaufattribut hinzu
    - rights: ReadProperty, WriteProperty
      inheritance_type: Descendents
      inherited_object_type: Computer
      object_type: ms-Mcs-AdmPwdExpirationTime
      access: allow
      account: ANSIBLE\ExpiryUsers

Siehe library/win_ad_dacl.py für weitere Details.

Die Module in library sind nicht garantiert, in jeder Rollen-Version gleich zu bleiben. Stellen Sie sicher, dass Sie das Änderungsprotokoll auf Änderungen an diesen Modulen vor dem Upgrade der Rollen-Version lesen.

Testen

Diese Rolle setzt voraus, dass eine Domäne eingerichtet ist und auf zwei verschiedenen Hosts ausgeführt wird. Dies ist schwer in einer kostenlosen CI-Umgebung einzurichten, sodass die einzigen Tests, die durchgeführt werden, lokal über Vagrant erfolgen. Um diese Rolle zu testen, tun Sie Folgendes:

pip install pypsrp

cd tests
vagrant up
ansible-playbook -i inventory.ini main.yml -vvv

Diese Schritte können einige Zeit in Anspruch nehmen, je nachdem, ob die Vagrant-Boxen bereits heruntergeladen wurden. Das aktuelle Test-Suite installiert nur die Serverkomponenten auf dem Domänencontroller und die Client CSE auf dem anderen Server und stellt sicher, dass wir das Passwort abrufen können.

Rückstand

  • Fügen Sie einen optionalen Parameter hinzu, um die SACL (Überwachung) jedes AD-Attributs zu steuern. Keine - Feature-Anfragen sind willkommen.
Über das Projekt

Install LAPS on a Windows host

Installieren
ansible-galaxy install jborean93.win_laps
Lizenz
mit
Downloads
1.4k
Besitzer