badsectorlabs.ludus_adcs
Rol de Ansible: ADCS (Ludus)
Un rol de Ansible que instala ADCS en Windows Server y configura opcionalmente plantillas de Certificado Pre-Owned.
- Convierte la VM asignada al rol "badsectorlabs.adcs" en una Autoridad de Certificación.
- Opcionalmente, crea plantillas de certificados para ESC1, 2, 3 y 13.
- Opcionalmente, configura ATTRIBUTESUBJECTALTNAME2 en CA para ESC6.
- Opcionalmente, habilita la inscripción web para ESC8.
- Opcionalmente, para ESC13, crea un usuario (
esc13user
), un grupo (esc13group
), una plantilla (ESC13
) y una política de emisión (IssuancePolicyForESC13
).
¡Advertencia! ¡Este rol no es idempotente! Establecer un valor
ludus_adcs_escX
atrue
, aplicar el rol, luego establecerlo afalse
y aplicar el rol NO eliminará la plantilla que ahora está configurada comofalse
.
Requisitos
Ninguno.
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con sus valores predeterminados (ver defaults/main.yml
):
# Esto extrae el netbios_name del dominio asignado a esta máquina en la configuración de rango de ludus
ludus_adcs_domain: "{{ (ludus | selectattr('vm_name', 'match', inventory_hostname))[0].domain.fqdn.split('.')[0] }}"
# Esto extrae el vm_name del primary-dc para el dominio asignado a esta máquina en la configuración de rango de ludus
ludus_adcs_dc: "{{ (ludus | selectattr('domain', 'defined') | selectattr('domain.fqdn', 'match', ludus_adcs_domain) | selectattr('domain.role', 'match', 'primary-dc'))[0].hostname }}"
# Esto extrae el hostname de la configuración de ludus para este host
ludus_adcs_ca_host: "{{ (ludus | selectattr('vm_name', 'match', inventory_hostname))[0].hostname }}"
ludus_adcs_domain_username: "{{ ludus_adcs_domain }}\\{{ defaults.ad_domain_admin }}"
ludus_adcs_domain_password: "{{ defaults.ad_domain_admin_password }}"
ludus_adcs_ca_common_name: "{{ ludus_adcs_domain }}-CA"
ludus_adcs_esc1: true
ludus_adcs_esc2: true
ludus_adcs_esc3: true
ludus_adcs_esc3_cra: true
ludus_adcs_esc4: true
ludus_adcs_esc6: true
ludus_adcs_esc8: true
ludus_adcs_esc13: true
# Variables para ESC específicos
ludus_adcs_esc13_user: esc13user
ludus_adcs_esc13_password: ESC13password
ludus_adcs_esc13_group: esc13group
ludus_adcs_esc13_template: ESC13
Dependencias
Ninguna.
Ejemplo de Playbook
- hosts: adcs_hosts
roles:
- badsectorlabs.ludus_adcs
vars:
ludus_adcs_domain: mydomain
ludus_adcs_ca_host: CAHOST
ludus_adcs_domain_username: "mydomain\\Administrator"
ludus_adcs_domain_password: P@ssw0rd
ludus_adcs_ca_common_name: mydomain-CA
ludus_adcs_ca_web_enrollment: true
ludus_adcs_esc1: true
ludus_adcs_esc2: true
ludus_adcs_esc3: true
ludus_adcs_esc3_cra: true
ludus_adcs_esc4: true
ludus_adcs_esc6: true
ludus_adcs_esc8: true
ludus_adcs_esc13: true
Ejemplo de Configuración de Rango Ludus
ludus:
- vm_name: "{{ range_id }}-ad-dc-win2022-server-x64-1"
hostname: "{{ range_id }}-DC01-2022"
template: win2022-server-x64-template
vlan: 10
ip_last_octet: 11
ram_gb: 6
cpus: 4
windows:
sysprep: true
domain:
fqdn: ludus.domain
role: primary-dc
roles:
- badsectorlabs.ludus_adcs
role_vars:
ludus_adcs_esc6: false # Por defecto, ESC1, 2, 3, 4, 6, 8 y 13 están habilitados
Licencia
GPLv3
Parte del código se basó en tareas de GOAD (también GPLv3).
El proyecto ADCSTemplate incluido tiene licencia MIT y fue escrito por Ashley McGlone.
Información del Autor
Este rol fue creado en 2024 por Bad Sector Labs, para Ludus.
Acerca del proyecto
Add Active Directory Certificate Services to a Windows server
Instalar
ansible-galaxy install badsectorlabs.ludus_adcs
Licencia
gpl-3.0
Descargas
680
Propietario