f5networks.f5_modules.bigip_asm_dos_application 模块 – 管理 DOS 配置文件的应用程序设置

注意

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

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

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

要在 playbook 中使用它,请指定:f5networks.f5_modules.bigip_asm_dos_application

f5networks.f5_modules 1.0.0 中的新功能

概要

  • 管理 ASM/AFM DOS 配置文件的应用程序设置。

参数

参数

注释

地理位置

字典

管理地理位置国家白名单、黑名单。

黑名单

列表 / 元素=字符串

要放入黑名单的国家/地区列表,不得与 whitelist 具有重叠元素。

白名单

列表 / 元素=字符串

要放入白名单的国家/地区列表,不得与 blacklist 具有重叠元素。

高负载 URL

字典

管理高负载 URL 保护。

高负载 URL 是少量站点 URL,每个请求可能会消耗大量服务器资源。

自动检测

布尔值

启用或禁用自动高负载 URL 检测。

选项

  • false

  • true

排除

列表 / 元素=字符串

指定要从高负载 URL 中排除的 URL 或通配符列表。

包含

列表 / 元素=字典

配置要包含在自动检测到的高负载 URL 中的其他 URL。

阈值

字符串

指定每秒请求的阈值,其中相关 URL 被认为正在遭受攻击。

可接受的范围是 1 到 4294967295(包括)或 auto

URL

字符串 / 必需

指定要添加到高负载 URL 列表中的 URL,除了那些自动检测到的 URL 之外。

延迟阈值

整数

指定自动高负载 URL 检测的延迟阈值。

可接受的范围是 0 到 4294967295 毫秒(包括)。

移动设备检测

字典

配置使用反机器人移动 SDK 构建的移动应用程序的检测,并定义如何处理来自这些移动应用程序客户端的请求。

允许 Android 根设备

布尔值

true 时,设备允许来自已 root 的 Android 设备的流量。

选项

  • false

  • true

允许任何 Android 包

布尔值

true 时,允许任何应用程序发布者。

发布者由用于签署应用程序的证书标识。

选项

  • false

  • true

允许任何 iOS 包

布尔值

true 时,允许任何 iOS 包。

包名称是移动应用程序的唯一标识符。

选项

  • false

  • true

允许模拟器

布尔值

true 时,允许来自在模拟器上运行的应用程序的流量。

选项

  • false

  • true

允许越狱设备

布尔值

true 时,允许来自越狱 iOS 设备的流量。

选项

  • false

  • true

Android 发布者

列表 / 元素=字符串

allow_any_android_package 设置为 true 时,此选项无效。

指定允许的 Android 应用程序发布者证书。

发布者证书需要事先安装在 BIG-IP 上。

位于与 partition 参数中指定的不同分区上的证书名称需要以 full_path 格式提供,例如 /Foo/cert.crt

客户端挑战模式

字符串

当需要呈现 CAPTCHA 或客户端完整性挑战时要采取的操作。

移动应用程序用户将看不到 CAPTCHA 挑战,并且移动应用程序不会收到客户端完整性挑战。 移动应用程序的此类选项为 passcshui

pass 时,流量会顺利通过。

cshui 时,SDK 会检查最近几秒内是否有人与屏幕交互。 如果未检测到任何交互,则流量将被阻止。

选项

  • "pass"

  • "cshui"

已启用

布尔值

true 时,会检测来自使用反机器人移动 SDK 构建的移动应用程序的请求,并根据设置的参数进行处理。

false 时,这些请求的处理方式与任何其他请求相同,这可能会让攻击进入或导致误报。

选项

  • false

  • true

iOS 允许的包名称

列表 / 元素=字符串

指定允许流量的 iOS 包的名称。

allow_any_ios_package 设置为 true 时,此选项无效。

分区

字符串

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

默认值: "Common"

配置文件

字符串 / 必需

指定要在其中管理应用程序设置的配置文件的名称。

提供程序

字典

在 f5networks.f5_modules 1.0.0 中添加

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

身份验证提供程序

字符串

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

此选项在处理 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 ← (默认)

rtbh_duration

整数

指定 RTBH BGP 路由通告的持续时间,以秒为单位。

可接受的范围是 0 到 4294967295,包括 0 和 4294967295。

rtbh_enable

布尔值

指定是否通过通告 BGP 路由来启用攻击 IP 的远程触发黑洞 RTBH

选项

  • false

  • true

scrubbing_duration

整数

指定流量清洗 BGP 路由通告的持续时间,以秒为单位。

可接受的范围是 0 到 4294967295,包括 0 和 4294967295。

scrubbing_enable

布尔值

指定是否通过通告 BGP 路由在攻击期间启用流量清洗。

选项

  • false

  • true

single_page_application

布尔值

true 时,指定系统支持单页应用程序。

选项

  • false

  • true

state

字符串

statepresent 时,确保应用程序对象存在。

stateabsent 时,确保应用程序对象被删除。

选项

  • "present" ← (默认)

  • "absent"

trigger_irule

布尔值

true 时,指定系统激活应用程序 DoS iRule 事件。

选项

  • false

  • true

说明

注意

  • 需要 BIG-IP >= 13.1.0

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

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

  • F5 模块仅操作 F5 产品的运行配置。要确保 BIG-IP 特定配置持久保存到磁盘,请务必包含至少一个使用 f5networks.f5_modules.bigip_config 模块保存运行配置的任务。请参阅模块的文档,了解如何正确使用该模块来保存您的运行配置。

示例

- name: Create an ASM dos application profile
  bigip_asm_dos_application:
    profile: dos_foo
    geolocations:
      blacklist:
        - Afghanistan
        - Andora
      whitelist:
        - Cuba
    heavy_urls:
      auto_detect: true
      latency_threshold: 1000
    rtbh_duration: 3600
    rtbh_enable: true
    single_page_application: true
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

- name: Update an ASM dos application profile
  bigip_asm_dos_application:
    profile: dos_foo
    mobile_detection:
      enabled: true
      allow_any_ios_package: true
      allow_emulators: true
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

- name: Remove an ASM dos application profile
  bigip_asm_dos_application:
    profile: dos_foo
    state: absent
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

返回值

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

描述

地理位置

复杂

指定地理位置国家白名单、黑名单。

返回: changed

示例: "值的哈希/字典"

黑名单

列表 / 元素=字符串

要放入黑名单的国家/地区列表。

返回: changed

示例: ["俄罗斯", "德国"]

白名单

列表 / 元素=字符串

要放入白名单的国家/地区列表。

返回: changed

示例: ["美国", "英国"]

高负载 URL

复杂

管理高负载 URL 保护。

返回: changed

示例: "值的哈希/字典"

自动检测

布尔值

启用或禁用自动高负载 URL 检测。

返回: changed

示例: true

排除

列表 / 元素=字符串

指定要从高负载 URL 中排除的 URL 或通配符列表。

返回: changed

示例: ["/exclude.html", "/exclude2.html"]

包含

复杂

配置要包含在重型 URL 中的其他 URL。

返回: changed

示例: "值的哈希/字典"

阈值

字符串

每秒请求的阈值。

返回: changed

示例: "自动"

URL

字符串

要添加到重型 URL 列表的 URL。

返回: changed

示例: "/include.html"

延迟阈值

整数

指定自动高负载 URL 检测的延迟阈值。

返回: changed

示例: 2000

移动设备检测

复杂

配置对使用 Anti-Bot Mobile SDK 构建的移动应用程序的检测。

返回: changed

示例: "值的哈希/字典"

允许 Android 根设备

布尔值

允许来自已 root 的 Android 设备的流量。

返回: changed

示例: false

允许任何 Android 包

布尔值

允许任何应用程序发布者。

返回: changed

示例: false

允许任何 iOS 包

布尔值

允许任何 iOS 包。

返回: changed

示例: true

允许模拟器

布尔值

允许来自在模拟器上运行的应用程序的流量。

返回: changed

示例: true

允许越狱设备

布尔值

允许来自越狱 iOS 设备的流量。

返回: changed

示例: false

Android 发布者

列表 / 元素=字符串

允许的 Android 应用程序发布者证书。

返回: changed

示例: ["/Common/cert1.crt", "/Common/cert2.crt"]

客户端挑战模式

字符串

当需要呈现 CAPTCHA 或客户端完整性挑战时要采取的操作。

返回: changed

示例: "pass"

enable

布尔值

启用或禁用自动移动检测。

返回: changed

示例: true

iOS 允许的包名称

列表 / 元素=字符串

允许流量的 iOS 包的名称。

返回: changed

示例: ["package1", "package2"]

rtbh_duration

整数

RTBH BGP 路由通告的持续时间。

返回: changed

示例: 3600

rtbh_enable

布尔值

启用攻击 IP 的远程触发黑洞。

返回: changed

示例: false

scrubbing_duration

整数

流量清洗 BGP 路由通告的持续时间。

返回: changed

示例: 3600

scrubbing_enable

布尔值

在攻击期间启用流量清洗。

返回: changed

示例: true

single_page_application

布尔值

启用单页应用程序的支持。

返回: changed

示例: false

trigger_irule

布尔值

激活应用程序 DoS iRule 事件。

返回: changed

示例: true

作者

  • Wojciech Wypior (@wojtek0806)