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创建。