fortinet.fortios.fortios_endpoint_control_profile 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 FortiClient 端点控制配置文件。

注意

此模块是 fortinet.fortios 集合 (版本 2.3.8) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install fortinet.fortios。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定: fortinet.fortios.fortios_endpoint_control_profile

fortinet.fortios 2.0.0 中的新增功能

概要

  • 此模块能够通过允许用户设置和修改 endpoint_control 功能和配置文件类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括所有参数,在使用前需要将值调整为数据源。在 FOS v6.0.0 上测试。

要求

执行此模块的主机需要以下要求。

  • ansible>=2.15

参数

参数

注释

access_token

字符串

基于令牌的身份验证。从 FortiGate 的 GUI 生成。

enable_log

布尔值

启用/禁用任务日志记录。

选项

  • false ← (默认)

  • true

endpoint_control_profile

字典

配置 FortiClient 端点控制配置文件。

description

字符串

描述。

device_groups

列表 / 元素=字典

设备组。

name

字符串 / 必需

来自可用选项的设备组对象。来源 user.device-group.name user.device-category.name。

forticlient_android_settings

字典

Android 平台的 FortiClient 设置。

disable_wf_when_protected

字符串

在 FortiGate 保护时启用/禁用 FortiClient Web 类别过滤。

选项

  • "enable"

  • "disable"

forticlient_advanced_vpn

字符串

启用/禁用高级 FortiClient VPN 配置。

选项

  • "enable"

  • "disable"

forticlient_advanced_vpn_buffer

字符串

高级 FortiClient VPN 配置。

forticlient_vpn_provisioning

字符串

启用/禁用 FortiClient VPN 配置。

选项

  • "enable"

  • "disable"

forticlient_vpn_settings

列表 / 元素=字典

FortiClient VPN 设置。

auth_method

字符串

身份验证方法。

选项

  • "psk"

  • "certificate"

name

字符串 / 必需

VPN 名称。

preshared_key

字符串

PSK 身份验证的预共享密钥。

remote_gw

字符串

远程 VPN 网关的 IP 地址或 FQDN。

sslvpn_access_port

整数

SSL VPN 访问端口 (1 - 65535)。

sslvpn_require_certificate

字符串

启用/禁用要求 SSL VPN 客户端证书。

选项

  • "enable"

  • "disable"

type

字符串

VPN 类型 (IPsec 或 SSL VPN)。

选项

  • "ipsec"

  • "ssl"

forticlient_wf

字符串

启用/禁用 FortiClient Web 过滤。

选项

  • "enable"

  • "disable"

forticlient_wf_profile

字符串

要应用的 FortiClient Web 过滤器配置文件。来源 webfilter.profile.name。

forticlient_ios_settings

字典

iOS 平台的 FortiClient 设置。

client_vpn_provisioning

字符串

FortiClient VPN 配置。

选项

  • "enable"

  • "disable"

client_vpn_settings

列表 / 元素=字典

FortiClient VPN 设置。

auth_method

字符串

身份验证方法。

选项

  • "psk"

  • "certificate"

name

字符串 / 必需

VPN 名称。

preshared_key

字符串

PSK 身份验证的预共享密钥。

remote_gw

字符串

远程 VPN 网关的 IP 地址或 FQDN。

sslvpn_access_port

整数

SSL VPN 访问端口 (1 - 65535)。

sslvpn_require_certificate

字符串

启用/禁用要求 SSL VPN 客户端证书。

选项

  • "enable"

  • "disable"

type

字符串

VPN 类型 (IPsec 或 SSL VPN)。

选项

  • "ipsec"

  • "ssl"

vpn_configuration_content

字符串

VPN 配置的内容。

vpn_configuration_name

字符串

VPN 配置的名称。

configuration_content

字符串

配置配置文件的内容。

configuration_name

字符串

配置配置文件的名称。

disable_wf_when_protected

字符串

在 FortiGate 保护时启用/禁用 FortiClient Web 类别过滤。

选项

  • "enable"

  • "disable"

distribute_configuration_profile

字符串

启用/禁用配置文件 (.mobileconfig 文件) 分发。

选项

  • "enable"

  • "disable"

forticlient_wf

字符串

启用/禁用 FortiClient Web 过滤。

选项

  • "enable"

  • "disable"

forticlient_wf_profile

字符串

要应用的 FortiClient Web 过滤器配置文件。来源 webfilter.profile.name。

forticlient_winmac_settings

字典

Windows/Mac 平台的 FortiClient 设置。

av_realtime_protection

字符串

启用/禁用 FortiClient 防病毒实时保护。

选项

  • "enable"

  • "disable"

av_signature_up_to_date

字符串

启用/禁用 FortiClient AV 签名更新。

选项

  • "enable"

  • "disable"

forticlient_application_firewall

字符串

启用/禁用 FortiClient 应用防火墙。

选项

  • "enable"

  • "disable"

forticlient_application_firewall_list

字符串

FortiClient 应用防火墙规则列表。来源 application.list.name。

forticlient_av

字符串

启用/禁用 FortiClient 防病毒扫描。

选项

  • "enable"

  • "disable"

forticlient_ems_compliance

字符串

启用/禁用 FortiClient 企业管理服务器 (EMS) 合规性。

选项

  • "enable"

  • "disable"

forticlient_ems_compliance_action

字符串

FortiClient EMS 合规性操作。

选项

  • "block"

  • "warning"

forticlient_ems_entries

列表 / 元素=字典

FortiClient EMS 条目。

name

字符串 / 必需

FortiClient EMS 名称。来源 endpoint-control.forticlient-ems.name。

forticlient_linux_ver

字符串

最低 FortiClient Linux 版本。

forticlient_log_upload

字符串

启用/禁用上传 FortiClient 日志。

选项

  • "enable"

  • "disable"

forticlient_log_upload_level

字符串

选择要上传的 FortiClient 日志。

选项

  • "traffic"

  • "vulnerability"

  • "event"

forticlient_log_upload_server

字符串

要上传 FortiClient 日志的服务器的 IP 地址或 FQDN。

forticlient_mac_ver

字符串

最低 FortiClient Mac OS 版本。

forticlient_minimum_software_version

字符串

启用/禁用要求客户端运行具有最低软件版本号的 FortiClient。

选项

  • "enable"

  • "disable"

forticlient_operating_system

列表 / 元素=字典

FortiClient 操作系统。

id

整数 / 必需

操作系统条目 ID。参见 <a href=’#notes’>注释</a>。

os_name

字符串

自定义操作系统名称或 Mac OS 格式:x.x.x

os_type

字符串

操作系统类型。

选项

  • “自定义”

  • “macOS”

  • “Win7”

  • “Win8.0”

  • “Win8.1”

  • “Win10”

  • “Win2000”

  • “Win家庭服务器”

  • “Win Server 2016”

  • “Win Server 2003”

  • “Win Server 2003 R2”

  • “Win Server 2008”

  • “Win Server 2008 R2”

  • “Win Server 2012”

  • “Win Server 2012 R2”

  • “Win存储服务器2003”

  • “Win Vista”

  • “Win XP”

  • “Ubuntu Linux”

  • “CentOS Linux”

  • “Red Hat Linux”

  • “Fedora Linux”

forticlient_own_file

列表 / 元素=字典

检查FortiClient应用程序的路径和文件名。

文件

字符串

文件路径和名称。

id

整数 / 必需

文件ID。参见 注释

forticlient_registration_compliance_action

字符串

FortiClient注册合规性操作。

选项

  • "block"

  • "warning"

forticlient_registry_entry

列表 / 元素=字典

FortiClient注册表项。

id

整数 / 必需

注册表项ID。参见 注释

registry_entry

字符串

注册表项。

forticlient_running_app

列表 / 元素=字典

使用FortiClient验证客户端上是否正在运行列出的应用程序。

app_name

字符串

应用程序名称。

app_sha256_signature

字符串

应用程序的SHA256签名。

app_sha256_signature2

字符串

应用程序的SHA256签名。

app_sha256_signature3

字符串

应用程序的SHA256签名。

app_sha256_signature4

字符串

应用程序的SHA256签名。

application_check_rule

字符串

应用程序检查规则。

选项

  • “存在”

  • “不存在”

id

整数 / 必需

应用程序ID。参见 注释

process_name

字符串

进程名称。

process_name2

字符串

进程名称。

process_name3

字符串

进程名称。

process_name4

字符串

进程名称。

forticlient_security_posture

字符串

启用/禁用FortiClient安全态势检查选项。

选项

  • "enable"

  • "disable"

forticlient_security_posture_compliance_action

字符串

FortiClient安全态势合规性操作。

选项

  • "block"

  • "warning"

forticlient_system_compliance

字符串

启用/禁用FortiClient系统合规性的强制执行。

选项

  • "enable"

  • "disable"

forticlient_system_compliance_action

字符串

阻止或警告不符合FortiClient要求的客户端。

选项

  • "block"

  • "warning"

forticlient_vuln_scan

字符串

启用/禁用FortiClient漏洞扫描。

选项

  • "enable"

  • "disable"

forticlient_vuln_scan_compliance_action

字符串

FortiClient漏洞合规性操作。

选项

  • "block"

  • "warning"

forticlient_vuln_scan_enforce

字符串

配置导致FortiClient漏洞合规性操作的发现漏洞的级别。

选项

  • “严重”

  • “高”

  • “中”

  • “低”

  • “信息”

forticlient_vuln_scan_enforce_grace

整数

FortiClient漏洞扫描强制执行宽限期(0-30天)。

forticlient_vuln_scan_exempt

字符串

启用/禁用对无法自动修补的漏洞的合规性豁免。

选项

  • "enable"

  • "disable"

forticlient_wf

字符串

启用/禁用 FortiClient Web 过滤。

选项

  • "enable"

  • "disable"

forticlient_wf_profile

字符串

要应用的 FortiClient Web 过滤器配置文件。来源 webfilter.profile.name。

forticlient_win_ver

字符串

最低FortiClient Windows版本。

os_av_software_installed

字符串

启用/禁用检查操作系统识别的杀毒软件。

选项

  • "enable"

  • "disable"

sandbox_address

字符串

FortiSandbox地址。

sandbox_analysis

字符串

启用/禁用将文件发送到FortiSandbox进行分析。

选项

  • "enable"

  • "disable"

on_net_addr

列表 / 元素=字典

内网检测地址。

name

字符串 / 必需

来自可用选项的地址对象。来源:firewall.address.name firewall.addrgrp.name。

profile_name

字符串 / 必需

配置文件名称。

replacemsg_override_group

字符串

从可用选项中选择端点控制替换消息覆盖组。来源:system.replacemsg-group.name。

src_addr

列表 / 元素=字典

源地址。

name

字符串 / 必需

来自可用选项的地址对象。来源:firewall.address.name firewall.addrgrp.name。

user_groups

列表 / 元素=字典

用户组。

name

字符串 / 必需

用户组名称。来源:user.group.name。

users

列表 / 元素=字典

用户。

name

字符串 / 必需

用户名。来源:user.local.name。

member_path

字符串

要操作的成员属性路径。

如果有多个属性,则用斜杠字符分隔。

标有member_path的参数对于执行成员操作是合法的。

member_state

字符串

在指定的属性路径下添加或删除成员。

指定member_state时,将忽略state选项。

选项

  • “存在”

  • “不存在”

state

字符串 / 必需

指示是创建还是删除对象。

选项

  • “存在”

  • “不存在”

vdom

字符串

虚拟域,在之前定义的虚拟域中。vdom是FortiGate的虚拟实例,可以将其配置和用作不同的单元。

默认值: "root"

注释

注意

  • 旧版fortiosapi已弃用,httpapi是运行剧本的首选方式。

  • 该模块支持check_mode。

示例

- name: Configure FortiClient endpoint control profiles.
  fortinet.fortios.fortios_endpoint_control_profile:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      endpoint_control_profile:
          description: "<your_own_value>"
          device_groups:
              -
                  name: "default_name_5 (source user.device-group.name user.device-category.name)"
          forticlient_android_settings:
              disable_wf_when_protected: "enable"
              forticlient_advanced_vpn: "enable"
              forticlient_advanced_vpn_buffer: "<your_own_value>"
              forticlient_vpn_provisioning: "enable"
              forticlient_vpn_settings:
                  -
                      auth_method: "psk"
                      name: "default_name_13"
                      preshared_key: "<your_own_value>"
                      remote_gw: "<your_own_value>"
                      sslvpn_access_port: "32767"
                      sslvpn_require_certificate: "enable"
                      type: "ipsec"
              forticlient_wf: "enable"
              forticlient_wf_profile: "<your_own_value> (source webfilter.profile.name)"
          forticlient_ios_settings:
              client_vpn_provisioning: "enable"
              client_vpn_settings:
                  -
                      auth_method: "psk"
                      name: "default_name_25"
                      preshared_key: "<your_own_value>"
                      remote_gw: "<your_own_value>"
                      sslvpn_access_port: "32767"
                      sslvpn_require_certificate: "enable"
                      type: "ipsec"
                      vpn_configuration_content: "<your_own_value>"
                      vpn_configuration_name: "<your_own_value>"
              configuration_content: "<your_own_value>"
              configuration_name: "<your_own_value>"
              disable_wf_when_protected: "enable"
              distribute_configuration_profile: "enable"
              forticlient_wf: "enable"
              forticlient_wf_profile: "<your_own_value> (source webfilter.profile.name)"
          forticlient_winmac_settings:
              av_realtime_protection: "enable"
              av_signature_up_to_date: "enable"
              forticlient_application_firewall: "enable"
              forticlient_application_firewall_list: "<your_own_value> (source application.list.name)"
              forticlient_av: "enable"
              forticlient_ems_compliance: "enable"
              forticlient_ems_compliance_action: "block"
              forticlient_ems_entries:
                  -
                      name: "default_name_48 (source endpoint-control.forticlient-ems.name)"
              forticlient_linux_ver: "<your_own_value>"
              forticlient_log_upload: "enable"
              forticlient_log_upload_level: "traffic"
              forticlient_log_upload_server: "<your_own_value>"
              forticlient_mac_ver: "<your_own_value>"
              forticlient_minimum_software_version: "enable"
              forticlient_operating_system:
                  -
                      id: "56"
                      os_name: "<your_own_value>"
                      os_type: "custom"
              forticlient_own_file:
                  -
                      file: "<your_own_value>"
                      id: "61"
              forticlient_registration_compliance_action: "block"
              forticlient_registry_entry:
                  -
                      id: "64"
                      registry_entry: "<your_own_value>"
              forticlient_running_app:
                  -
                      app_name: "<your_own_value>"
                      app_sha256_signature: "<your_own_value>"
                      app_sha256_signature2: "<your_own_value>"
                      app_sha256_signature3: "<your_own_value>"
                      app_sha256_signature4: "<your_own_value>"
                      application_check_rule: "present"
                      id: "73"
                      process_name: "<your_own_value>"
                      process_name2: "<your_own_value>"
                      process_name3: "<your_own_value>"
                      process_name4: "<your_own_value>"
              forticlient_security_posture: "enable"
              forticlient_security_posture_compliance_action: "block"
              forticlient_system_compliance: "enable"
              forticlient_system_compliance_action: "block"
              forticlient_vuln_scan: "enable"
              forticlient_vuln_scan_compliance_action: "block"
              forticlient_vuln_scan_enforce: "critical"
              forticlient_vuln_scan_enforce_grace: "15"
              forticlient_vuln_scan_exempt: "enable"
              forticlient_wf: "enable"
              forticlient_wf_profile: "<your_own_value> (source webfilter.profile.name)"
              forticlient_win_ver: "<your_own_value>"
              os_av_software_installed: "enable"
              sandbox_address: "<your_own_value>"
              sandbox_analysis: "enable"
          on_net_addr:
              -
                  name: "default_name_94 (source firewall.address.name firewall.addrgrp.name)"
          profile_name: "<your_own_value>"
          replacemsg_override_group: "<your_own_value> (source system.replacemsg-group.name)"
          src_addr:
              -
                  name: "default_name_98 (source firewall.address.name firewall.addrgrp.name)"
          user_groups:
              -
                  name: "default_name_100 (source user.group.name)"
          users:
              -
                  name: "default_name_102 (source user.local.name)"

返回值

常用返回值已在此处记录,以下是此模块特有的字段

描述

build

字符串

FortiGate镜像的版本号

返回值:始终

示例: "1547"

http_method

字符串

上次用于将内容置入FortiGate的方法

返回值:始终

示例: "PUT"

http_status

字符串

FortiGate在上次应用的操作中给出的最后结果

返回值:始终

示例: "200"

mkey

字符串

上次调用FortiGate时使用的主密钥(ID)

返回值:成功

示例: "id"

name

字符串

用于完成请求的表的名称

返回值:始终

示例: "urlfilter"

path

字符串

用于完成请求的表的路径

返回值:始终

示例: "webfilter"

revision

字符串

内部修订号

返回值:始终

示例: "17.0.2.10658"

serial

字符串

设备的序列号

返回值:始终

示例: "FGVMEVYYQT3AB5352"

status

字符串

操作结果的指示

返回值:始终

示例: "success"

vdom

字符串

使用的虚拟域

返回值:始终

示例: "root"

version

字符串

FortiGate的版本

返回值:始终

示例: "v5.6.3"

作者

  • 郑琳 (@chillancezen)

  • 薛杰 (@JieX19)

  • 陆宏斌 (@fgtdev-hblu)

  • 沈方 (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • 尼古拉斯·托马斯 (@thomnico)