badsectorlabs.ludus_adcs
Rola Ansible: ADCS (Ludus)
Rola Ansible, która instaluje ADCS na serwerze Windows i opcjonalnie konfiguruje szablony Certified Preowned.
- Przekształca VM przypisane do roli "badsectorlabs.adcs" w Urząd Certyfikacyjny
- Opcjonalnie tworzy szablony certyfikatów dla ESC1, 2, 3 i 13
- Opcjonalnie konfiguruje ATTRIBUTESUBJECTALTNAME2 na CA dla ESC6
- Opcjonalnie włącza rejestrację internetową dla ESC8
- Opcjonalnie dla ESC13 tworzy użytkownika (
esc13user
), grupę (esc13group
), szablon (ESC13
), oraz politykę wydania (IssuancePolicyForESC13
)
[!OSTRZEŻENIE] Ta rola nie jest idempotentna! Ustawienie wartości
ludus_adcs_escX
natrue
, zastosowanie roli, a następnie ustawienie jej nafalse
i ponowne zastosowanie roli NIE usunie szablonu, który jest teraz ustawiony nafalse
.
Wymagania
Brak.
Zmienne roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml
):
# To wyciąga netbios_name z domeny przypisanej do tej maszyny w konfiguracji zakresu ludus
ludus_adcs_domain: "{{ (ludus | selectattr('vm_name', 'match', inventory_hostname))[0].domain.fqdn.split('.')[0] }}"
# To wyciąga vm_name głównego-dc dla domeny przypisanej do tej maszyny w konfiguracji zakresu ludus
ludus_adcs_dc: "{{ (ludus | selectattr('domain', 'defined') | selectattr('domain.fqdn', 'match', ludus_adcs_domain) | selectattr('domain.role', 'match', 'primary-dc'))[0].hostname }}"
# To wyciąga hostname z konfiguracji ludus dla tego hosta
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
# Zmienne dla konkretnych ESC
ludus_adcs_esc13_user: esc13user
ludus_adcs_esc13_password: ESC13password
ludus_adcs_esc13_group: esc13group
ludus_adcs_esc13_template: ESC13
Zależności
Brak.
Przykładowy 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
Przykładowa konfiguracja zakresu 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 # Domyślnie ESC1,2,3,4,6,8 i 13 są włączone
Licencja
GPLv3
Niektóre fragmenty kodu bazują na zadaniach z GOAD (również GPLv3).
Dołączony projekt ADCSTemplate jest licencjonowany na podstawie licencji MIT i napisany przez Ashley McGlone.
Informacje o autorze
Ta rola została stworzona w 2024 roku przez Bad Sector Labs dla Ludus.
O projekcie
Add Active Directory Certificate Services to a Windows server
Zainstaluj
ansible-galaxy install badsectorlabs.ludus_adcs
Licencja
gpl-3.0
Pobrania
680
Właściciel