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 na true, zastosowanie roli, a następnie ustawienie jej na false i ponowne zastosowanie roli NIE usunie szablonu, który jest teraz ustawiony na false.

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