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

列表 / 元素=字典

要与 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

列表 / 元素=字符串

系统以列表形式使用的 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”

父模板

字符串

此监控模板的父模板。设置此值后,将无法更改。默认情况下,此值为Common分区上的clientssl父模板。

分区

字符串

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

默认值: "Common"

提供程序

字典

f5networks.f5_modules 1.0.0 中新增

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

身份验证提供程序

字符串

配置身份验证提供程序,以从远程设备获取身份验证令牌。

此选项主要用于与BIG-IQ设备配合使用。

no_f5_teem

布尔值

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

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

先前使用的变量F5_TEEM已弃用,因为其名称令人混淆。

选项

  • false ← (默认)

  • true

密码

别名:pass,pwd

字符串 / 必填

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

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

服务器

字符串 / 必填

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

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

服务器端口

整数

BIG-IP服务器端口。

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

默认值: 443

超时

整数

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

传输

字符串

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

选项

  • "rest" ← (默认)

用户

字符串 / 必填

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

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

验证证书

布尔值

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

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

选项

  • false

  • true ← (默认)

重新协商

布尔值

启用或禁用SSL重新协商。

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

选项

  • false

  • true

保留证书

布尔值

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

选项

  • false

  • true

安全重新协商

字符串

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

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

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

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

选项

  • "require"

  • “require-strict”

  • "request"

服务器名称

字符串

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

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

sni_default

布尔值

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

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

只有一个SSL配置文件可以启用此设置。

选项

  • false

  • true

sni_require

布尔值

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

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

选项

  • false

  • true

状态

字符串

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

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

选项

  • "present" ← (默认)

  • “absent”

strict_resume

布尔值

启用或禁用在非正常关机后恢复SSL会话。

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

选项

  • false

  • true

受信任的证书颁发机构

字符串

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

注释

注意

  • 需要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模块保存运行配置的任务。有关如何使用该模块保存运行配置的正确方法,请参阅该模块的文档。

示例

- 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

返回值

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

描述

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

列表 / 元素=字符串

SSL处理选项列表。

返回值: changed

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

重新协商

布尔值

SSL会话的重新协商。

返回值: changed

示例: true

安全重新协商

字符串

安全SSL重新协商的方法。

返回值: changed

示例: "request"

strict_resume

布尔值

在非正常关机后恢复SSL会话。

返回值: changed

示例: true

作者

  • Tim Rupp (@caphrim007)

  • Wojciech Wypior (@wojtek0806)