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 配置文件的应用程序设置。

参数

参数

注释

geolocations

字典

管理地理位置国家/地区白名单和黑名单。

blacklist

列表 / 元素=字符串

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

whitelist

列表 / 元素=字符串

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

heavy_urls

字典

管理高流量 URL 保护。

高流量 URL 指的是少量站点 URL,这些 URL 每个请求可能会消耗大量的服务器资源。

auto_detect

布尔值

启用或禁用自动高流量 URL 检测。

选项

  • false

  • true

exclude

列表 / 元素=字符串

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

include

列表 / 元素=字典

配置要添加到自动检测到的高流量 URL 中的其他 URL。

threshold

字符串

指定每秒请求的阈值,在此阈值下,相关 URL 被视为受到攻击。

可接受的范围介于 1 到 4294967295(含)之间,或 auto

url

字符串 / 必需

指定要添加到高流量 URL 列表中的 URL,除了自动检测到的 URL 之外。

latency_threshold

整数

指定自动高流量 URL 检测的延迟阈值。

可接受的范围介于 0 到 4294967295 毫秒(含)之间。

mobile_detection

字典

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

allow_android_rooted_device

布尔值

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

选项

  • false

  • true

allow_any_android_package

布尔值

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

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

选项

  • false

  • true

allow_any_ios_package

布尔值

true 时,允许任何 iOS 包。

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

选项

  • false

  • true

allow_emulators

布尔值

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

选项

  • false

  • true

allow_jailbroken_devices

布尔值

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

选项

  • false

  • true

android_publishers

列表 / 元素=字符串

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

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

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

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

client_side_challenge_mode

字符串

需要显示验证码或客户端完整性挑战时要采取的操作。

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

pass 时,流量将顺利通过。

cshui 时,SDK 会检查过去几秒钟内与屏幕的人机交互。如果没有检测到,则会阻止流量。

选项

  • "pass"

  • "cshui"

enabled

布尔值

true 时,将检测使用 Anti-Bot Mobile SDK 构建的移动应用程序的请求,并根据设置的参数进行处理。

false 时,这些请求将像任何其他请求一样处理,这可能会导致攻击进入或出现误报。

选项

  • false

  • true

ios_allowed_package_names

列表 / 元素=字符串

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

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

partition

字符串

要在其上管理资源的设备分区。

默认值: "Common"

profile

字符串 / 必需

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

provider

字典

f5networks.f5_modules 1.0.0 中新增

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

auth_provider

字符串

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

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

rtbh_duration

整数

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

可接受的范围是 0 到 4294967295(含)。

rtbh_enable

布尔值

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

选项

  • false

  • true

scrubbing_duration

整数

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

可接受的范围是 0 到 4294967295(含)。

scrubbing_enable

布尔值

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

选项

  • false

  • true

single_page_application

布尔值

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

选项

  • false

  • true

状态

字符串

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

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

选项

  • "present" ← (默认)

  • "absent"

trigger_irule

布尔值

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

选项

  • false

  • true

备注

注意

  • 需要 BIG-IP >= 13.1.0

  • 有关使用 Ansible 管理 F5 网络设备的更多信息,请参见 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

返回值

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

描述

geolocations

复杂

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

返回:已更改

示例:"hash/dictionary of values"

blacklist

列表 / 元素=字符串

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

返回:已更改

示例:["Russia", "Germany"]

whitelist

列表 / 元素=字符串

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

返回:已更改

示例:["United States, United Kingdom"]

heavy_urls

复杂

管理高流量 URL 保护。

返回:已更改

示例:"hash/dictionary of values"

auto_detect

布尔值

启用或禁用自动高流量 URL 检测。

返回:已更改

示例:true

exclude

列表 / 元素=字符串

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

返回:已更改

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

include

复杂

配置要包含在大量 URL 中的其他 URL。

返回:已更改

示例:"hash/dictionary of values"

threshold

字符串

每秒请求的阈值。

返回:已更改

示例:"auto"

url

字符串

要添加到大量 URL 列表中的 URL。

返回:已更改

示例:"/include.html"

latency_threshold

整数

指定自动高流量 URL 检测的延迟阈值。

返回:已更改

示例:2000

mobile_detection

复杂

配置使用反机器人移动 SDK 构建的移动应用程序的检测。

返回:已更改

示例:"hash/dictionary of values"

allow_android_rooted_device

布尔值

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

返回:已更改

示例:false

allow_any_android_package

布尔值

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

返回:已更改

示例:false

allow_any_ios_package

布尔值

允许任何 iOS 包。

返回:已更改

示例:true

allow_emulators

布尔值

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

返回:已更改

示例:true

allow_jailbroken_devices

布尔值

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

返回:已更改

示例:false

android_publishers

列表 / 元素=字符串

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

返回:已更改

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

client_side_challenge_mode

字符串

需要显示验证码或客户端完整性挑战时要采取的操作。

返回:已更改

示例:"pass"

启用

布尔值

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

返回:已更改

示例:true

ios_allowed_package_names

列表 / 元素=字符串

允许流量的 iOS 包的名称。

返回:已更改

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

rtbh_duration

整数

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

返回:已更改

示例:3600

rtbh_enable

布尔值

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

返回:已更改

示例:false

scrubbing_duration

整数

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

返回:已更改

示例:3600

scrubbing_enable

布尔值

启用攻击期间的流量清理。

返回:已更改

示例:true

single_page_application

布尔值

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

返回:已更改

示例:false

trigger_irule

布尔值

激活应用程序 DoS iRule 事件。

返回:已更改

示例:true

作者

  • Wojciech Wypior (@wojtek0806)