fortinet.fortios.fortios_vpn_ssl_settings 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 SSL-VPN。
注意
此模块是 fortinet.fortios 集合(版本 2.3.8)的一部分。
如果您使用的是 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install fortinet.fortios。您需要更多要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:fortinet.fortios.fortios_vpn_ssl_settings。
fortinet.fortios 2.0.0 中的新增功能
概要
- 此模块能够通过允许用户设置和修改 vpn_ssl 功能和设置类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括所有参数和值,需要在使用前根据数据源进行调整。已使用 FOS v6.0.0 测试。 
要求
执行此模块的主机需要以下要求。
- ansible>=2.15 
参数
| 参数 | 注释 | 
|---|---|
| 基于令牌的身份验证。从 Fortigate 的 GUI 生成。 | |
| 启用/禁用任务日志记录。 选择 
 | |
| 要操作的成员属性路径。 如果有多个属性,则用斜杠字符分隔。 标记为 member_path 的参数对于执行成员操作是合法的。 | |
| 在指定的属性路径下添加或删除成员。 指定 member_state 时,将忽略 state 选项。 选择 
 | |
| 虚拟域,在先前定义的那些域中。vdom 是 FortiGate 的虚拟实例,可以配置并用作不同的单元。 默认值:  | |
| 配置 SSL-VPN。 | |
| 强制 SSL-VPN 安全级别。高仅允许高。中允许中和高。低允许任何。 选择 
 | |
| 启用/禁用身份验证会话的源 IP 检查。 选择 
 | |
| SSL-VPN 身份验证超时(1 - 259200 秒(3 天),0 表示无超时)。 | |
| SSL-VPN 的身份验证规则。 | |
| SSL-VPN 身份验证方法限制。 选择 
 | |
| SSL-VPN 密码强度。 选择 
 | |
| 启用/禁用 SSL-VPN 客户端证书限制。 选择 
 | |
| 用户组。 | |
| 组名称。源 user.group.name。 | |
| ID (0 - 4294967295)。请参阅 备注。 | |
| SSL-VPN 门户。源 vpn.ssl.web.portal.name。 | |
| SSL-VPN 域。源 vpn.ssl.web.realm.url-path。 | |
| 传入流量的源地址。 | |
| 地址名称。源 firewall.address.name firewall.addrgrp.name system.external-resource.name。 | |
| 传入流量的 IPv6 源地址。 | |
| IPv6 地址名称。源 firewall.address6.name firewall.addrgrp6.name system.external-resource.name。 | |
| 启用/禁用取反的源 IPv6 地址匹配。 选择 
 | |
| 启用/禁用取反的源地址匹配。 选择 
 | |
| 传入流量的 SSL-VPN 源接口。 | |
| 接口名称。源 system.interface.name system.zone.name。 | |
| 用户对等方的名称。源 user.peer.name。 | |
| 用户名。 | |
| 用户名。源 user.local.name。 | |
| 启用/禁用自动为 SSL-VPN 隧道 IP 地址创建静态路由。 选择 
 | |
| 选择一种或多种在 SSL-VPN 协商中不能使用的密码技术。仅适用于 TLS 1.2 及更低版本。 选择 
 | |
| 启用/禁用基于浏览器的首选语言覆盖配置的系统语言。 选择 
 | |
| 启用/禁用 HTTP 请求头中引荐来源网址字段的验证。 选择 
 | |
| 选择一个或多个要启用的 TLS 1.3 密码套件。不影响 TLS 1.2 及更低版本中的密码。必须至少启用一个。要禁用所有密码套件,请将 ssl-max-proto-ver 设置为 tls1-2 或更低版本。 选择 
 | |
| 设置与客户端身份验证相关的签名算法。仅影响 TLS 版本 <= 1.2。 选择 
 | |
| 默认 SSL-VPN 门户。源 vpn.ssl.web.portal.name。 | |
| 压缩级别 (0~9)。 | |
| 触发压缩的最小数据量 (200 - 65535 字节)。 | |
| DNS 服务器 1。 | |
| DNS 服务器 2。 | |
| 用于 SSL-VPN 客户端的 DNS 后缀。 | |
| 在连接被视为断开之前丢失的心跳数。 | |
| 发送 DTLS 心跳之前的空闲超时时间。 | |
| DTLS 心跳之间的间隔。 | |
| SSLVPN 最大 DTLS hello 超时时间 (10 - 60 秒)。 | |
| DTLS 最大协议版本。 选择 
 | |
| DTLS 最小协议版本。 选择 
 | |
| 启用/禁用 DTLS 以防止窃听、篡改或消息伪造。 选择 
 | |
| 隧道模式:启用并行 IPv4 和 IPv6 隧道。Web 模式:支持门户中的 IPv4 和 IPv6 书签。 选择 
 | |
| 将 URL 中的 2F 序列编码为正斜杠。 选择 
 | |
| 加密并存储 SSL-VPN Web 会话的用户密码。 选择 
 | |
| 启用/禁用仅对使用双因素身份验证的 PKI 用户进行 SSL-VPN 访问。 选择 
 | |
| 转发相同,添加或删除 HTTP 标头。 选择 
 | |
| 添加 HSTS includeSubDomains 响应头。 选择 
 | |
| 启用/禁用以允许通过 SSL-VPN 隧道进行 HTTP 压缩。 选择 
 | |
| 启用/禁用 SSL-VPN 对 HttpOnly cookie 的支持。 选择 
 | |
| 如果在此时限内未收到 HTTP 请求主体,则 SSL-VPN 会话断开连接(1 - 60 秒)。 | |
| 如果在此时限内未收到 HTTP 请求头,则 SSL-VPN 会话断开连接(1 - 60 秒)。 | |
| 启用/禁用将端口 80 重定向到 SSL-VPN 端口。 选择 
 | |
| 如果 SSL-VPN 在指定的时间(以秒为单位)内处于空闲状态,则会断开连接。 | |
| IPv6 DNS 服务器 1。 | |
| IPv6 DNS 服务器 2。 | |
| IPv6 WINS 服务器 1。 | |
| IPv6 WINS 服务器 2。 | |
| SSL-VPN 在阻止之前的最大登录尝试次数 (0 - 10)。 | |
| 在登录尝试失败次数过多后,用户被阻止登录的时间 (0 - 86400 秒)。 | |
| SSLVPN 最大登录超时时间(10 - 180 秒)。 | |
| SSL-VPN 访问端口 (1 - 65535)。 | |
| 启用/禁用,启用表示如果允许在接口上进行 SSL-VPN 连接,则会阻止该接口上的管理 GUI 连接。 选择 
 | |
| 启用/禁用以要求所有 SSL-VPN 用户使用客户端证书。 选择 
 | |
| 启用以允许 SSL-VPN 会话绕过路由并绑定到传入接口。 选择 
 | |
| 运行 FortiClient 的计算机中的 SAML 本地重定向端口 (0 - 65535)。0 表示禁用 FGT 侧的重定向。 | |
| HTTPS 的服务器主机名。设置后,将用于任何重定向的 SSL VPN Web 代理主机标头。 | |
| 要用于 SSL-VPN 的服务器证书的名称。源 vpn.certificate.local.name。 | |
| 传入流量的源地址。 | |
| 地址名称。源 firewall.address.name firewall.addrgrp.name system.external-resource.name。 | |
| 传入流量的 IPv6 源地址。 | |
| IPv6 地址名称。源 firewall.address6.name firewall.addrgrp6.name system.external-resource.name。 | |
| 启用/禁用取反的源 IPv6 地址匹配。 选择 
 | |
| 启用/禁用取反的源地址匹配。 选择 
 | |
| 传入流量的 SSL-VPN 源接口。 | |
| 接口名称。源 system.interface.name system.zone.name。 | |
| 如果隧道中断,启用/禁用以允许服务器进行客户端重新协商。 选择 
 | |
| 启用/禁用插入空片段。 选择 
 | |
| SSL 最大协议版本。 选择 
 | |
| SSL 最小协议版本。 选择 
 | |
| 启用/禁用 SSL-VPN。 选择 
 | |
| tlsv1-0 选择 
 | |
| tlsv1-1 选择 
 | |
| tlsv1-2 选择 
 | |
| tlsv1-3 选择 
 | |
| 将 URL 中的反斜杠转换为正斜杠。 选择 
 | |
| 用于为隧道分配地址的方法。 选择 
 | |
| 如果之前的连接断开,则启用/禁用无需重新授权的隧道连接。 选择 
 | |
| 定义为远程客户端保留的 IP 地址的 IPv4 IP 池防火墙对象的名称。 | |
| 地址名称。源 firewall.address.name firewall.addrgrp.name。 | |
| 定义为远程客户端保留的 IP 地址的 IPv6 IP 池防火墙对象的名称。 | |
| 地址名称。源 firewall.address6.name firewall.addrgrp6.name。 | |
| 隧道连接断开后清理用户会话的秒数 (1 - 86400)。 | |
| 启用/禁用不安全的旧版重新协商。 选择 
 | |
| 启用/禁用以模糊 Web 浏览器显示的 URL 的主机名。 选择 
 | |
| 用户对等方的名称。源 user.peer.name。 | |
| 启用/禁用在使用 Web 模式时使用防火墙策略中定义的 IP 池。 选择 
 | |
| WINS 服务器 1。 | |
| WINS 服务器 2。 | |
| 添加 HTTP X-Content-Type-Options 标头。 选择 
 | |
| 启用/禁用对 SSLVPN ZTNA 会话的设备证书的验证。 选择 
 | 
说明
注意
- 旧版 fortiosapi 已弃用,httpapi 是运行 playbook 的首选方式 
示例
- name: Configure SSL-VPN.
  fortinet.fortios.fortios_vpn_ssl_settings:
      vdom: "{{ vdom }}"
      vpn_ssl_settings:
          algorithm: "high"
          auth_session_check_source_ip: "enable"
          auth_timeout: "28800"
          authentication_rule:
              -
                  auth: "any"
                  cipher: "any"
                  client_cert: "enable"
                  groups:
                      -
                          name: "default_name_11 (source user.group.name)"
                  id: "12"
                  portal: "<your_own_value> (source vpn.ssl.web.portal.name)"
                  realm: "<your_own_value> (source vpn.ssl.web.realm.url-path)"
                  source_address:
                      -
                          name: "default_name_16 (source firewall.address.name firewall.addrgrp.name system.external-resource.name)"
                  source_address_negate: "enable"
                  source_address6:
                      -
                          name: "default_name_19 (source firewall.address6.name firewall.addrgrp6.name system.external-resource.name)"
                  source_address6_negate: "enable"
                  source_interface:
                      -
                          name: "default_name_22 (source system.interface.name system.zone.name)"
                  user_peer: "<your_own_value> (source user.peer.name)"
                  users:
                      -
                          name: "default_name_25 (source user.local.name)"
          auto_tunnel_static_route: "enable"
          banned_cipher: "RSA"
          browser_language_detection: "enable"
          check_referer: "enable"
          ciphersuite: "TLS-AES-128-GCM-SHA256"
          client_sigalgs: "no-rsa-pss"
          default_portal: "<your_own_value> (source vpn.ssl.web.portal.name)"
          deflate_compression_level: "6"
          deflate_min_data_size: "300"
          dns_server1: "<your_own_value>"
          dns_server2: "<your_own_value>"
          dns_suffix: "<your_own_value>"
          dtls_heartbeat_fail_count: "3"
          dtls_heartbeat_idle_timeout: "3"
          dtls_heartbeat_interval: "3"
          dtls_hello_timeout: "10"
          dtls_max_proto_ver: "dtls1-0"
          dtls_min_proto_ver: "dtls1-0"
          dtls_tunnel: "enable"
          dual_stack_mode: "enable"
          encode_2f_sequence: "enable"
          encrypt_and_store_password: "enable"
          force_two_factor_auth: "enable"
          header_x_forwarded_for: "pass"
          hsts_include_subdomains: "enable"
          http_compression: "enable"
          http_only_cookie: "enable"
          http_request_body_timeout: "30"
          http_request_header_timeout: "20"
          https_redirect: "enable"
          idle_timeout: "300"
          ipv6_dns_server1: "<your_own_value>"
          ipv6_dns_server2: "<your_own_value>"
          ipv6_wins_server1: "<your_own_value>"
          ipv6_wins_server2: "<your_own_value>"
          login_attempt_limit: "2"
          login_block_time: "60"
          login_timeout: "30"
          port: "10443"
          port_precedence: "enable"
          reqclientcert: "enable"
          route_source_interface: "enable"
          saml_redirect_port: "8020"
          server_hostname: "myhostname"
          servercert: "<your_own_value> (source vpn.certificate.local.name)"
          source_address:
              -
                  name: "default_name_72 (source firewall.address.name firewall.addrgrp.name system.external-resource.name)"
          source_address_negate: "enable"
          source_address6:
              -
                  name: "default_name_75 (source firewall.address6.name firewall.addrgrp6.name system.external-resource.name)"
          source_address6_negate: "enable"
          source_interface:
              -
                  name: "default_name_78 (source system.interface.name system.zone.name)"
          ssl_client_renegotiation: "disable"
          ssl_insert_empty_fragment: "enable"
          ssl_max_proto_ver: "tls1-0"
          ssl_min_proto_ver: "tls1-0"
          status: "enable"
          tlsv1_0: "enable"
          tlsv1_1: "enable"
          tlsv1_2: "enable"
          tlsv1_3: "enable"
          transform_backward_slashes: "enable"
          tunnel_addr_assigned_method: "first-available"
          tunnel_connect_without_reauth: "enable"
          tunnel_ip_pools:
              -
                  name: "default_name_92 (source firewall.address.name firewall.addrgrp.name)"
          tunnel_ipv6_pools:
              -
                  name: "default_name_94 (source firewall.address6.name firewall.addrgrp6.name)"
          tunnel_user_session_timeout: "30"
          unsafe_legacy_renegotiation: "enable"
          url_obscuration: "enable"
          user_peer: "<your_own_value> (source user.peer.name)"
          web_mode_snat: "enable"
          wins_server1: "<your_own_value>"
          wins_server2: "<your_own_value>"
          x_content_type_options: "enable"
          ztna_trusted_client: "enable"
返回值
常见返回值记录在此处这里,以下是此模块独有的字段
| 键 | 描述 | 
|---|---|
| 飞塔镜像的构建号 已返回: 总是 示例:  | |
| 用于将内容配置到飞塔的最后方法 已返回: 总是 示例:  | |
| 飞塔在上次应用操作时给出的最后结果 已返回: 总是 示例:  | |
| 上次调用飞塔时使用的主密钥 (id) 已返回: 成功 示例:  | |
| 用于完成请求的表的名称 已返回: 总是 示例:  | |
| 用于完成请求的表的路径 已返回: 总是 示例:  | |
| 内部修订号 已返回: 总是 示例:  | |
| 设备的序列号 已返回: 总是 示例:  | |
| 操作结果的指示 已返回: 总是 示例:  | |
| 使用的虚拟域 已返回: 总是 示例:  | |
| 飞塔的版本 已返回: 总是 示例:  | 
