f5networks.f5_modules.bigip_profile_client_ssl 模块 – 管理 BIG-IP 上的客户端 SSL 配置文件

注意

此模块是 f5networks.f5_modules 集合(版本 1.32.1)的一部分。

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

要安装它,请使用:ansible-galaxy collection install f5networks.f5_modules

要在剧本中使用它,请指定:f5networks.f5_modules.bigip_profile_client_ssl

f5networks.f5_modules 1.0.0 中的新增功能

概要

  • 管理 BIG-IP 设备上的客户端 SSL 配置文件。

参数

参数

注释

advertised_cert_authority

字符串

指定系统向客户端声明受配置文件信任的 CA。

allow_expired_crl

布尔值

指示系统即使指定的 CRL 文件已过期也使用它。

选择

  • false

  • true

allow_non_ssl

布尔值

启用或禁用接受非 SSL 连接。

创建新配置文件时,该设置由父配置文件提供。

选择

  • false

  • true

cache_size

整数

在 f5networks.f5_modules 1.0.0 中添加

指定 SSL 会话缓存中的会话数。

有效值范围为 0 到 4194304(含)。

创建新配置文件时,如果未指定此参数,则默认值由父配置文件提供。

cache_timeout

整数

在 f5networks.f5_modules 1.0.0 中添加

指定 SSL 会话缓存条目的超时值(以秒为单位)。

可接受的值在 0 到 86400(含)之间。

创建新配置文件时,如果未指定此参数,则默认值由父配置文件提供。

cert_auth_depth

整数

指定客户端证书链中要遍历的最大证书数。

cert_key_chain

列表 / elements=dictionary

一个或多个要与 SSL 配置文件关联的证书和密钥。此选项始终是一个列表。列表中的键指示客户端/密钥/链组合的详细信息。请注意,BIG-IP 每个证书/密钥类型只能有一个。这意味着每个配置文件只能有一个 RSA、一个 DSA 和一个 ECDSA。如果您尝试分配两个 RSA、DSA 或 ECDSA 证书/密钥组合,设备会拒绝它。

此列表是一个复杂的列表,指定了多个键。

cert

字符串 / 必需

指定要使用的证书名称。

chain

字符串

包含与之前提到的证书和密钥相关的证书链。

此键是可选的。

key

字符串 / 必需

包含密钥名称。

passphrase

字符串

包含密钥文件的密码(如果需要)。

密码在远程 BIG-IP 设备上进行加密。因此,在更新客户端 SSL 配置文件时,无法比较它们。因此,如果您指定密码,此模块将始终注册一个 changed 事件。

true_names

布尔值

在 f5networks.f5_modules 1.1.0 中添加

true 时,该模块不会将 .crt.key 扩展名附加到给定的证书和密钥名称。

false 时,该模块会将 .crt.key 扩展名附加到给定的证书和密钥名称。

选择

  • false ←(默认)

  • true

cipher_group

字符串

在 f5networks.f5_modules 1.2.0 中添加

指定要分配给此配置文件的密码组。

当使用 ciphers 参数时,cipher_group 必须设置为 none''

当使用 cipher_group 创建新配置文件时,如果父配置文件默认设置了 ciphers,则在创建期间必须将 cipher 参数设置为 none''

该参数仅适用于 TMOS 13.x 及更高版本。

ciphers

字符串

指定系统支持的密码列表。

当使用 cipher_group 参数时,需要将 ciphers 参数设置为 none''

client_auth_crl

字符串

指定包含吊销的客户端证书列表的文件的名称。

client_auth_frequency

字符串

指定 SSL 会话的客户端身份验证频率。

once 时,指定系统为 SSL 会话进行一次客户端身份验证。

always 时,指定系统为 SSL 会话进行一次客户端身份验证,并在重用该会话时也进行身份验证。

选择

  • "once"

  • "always"

client_certificate

字符串

指定系统处理客户端证书的方式。

ignore 时,指定系统忽略来自客户端系统的证书。

require 时,指定系统要求客户端提供有效的证书。

request 时,指定系统请求客户端提供有效的证书,但始终会验证客户端的身份。

选择

  • "ignore"

  • "require"

  • "request"

name

字符串 / 必需

指定配置文件的名称。

options

list / elements=string

系统用于 SSL 处理的选项列表。创建新配置文件时,该列表由父配置文件提供。

当为 ''none 时,所有 SSL 处理的选项都将被禁用。

选择

  • "netscape-reuse-cipher-change-bug"

  • "microsoft-big-sslv3-buffer"

  • "msie-sslv2-rsa-padding"

  • "ssleay-080-client-dh-bug"

  • "tls-d5-bug"

  • "tls-block-padding-bug"

  • "dont-insert-empty-fragments"

  • "no-ssl"

  • "no-dtls"

  • "no-session-resumption-on-renegotiation"

  • "no-tlsv1.1"

  • "no-tlsv1.2"

  • "no-tlsv1.3"

  • "single-dh-use"

  • "ephemeral-rsa"

  • "cipher-server-preference"

  • "tls-rollback-bug"

  • "no-sslv2"

  • "no-sslv3"

  • "no-tls"

  • "no-tlsv1"

  • "pkcs1-check-1"

  • "pkcs1-check-2"

  • "netscape-ca-dn-bug"

  • "netscape-demo-cipher-change-bug"

  • "none"

parent

字符串

此监视器模板的父模板。一旦设置此值,将无法更改。默认情况下,此值是 Common 分区上的 clientssl 父模板。

partition

字符串

用于管理资源的设备分区。

默认值: "Common"

provider

dictionary

在 f5networks.f5_modules 1.0.0 中添加

包含连接详细信息的字典对象。

auth_provider

字符串

配置用于从远程设备获取身份验证令牌的身份验证提供程序。

此选项主要在处理 BIG-IQ 设备时使用。

no_f5_teem

布尔值

如果为 yes,则不会将 TEEM 遥测数据发送到 F5。

您可以通过设置环境变量 F5_TELEMETRY_OFF 来省略此选项。

之前使用的变量 F5_TEEM 已弃用,因为它的名称容易混淆。

选择

  • false ←(默认)

  • true

password

别名:pass, pwd

字符串 / 必需

用于连接到 BIG-IP 或 BIG-IQ 的用户帐户的密码。

您可以通过设置环境变量 F5_PASSWORD 来省略此选项。

server

字符串 / 必需

BIG-IP 主机或 BIG-IQ 主机。

您可以通过设置环境变量 F5_SERVER 来省略此选项。

server_port

整数

BIG-IP 服务器端口。

您可以通过设置环境变量 F5_SERVER_PORT 来省略此选项。

默认值: 443

timeout

整数

指定与网络设备通信的超时时间(以秒为单位),用于连接或发送命令。如果在操作完成之前超出超时时间,模块将报错。

transport

字符串

配置连接到远程设备时使用的传输连接。

选择

  • "rest" ← (默认)

user

字符串 / 必需

用于连接到 BIG-IP 或 BIG-IQ 的用户名。此用户必须在设备上具有管理员权限。

您可以通过设置环境变量 F5_USER 来省略此选项。

validate_certs

布尔值

如果为 no,则不会验证 SSL 证书。仅在个人控制的使用自签名证书的站点上使用此选项。

您可以通过设置环境变量 F5_VALIDATE_CERTS 来省略此选项。

选择

  • false

  • true ← (默认)

renegotiation

布尔值

启用或禁用 SSL 重新协商。

创建新配置文件时,该设置由父配置文件提供。

选择

  • false

  • true

retain_certificate

布尔值

当为 true 时,客户端证书将保留在 SSL 会话中。

选择

  • false

  • true

secure_renegotiation

字符串

指定 SSL 连接的安全重新协商方法。创建新配置文件时,该设置由父配置文件提供。

当为 request 时,系统请求 SSL 连接的安全重新协商。

require 是默认设置,设置后,系统允许来自客户端的初始 SSL 握手,但会终止来自未修补客户端的重新协商。

使用 require-strict 设置时,系统要求严格重新协商 SSL 连接。在此模式下,系统拒绝连接到不安全的服务器,并终止与不安全服务器的现有 SSL 连接。

选择

  • "require"

  • "require-strict"

  • "request"

server_name

字符串

指定在服务器名称指示通信中使用的服务器的完全限定 DNS 主机名。创建新配置文件时,该设置由父配置文件提供。

服务器名称也可以是包含星号 * 字符的通配符字符串。

sni_default

布尔值

指示当没有与服务器名称匹配时,或者当客户端不提供 SNI 扩展支持时,系统将此配置文件用作默认的 SSL 配置文件。

创建新配置文件时,该设置由父配置文件提供。

只能有一个启用此设置的 SSL 配置文件。

选择

  • false

  • true

sni_require

布尔值

要求网络对等方也提供 SNI 支持。此设置仅在 sni_default 设置为 true 时生效。

创建新配置文件时,该设置由父配置文件提供。

选择

  • false

  • true

state

字符串

当为 present 时,确保配置文件存在。

当为 absent 时,确保配置文件被删除。

选择

  • "present" ← (默认)

  • "absent"

strict_resume

布尔值

启用或禁用在不干净的关闭后恢复 SSL 会话。

创建新配置文件时,该设置由父配置文件提供。

选择

  • false

  • true

trusted_cert_authority

字符串

指定系统信任的客户端 CA。

Notes

注意

  • 需要 BIG-IP 软件版本 >= 12

  • 有关使用 Ansible 管理 F5 Networks 设备的更多信息,请参阅 https://ansible.org.cn/integrations/networks/f5

  • 需要 BIG-IP 软件版本 >= 12。

  • F5 模块仅操作 F5 产品的运行配置。为确保 BIG-IP 特定配置保留到磁盘,请务必至少包含一个使用 f5networks.f5_modules.bigip_config 模块保存运行配置的任务。有关正确使用该模块以保存运行配置的信息,请参阅模块的文档。

Examples

- name: Create client SSL profile
  bigip_profile_client_ssl:
    state: present
    name: my_profile
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Create client SSL profile with specific ciphers
  bigip_profile_client_ssl:
    state: present
    name: my_profile
    ciphers: "!SSLv3:!SSLv2:ECDHE+AES-GCM+SHA256:ECDHE-RSA-AES128-CBC-SHA"
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Create client SSL profile with specific cipher group
  bigip_profile_client_ssl:
    state: present
    name: my_profile
    ciphers: "none"
    cipher_group: "/Common/f5-secure"
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Create client SSL profile with specific SSL options
  bigip_profile_client_ssl:
    state: present
    name: my_profile
    options:
      - no-sslv2
      - no-sslv3
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Create client SSL profile require secure renegotiation
  bigip_profile_client_ssl:
    state: present
    name: my_profile
    secure_renegotiation: request
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Create a client SSL profile with a cert/key/chain setting
  bigip_profile_client_ssl:
    state: present
    name: my_profile
    cert_key_chain:
      - cert: bigip_ssl_cert1
        key: bigip_ssl_key1
        chain: bigip_ssl_cert1
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

Return Values

常见返回值记录在此处这里,以下是此模块独有的字段

Key

描述

allow_non_ssl

布尔值

接受非 SSL 连接。

返回: changed

示例: true

cache_size

整数

指定 SSL 会话缓存中的会话数。

返回: changed

示例: 2000

cache_timeout

整数

指定 SSL 会话缓存条目的超时值(以秒为单位)。

返回: changed

示例: 1800

cipher_group

字符串

应用于配置文件的密码组。

返回: changed

示例: "/Common/f5-secure"

ciphers

字符串

应用于配置文件的密码。

返回: changed

示例: "!SSLv3:!SSLv2:ECDHE+AES-GCM+SHA256:ECDHE-RSA-AES128-CBC-SHA"

options

list / elements=string

用于 SSL 处理的选项列表。

返回: changed

示例: ["no-sslv2", "no-sslv3"]

renegotiation

布尔值

SSL 会话的重新协商。

返回: changed

示例: true

secure_renegotiation

字符串

安全 SSL 重新协商的方法。

返回: changed

示例: "request"

strict_resume

布尔值

在不干净的关闭后恢复 SSL 会话。

返回: changed

示例: true

Authors

  • Tim Rupp (@caphrim007)

  • Wojciech Wypior (@wojtek0806)