justin_p.pdc

ansible-role-pdc

Ansible 角色名称 Github Actions

该角色将创建一个全新的主域控制器(PDC)及其活动目录域/森林。没有进行安全加固。

基于 @jborean93jborean93/ansible-windows 中完成的工作。

适用于

  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012R2

需求

  • 需要 python3-winrm (pywinrm) 来支持 WinRM。

角色变量

defaults/main.yml

变量 描述 默认值
pdc_administrator_username 设置为内置管理员帐户,确保我们知道 NETBIOS\Administrator 的密码。通常建议保留默认值。 Administrator
pdc_administrator_password 内置管理员帐户的密码。如果 pdc_administrator_username 保持默认值,则该密码将成为 NETBIOS\Administrator 的密码。请将此更改为强密码。 P@ssw0rd!
pdc_dns_nics 要设置 DNS 的以太网适配器的名称。默认值为通配符。通常建议保留默认值。 *
pdc_dns_servers pdc_dns_nics 中使用的 DNS 服务器。默认值为 {{ ansible_host }}。通常建议保留默认值。 {{ ansible_host }}
pdc_domain 新活动目录森林的域。建议在测试/实验环境中使用 ad.domain.test。在生产环境中,建议使用现有域及其 ad 子域:ad.domain.tld ad.example.test
pdc_netbios 新活动目录森林的 NetBIOS。根据需要进行更改。 TEST
pdc_domain_path 域的区分名称。此值应与 pdc_domain 中给出的值匹配(例如:dc=ad,dc=domain,dc=test)。 dc=ad,dc=example,dc=test
pdc_domain_safe_mode_password 域安全模式密码。请将此更改为强密码。 P@ssw0rd!
pdc_domain_functional_level 指定新森林中第一个域的域功能级别。域功能级别不能低于森林功能级别,但可以更高。根据需要进行更改。 默认值 (Windows2008R2)
pdc_forest_functional_level 指定新森林的森林功能级别。Windows Server 中的默认森林功能级别通常与您正在使用的版本相同。根据需要进行更改。 默认值 (Windows2008R2)
pdc_required_psmodules 需要从 PSGallery 安装的 PowerShell/DSC 模块。始终确保包含 ActiveDirectoryDsc 以进行 WaitForAD 检查。通常建议保留默认值。 [xPSDesiredStateConfiguration, NetworkingDsc, ComputerManagementDsc, ActiveDirectoryDsc]
pdc_required_features 应该在域控制器上安装的 Windows 特性。默认值为 AD 域服务和 DNS。通常建议保留默认值。 ["AD-domain-services", "DNS"]
pdc_desired_dns_forwarders PDC 的期望 DNS 转发器。默认为 Google DNS。根据需要进行更改。 ["8.8.8.8", "8.8.4.4"]

依赖关系

  • Windows 主机上的 WinRM 应配置为支持 Ansible。
  • justin_p.posh5
  • justin_p.wincom

示例剧本

    - hosts: primary_domain_controller
      roles:
        - role: justin_p.posh5
        - role: justin_p.wincom
        - role: justin_p.pdc

请参阅 这里 获取示例清单。

本地开发

此角色包含一个 Vagrantfile,将在 Virtualbox 中启动一个本地 Windows Server 2019 虚拟机。
创建虚拟机后,它将自动运行我们的角色。

开发需求

pip3 install pywinrm

使用方法

  • 运行 vagrant up 创建虚拟机并运行我们的角色。
  • 运行 vagrant provision 重新应用我们的角色。
  • 运行 vagrant destroy -f && vagrant up 重新创建虚拟机并运行我们的角色。
  • 运行 vagrant destroy 移除虚拟机。

许可证

MIT

作者

  • Justin Perdok (@justin-p), Orange Cyberdefense

贡献

欢迎随时提出问题、贡献和提交您的 Pull Requests。您也可以在 Twitter 上联系我 (@JustinPerdok)。

关于项目

Setup a Primary Domain Controller and Active Directory on a Windows Server.

安装
ansible-galaxy install justin_p.pdc
许可证
mit
下载
258
拥有者
IT Geek, Ethical Hacker, DevOps Nut, PowerShell Fanatic and lover of beers :beers: