badsectorlabs.ludus_adcs

Ansible角色:ADCS(Ludus)

一个用于在Windows Server上安装ADCS的Ansible角色,并可选配置认证二手模板。

  • 将被分配“badsectorlabs.adcs”角色的虚拟机转换为证书颁发机构
  • 可选地,为ESC1、2、3和13创建证书模板
  • 可选地,为ESC6在CA上配置ATTRIBUTESUBJECTALTNAME2
  • 可选地,为ESC8启用Web注册
  • 可选地,为ESC13创建用户(esc13user)、组(esc13group)、模板(ESC13)和签发策略(IssuancePolicyForESC13

[!警告] 此角色不是幂等的!将ludus_adcs_escX值设置为true,应用角色,然后将其设置为false并再次应用角色,将不会删除现在设置为false的模板。

要求

无。

角色变量

以下是可用变量及其默认值(见defaults/main.yml):

# 从ludus范围配置中提取分配给此机器的域的netbios_name
ludus_adcs_domain: "{{ (ludus | selectattr('vm_name', 'match', inventory_hostname))[0].domain.fqdn.split('.')[0] }}"
# 从ludus范围配置中提取分配给此机器的域的主控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。

作者信息

此角色由Bad Sector Labs在2024年为Ludus创建。

关于项目

Add Active Directory Certificate Services to a Windows server

安装
ansible-galaxy install badsectorlabs.ludus_adcs
许可证
gpl-3.0
下载
680
拥有者