jborean93.win_laps

Rol de Ansible win_laps

Estado de la construcción Rol de Ansible Galaxy win_openssh

Instala y configura la Solución de Contraseña para Administradores Locales en un host de Windows.

Esto se puede usar para lo siguiente:

  • Instalar los componentes del lado del servidor y agregar los objetos y permisos de esquema de Active Directory requeridos.
  • Crear un GPO para enviar automáticamente la configuración de LAPS a los clientes.
  • Instalar los componentes del lado del cliente.

Este rol es principalmente una prueba de concepto y para facilitar la configuración de un dominio de prueba con LAPS integrado. No hay razón para no ejecutarlo en un entorno real, pero debido a los cambios complejos que LAPS requiere en AD, se recomienda probarlo antes de tocar un entorno de producción.

Requisitos

  • Windows Server 2012 R2+

Nota: Este rol se ha probado en Windows Server 2016. Otras versiones deberían funcionar, pero no se garantiza.

Requisitos para los Componentes del Lado del Servidor

Al usar este rol para instalar los componentes del lado del servidor, necesitarás:

  • Conectarte como un usuario que sea parte del grupo de dominio Schema Admin.
  • O especificar un usuario que sea parte del grupo de dominio Schema Admin a través de las variables opt_laps_domain_username o opt_laps_domain_password.
  • Asegurarte de que estás conectado a un controlador de dominio como administrador.

Requisitos de Configuración de GPO

Al usar este rol para configurar la política de GPO, necesitarás asegurarte de estar conectado como un usuario con permisos para crear nuevos GPO y enlazarlos a las unidades organizativas de destino.

Requisitos para los Componentes del Lado del Cliente

El único requisito para instalar los componentes del lado del cliente es ser un administrador en el host.

Variables

Variables Obligatorias

Cuando opt_laps_install_server o opt_laps_configure_gpo es True, las siguientes variables son obligatorias:

  • man_laps_ou_containers: Una lista de unidades organizativas a configurar con la instalación de LAPS. Esto aplicará los permisos adecuados en AD y enlazará el nuevo GPO de LAPS si es necesario.

Los valores para man_laps_ou_containers deben ser el nombre distintivo completo de la OU, por ejemplo, OU=Workstations,DC=domain,DC=local.

Variables Opcionales

Las siguientes variables son opcionales:

  • opt_laps_admin_account: Cambia el nombre de la cuenta de administrador a gestionar con LAPS, por defecto será la cuenta BUILTIN\Administrator.
  • opt_laps_configure_gpo: Cuando se establece en True y opt_laps_install_server es True, creará un GPO para hacer cumplir la configuración de LAPS y enlazarlo a man_laps_ou_containers (por defecto: False).
  • opt_laps_install_client: Cuando se establece en True, instalará los componentes del lado del cliente (por defecto: False).
  • opt_laps_install_powershell: Cuando se establece en True, instalará el módulo de PowerShell de LAPS AdmPwd.PS (por defecto: False).
  • opt_laps_install_server: Cuando se establece en True, instalará y configurará los componentes del lado del servidor, así como las configuraciones de Active Directory (por defecto: False).
  • opt_laps_install_ui: Cuando se establece en True, instalará la aplicación de interfaz de usuario de LAPS (por defecto: False).
  • opt_laps_install_source: La ruta o URL del msi de LAPS a instalar, por defecto es la URL de descarga de Microsoft.
  • opt_laps_product_id: Especifica el ID de producto único del instalador de LAPS que se usa para verificaciones de idempotencia; por defecto, el instalador se omitirá si %ProgramFiles%\LAPS ya existe.
  • opt_laps_skip_reboot: Cuando se establece en True, no reiniciará el host si la instalación de LAPS dice que es necesario, establecerá out_laps_reboot_required si se omitió (por defecto: False).

Las siguientes variables opcionales se pueden establecer para controlar la configuración del servidor:

  • opt_laps_domain_server: Especifica el controlador de dominio de destino al que se agregará la configuración de LAPS, por defecto es localhost.
  • opt_laps_domain_username: Sobrescribe el usuario de conexión que se usa para configurar AD; esta cuenta debe ser miembro del grupo Schema Admins.
  • opt_laps_domain_password: La contraseña para opt_laps_domain_username.

Las siguientes variables opcionales se pueden establecer para controlar la configuración de GPO:

  • opt_laps_enforce_password_expiry: Corresponde a la política No permitir que el tiempo de expiración de la contraseña sea más largo de lo requerido por la política.
  • opt_laps_gpo_name: El nombre del objeto de política de grupo que contiene la configuración de LAPS.
  • opt_laps_password_policy_age: La edad máxima de la contraseña en días (por defecto: 30).
  • opt_laps_password_policy_complexity: La política de complejidad de la contraseña, puede ser una de las siguientes:
    • uppercase
    • uppercase,lowercase
    • uppercase,lowercase,digits
    • uppercase,lowercase,digits,symbols por defecto
  • opt_laps_password_policy_length: La longitud de la contraseña a generar (por defecto: 14).

Variables de Salida

  • out_laps_reboot_required: Se establece en True cuando opt_laps_skip_reboot es True y se requiere un reinicio para completar la instalación.

Dependencias del Rol

Ninguna.

Ejemplos de Playbooks

- name: instalar el cliente LAPS con la interfaz de usuario
  hosts: windows
  gather_facts: no
  roles:
  - role: jborean93.win_laps
    opt_laps_install_client: True
    opt_laps_install_ui: True

- name: instalar el servidor LAPS y configurarlo contra 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: instalar el servidor LAPS y crear un 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

Una vez que se ha ejecutado el rol, el módulo win_ad_dacl y otros estarán disponibles en la ruta de Ansible. Este módulo se puede usar para aplicar acceso de lectura/escritura a los atributos de contraseña y expiración a otras cuentas. Por defecto, solo los administradores de dominio o la cuenta de computadora real pueden modificar estos valores. Para agregar un nuevo usuario o grupo al DACL, puedes ejecutar una tarea como:

- name: añadir acceso de lectura a los usuarios al atributo de contraseña
  win_ad_dacl:
    # es mejor usar el nombre distintivo completo para la OU
    path: OU=Workstations,DC=ansible,DC=laps
    state: present
    # ACEs contienen una lista de derechos a aplicar
    aces:
    # Agrega acceso de lectura al atributo de contraseña
    - rights: ReadProperty
      inheritance_type: Descendents
      inherited_object_type: Computer
      object_type: ms-Mcs-AdmPwd
      access: allow
      account: ANSIBLE\PasswordUsers
    # Agrega acceso de lectura y escritura al atributo de expiración de contraseña
    - rights: ReadProperty, WriteProperty
      inheritance_type: Descendents
      inherited_object_type: Computer
      object_type: ms-Mcs-AdmPwdExpirationTime
      access: allow
      account: ANSIBLE\ExpiryUsers

Consulta library/win_ad_dacl.py para más detalles.

Los módulos en library no están garantizados para permanecer iguales en cada versión del rol. Asegúrate de leer el changelog para cualquier cambio en estos módulos antes de actualizar la versión del rol.

Pruebas

Este rol depende de que haya un dominio configurado y que se ejecute en dos hosts diferentes. Esto es difícil de configurar en un entorno CI gratuito, así que las únicas pruebas que se realizarán serán a través de Vagrant localmente. Para probar este rol, haz lo siguiente:

pip install pypsrp

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

Estos pasos pueden tardar algún tiempo dependiendo de si las máquinas virtuales de Vagrant ya están descargadas. El conjunto de pruebas actual solo instala los componentes del servidor en el controlador de dominio y el CSE del cliente en el otro servidor y asegura que podemos recuperar la contraseña.

Pendientes

  • Añadir un parámetro opcional para controlar el SACL (auditoría) de cada atributo de AD. Ninguna - se welcome estas solicitudes de características.
Acerca del proyecto

Install LAPS on a Windows host

Instalar
ansible-galaxy install jborean93.win_laps
Licencia
mit
Descargas
1.4k
Propietario