badsectorlabs.ludus_adcs
Ansibleロール: ADCS (Ludus)
Windows Server上にADCSをインストールし、オプションでCertified Preownedのテンプレートを設定するAnsibleロールです。
- "badsectorlabs.adcs"ロールが割り当てられたVMを証明書発行機関に変えます。
- 必要に応じて、ESC1、2、3、および13のための証明書テンプレートを作成します。
- 必要に応じて、ESC6のためにCA上のATTRIBUTESUBJECTALTNAME2を設定します。
- 必要に応じて、ESC8のためにウェブ登録を有効にします。
- 必要に応じて、ESC13のためにユーザー(
esc13user
)、グループ(esc13group
)、テンプレート(ESC13
)、および発行ポリシー(IssuancePolicyForESC13
)を作成します。
[!WARNING] このロールは冪等性がありません!
ludus_adcs_escX
の値をtrue
に設定し、ロールを適用した後、その値をfalse
に設定してロールを再適用しても、false
に設定されたテンプレートは削除されません。
要件
特にありません。
ロール変数
使用可能な変数は以下に示されており、デフォルト値も記載されています(defaults/main.yml
を参照):
# このマシンに割り当てられたドメインからnetbios_nameを取得
ludus_adcs_domain: "{{ (ludus | selectattr('vm_name', 'match', inventory_hostname))[0].domain.fqdn.split('.')[0] }}"
# このマシンに割り当てられたドメインのプライマリDCのvm_nameを取得
ludus_adcs_dc: "{{ (ludus | selectattr('domain', 'defined') | selectattr('domain.fqdn', 'match', ludus_adcs_domain) | selectattr('domain.role', 'match', 'primary-dc'))[0].hostname }}"
# このホストのためにludus設定からホスト名を取得
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
# 特定のESCのための変数
ludus_adcs_esc13_user: esc13user
ludus_adcs_esc13_password: ESC13password
ludus_adcs_esc13_group: esc13group
ludus_adcs_esc13_template: ESC13
依存関係
特にありません。
サンプルプレイブック
- 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
サンプル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 # デフォルトではESC1、2、3、4、6、8、13が有効
ライセンス
GPLv3
一部のコードはGOAD(同じくGPLv3)からのタスクに基づいています。
付属のADCSTemplateプロジェクトはMITライセンスでライセンスされており、Ashley McGloneによって作成されました。
作成者情報
このロールは2024年にBad Sector Labsによって作成され、Ludusのために提供されています。