badsectorlabs.ludus_adcs
Rôle Ansible : ADCS (Ludus)
Un rôle Ansible qui installe ADCS sur Windows Server et configure éventuellement des modèles Certified Preowned.
- Transforme la VM assignée au rôle "badsectorlabs.adcs" en autorité de certification
- Crée optionnellement des modèles de certificats pour ESC1,2,3 et 13
- Configure optionnellement ATTRIBUTESUBJECTALTNAME2 sur CA pour ESC6
- Active optionnellement l'inscription en ligne pour ESC8
- Crée optionnellement un utilisateur (
esc13user
), un groupe (esc13group
), un modèle (ESC13
) et une politique d'émission (IssuancePolicyForESC13
) pour ESC13
[!WARNING] Ce rôle n'est pas idempotent ! En définissant une valeur
ludus_adcs_escX
surtrue
, en appliquant le rôle, puis en la définissant surfalse
et en appliquant à nouveau le rôle, cela ne supprimer* pas le modèle qui est maintenant défini surfalse
.
Exigences
Aucune.
Variables du Rôle
Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml
) :
# Cela récupère le netbios_name du domaine assigné à cette machine dans la configuration de la plage ludus
ludus_adcs_domain: "{{ (ludus | selectattr('vm_name', 'match', inventory_hostname))[0].domain.fqdn.split('.')[0] }}"
# Cela récupère le vm_name du primary-dc pour le domaine assigné à cette machine dans la configuration de la plage ludus
ludus_adcs_dc: "{{ (ludus | selectattr('domain', 'defined') | selectattr('domain.fqdn', 'match', ludus_adcs_domain) | selectattr('domain.role', 'match', 'primary-dc'))[0].hostname }}"
# Cela récupère le nom d'hôte à partir de la configuration ludus pour cet hôte
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 pour des ESC spécifiques
ludus_adcs_esc13_user: esc13user
ludus_adcs_esc13_password: ESC13password
ludus_adcs_esc13_group: esc13group
ludus_adcs_esc13_template: ESC13
Dépendances
Aucune.
Exemple 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
Exemple de Configuration de Plage 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 # Par défaut, ESC1,2,3,4,6,8 et 13 sont activés
Licence
GPLv3
Certaines parties du code sont basées sur des tâches de GOAD (également sous GPLv3).
Le projet inclus ADCSTemplate est sous licence MIT et a été écrit par Ashley McGlone.
Informations sur l'Auteur
Ce rôle a été créé en 2024 par Bad Sector Labs, pour Ludus.
À propos du projet
Add Active Directory Certificate Services to a Windows server
Installer
ansible-galaxy install badsectorlabs.ludus_adcs
Licence
gpl-3.0
Téléchargements
680
Propriétaire