使用 Ansible 远程部署终端服务代理

使用 Ansible 远程部署终端服务代理

27589
Created On 09/25/18 18:09 PM - Last Modified 06/14/23 06:19 AM


Resolution


Ansible是一种配置管理工具, 通常用于在 IT 基础结构中强制执行服务器的状态. 它用于确保服务器确实处于与您希望的相同的状态。它确保了正确的软件包的安装, 正确的配置文件到位, 正确的服务运行与正确的权限..。 

 

管理员用简单的语言 (YAML) 编写规则, 格式为剧本.  Ansible 工作通过连接到您的节点和推出小程序, 称为 "Ansible 模块" 给他们. 更多关于如何 Ansible 工作的详细信息可以这里找到

 

管理员可以使用Windows Ansible 模块(http://docs.ansible.com/ansible/latest/list_of_windows_modules.html) 和远程安装和管理终端服务代理 (管理员指南)  

 

默认情况下, Ansible 使用 SSH 管理 Linux。要管理 Windows, 使用 PowerShell 远程处理。对于 ansible 管理 Windows 计算机, ansible 站点中记录的步骤需要遵循

 

参考:http://docs.ansible.com/ansible/latest/intro_windows.html  

 

以下步骤展示了一些 Windows Ansible 模块, 用于编写 Ansible 脚本以远程部署终端服务 (TS) 代理。

  

Ansible 同时对基础结构中的多个系统进行工作。它通过选择 Ansible 清单中列出的部分系统来做到这一点, 默认情况下保存在位置 /等/Ansible/主机 中。

 

例如, 我已在标记 (windows) 下定义了 TS 代理服务器 (tsagent1.palab.local)

 

windows
tsagent1.palab.local

 

下面的模块在 Windows 服务器上安装 TS 代理。win_package 模块的详细信息可以在这里 找到

在下面的示例中, TS 代理安装程序 (*. msi) 承载在网络共享上。 

 

-主机: windows
任务:
-名称: 安装 TS 代理
win_package:
DC1 \ 用户 \ 管理员 \ 下载 \ TaInstall64. x64-8 0.8-2. msi
product_id: PAN 终端服务器代理
状态: 当前
以 "\: PALAB\ 管理员
user_password: MySuperSecretPass                                      

 

下面的命令将执行该操作手册:

 

ansible-剧本-vvv install_ts yml 

 

Ansible 附带了一个称为 Ansible 存储库 (link) 的工具来加密机密. 这些秘密可以在任务中使用。

 

创建一个秘密. yml 文件。

 

---
mysecret: MySuperSecretPass 

 

加密机密. yml 文件

 

# ansible 加密秘密 yml
新的保险存储密码: EnterASuperSecretPass
确认新的保险存储密码: EnterASuperSecretPass

加密成功

 

机密. yml 文件的内容将被加密, 并将显示如下所示 (您的环境中的内容将有所不同)

 

猫的秘密. yml 

$ANSIBLE _vault; 1.1;AES256

63303662393262633865366536333531383362633838316462313739306431656130383730303036
6433623639316439313565393430333430643930623266350a353533666432613438626331396636
32326366386361363363383335333135386364346466636533353434323261373739363533626238
3635613765383762380a306439383961336261316432376266386338643765313064376264633535
35616534613264353739333564633534353230623630653762373632323766643838

 

在秘密定义的变量 (例如: mysecret). yml 现在可以在剧本中使用, 如下所示:

 

-主机: windows
任务:
-名称: 秘密
include_vars: 秘密. yml

-名称: 安装 TS 代理
win_package:
路径: \n DC1 \ 用户 \ 管理员 \ 下载 \ TaInstall64. x64-8. 0.8-2. msi
product_id: 潘码头服务器代理
状态: 当前
以 "\: PALAB \ 管理员
user_password:" {{mysecret}} "                                            

 

要执行上述操作手册, 请输入 folllowing 命令:

 

root@kali:/等/ansibleansible--问-跳马-通行证 install_ts_vault. yml
保险存储密码: EnterASuperSecretPass

 

有关保险存储的详细信息,请参阅 http://docs.ansible.com/ansible/latest/playbooks_vault.html.

 

(可选)

 

为了验证防火墙和 ts 代理之间的 SSL 连接, 管理员可以在 ts 代理上上载自定义证书。 

 

要在防火墙和 TS 代理之间启用相互身份验证, 请在主控 Windows 服务器上执行以下步骤, 并使用该服务器上的配置和证书并远程推送到其他服务器。

 

  • 在 Windows 服务器上安装 TS 代理
  • 在该服务器上上载自定义证书。
  • 不重新启动终端服务代理服务
  • 从 Windows 服务器复制注册表值, 并从服务器的 TS 代理安装目录中复制自定义证书 (自定义证书 pem)

TS 代理加密证书的密码, 并创建注册表项 (TSAgentSSL). 当 TS 代理的服务重新启动时, 将删除注册表项, 并将加密的密码短语写入凭据存储。自定义证书 (自定义证书 pem) 将被加载, 并将用于与防火墙通信.

 

屏幕截图2018-03-20 在 11.35.57. png

 

屏幕截图2018-03-20 在 11.36.20. png

 

屏幕截图2018-03-20 在 11.36.47. png

 

屏幕截图2018-03-20 在 11.37.04. png

 

屏幕截图2018-03-20 在 11.37.40. png

 

 

在接下来的步骤中, 我们将从安装 TS 代理的主 Windows 服务器 (将前面的步骤) 复制到远程 TS 代理服务器上, 将 "自定义证书 pem" 拷贝到其中。

"win_copy" (link) 用于将自定义证书 pem 文件复制到远程 ts 代理服务器上的 ts 代理安装文件夹. 例如, 您将使用命令 "ansible-vvv copy_ts_cert. yml" 执行以下任务。

 

-主机: windows
任务:
-名称: 复制单个文件保留文件名
win_copy:
src: 自定义证书 pem 的目的
: C:\Program 文件 \ 帕洛阿尔托网络 \ 终端服务器代理 \                    

 

在上面的任务中, 自定义证书 pem 文件已从主窗口服务器上载到 ansible 控制器, 并从 ansible 控制器中复制到远程 TS 代理服务器上。

 

root@myans:/等/ansible文件/自定义证书 pem
文件/自定义证书 pem

 

在远程 TS 代理 Windows 服务器上, 我们将更新注册表项。在前面的步骤中, 我们注意到以下注册表键:

 

  • TSAgentCNEXPIRY
  • TSAgentCNISSUER
  • TSAgentCNNAME
  • TSAgentCNSUBJECT
  • TSAgentSSL

 

使用 "win_regedit" 模块 (link), 远程服务器上的注册表项将被更新

 

-主机: windows
任务:
-名称: CN 到期
win_regedit:
路径: HKLM: \ 软件 \ 帕洛阿尔托网络 \ TS 代理 \
名称: TSAgentCNEXPIRY
数据: 3月14日 20:15:                          47 2019 GMT
      类型: 字符串
  名称: CN 颁发者
    win_regedit:
      路径: HKLM: \ 软件 \ 帕洛阿尔托网络 \ TS 代理 \
      名称: TSAgentCNISSUER
      数据:/CN = fw16 palab. 本地
      类型: 字符串
  名称: CN 名称
    win_regedit:
      路径: HKLM: \ 软件 \ 帕洛阿尔托网络 \ TS 代理 \
      名称: TSAgentCNNAME
      数据: cert_TS12Cert. pem
      类型: 字符串
  名称: CN 主题
    win_regedit:
      路径: HKLM: \ 软件 \ 帕洛阿尔托网络 \ ts 代理 \
      名称: TSAgentCNSUBJECT
      数据:/CN = 192.168.75.12
      类型: 字符串
  名称: 密码
    win_regedit:
      路径: HKLM: \ 软件 \ 帕洛阿尔托网络 \ TS 代理 \ 程序
      名称: TSAgentSSL
      数据: ro6lSTTRERERERERTRRRR
      类型: 字符串

 

使用 "win_service" 模块 (link), 我们可以重新启动终端服务器代理服务. 重新启动服务后, TS 代理将使用自定义证书, 并将密码从注册表移动到凭据存储。在移动注册表项 (TSAgentSSL) 后, 它将不再可见, 无法在注册表中进行查看。

 

-主机: windows
任务:
-名称: 重新启动服务
win_service:
名称: PAN 终端服务器代理
状态: 已重新启动

 

在防火墙上, 您可以注意到已在 (设备 >> 用户标识 > 连接安全性) 下配置了连接安全性。在此步骤中, 防火墙将验证签署了终端服务代理证书的 CA 证书。 

 

屏幕截图2018-03-20 在 1.24.49 PM. png

 

屏幕截图2018-03-20 在 1.25.13 PM. png

 

假定在 TS 代理 Windows 服务器上安装了 CA 证书。可以通过 Windows 组策略 (链接) 安装 CA 证书

 

通过对注册表进行修改, 可以对终端服务代理配置进行更改。下面的 live 文章 (link) 讨论如何优化 TS 代理注册表以更好地进行端口分配和处理.

 

下面的屏幕截图显示了可以修改的各种注册表项, 内部重新配置 TS 代理。

 

屏幕截图2018-03-20 在 1.33.20 PM. png

 

屏幕截图2018-03-20 在 1.33.36 PM. png

 

使用 "win_regedit" 模块, 我们可以修改 TS 代理注册表. 以下任务显示了对 TS 代理执行的一些修改。

 

为下列键修改的注册表值:

 

  • StartSize
  • MaxSize
  • StartPort
  • EndPort
  • FreePortBlockDelay
  • EnableTws
  • TSAgentDomain
  • OverrideDomainEnable
  • ReservedPorts
  •  
  •  

 

 

 

  

 

 

 

   

 

  

 

 

 



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClNwCAK&lang=zh_CN&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language