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のために提供されています。

プロジェクトについて

Add Active Directory Certificate Services to a Windows server

インストール
ansible-galaxy install badsectorlabs.ludus_adcs
ライセンス
gpl-3.0
ダウンロード
680
所有者