badsectorlabs.ludus_adcs
Ansible Rolle: ADCS (Ludus)
Eine Ansible Rolle, die ADCS auf Windows Server installiert und optional Certified Preowned Vorlagen konfiguriert.
- Macht die VM mit der Rolle "badsectorlabs.adcs" zu einer Zertifizierungsstelle
- Optional: Erstellt Zertifikatvorlagen für ESC1,2,3 und 13
- Optional: Konfiguriert ATTRIBUTESUBJECTALTNAME2 auf der CA für ESC6
- Optional: Aktiviert die Web-Registrierung für ESC8
- Optional: Für ESC13, erstellt einen Benutzer (
esc13user
), eine Gruppe (esc13group
), eine Vorlage (ESC13
) und eine Ausgabe-Richtlinie (IssuancePolicyForESC13
)
[!WARNING] Diese Rolle ist nicht idempotent! Wenn der Wert
ludus_adcs_escX
auftrue
gesetzt wird, die Rolle angewendet wird und dann auffalse
gesetzt wird, wird die jetzt auffalse
gesetzte Vorlage NICHT entfernt.
Anforderungen
Keine.
Rollenvariablen
Verfügbare Variablen sind unten aufgelistet, zusammen mit Standardwerten (siehe defaults/main.yml
):
# Dies zieht den netbios_name aus der Domain, die dieser Maschine in der ludus-Rang-Konfiguration zugewiesen ist
ludus_adcs_domain: "{{ (ludus | selectattr('vm_name', 'match', inventory_hostname))[0].domain.fqdn.split('.')[0] }}"
# Dies zieht den vm_name des primary-dc für die Domain, die dieser Maschine in der ludus-Rang-Konfiguration zugewiesen ist
ludus_adcs_dc: "{{ (ludus | selectattr('domain', 'defined') | selectattr('domain.fqdn', 'match', ludus_adcs_domain) | selectattr('domain.role', 'match', 'primary-dc'))[0].hostname }}"
# Dies zieht den Hostnamen aus der ludus-Konfiguration für diesen 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
# Variablen für spezielle ESCs
ludus_adcs_esc13_user: esc13user
ludus_adcs_esc13_password: ESC13password
ludus_adcs_esc13_group: esc13group
ludus_adcs_esc13_template: ESC13
Abhängigkeiten
Keine.
Beispiel 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
Beispiel der Ludus-Rang-Konfiguration
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 # Standardmäßig sind ESC1,2,3,4,6,8 und 13 aktiviert
Lizenz
GPLv3
Einige Codes basieren auf Aufgaben aus GOAD (ebenfalls GPLv3).
Das enthaltene ADCSTemplate Projekt ist unter der MIT-Lizenz lizenziert und von Ashley McGlone geschrieben.
Autor Informationen
Diese Rolle wurde 2024 von Bad Sector Labs für Ludus erstellt.
Über das Projekt
Add Active Directory Certificate Services to a Windows server
Installieren
ansible-galaxy install badsectorlabs.ludus_adcs
Lizenz
gpl-3.0
Downloads
680
Besitzer