当前位置: 首页 > news >正文

网络安全 | F5 WAF 黑白名单配置实践指南

关注:CodingTechWork

引言

  在现代网络安全架构中,F5 Web Application Firewall (WAF) 是保护 Web 应用免受攻击的重要工具。F5 WAF 提供了强大的黑白名单功能,结合 Data Group 和 iRules,可以实现更灵活、更高效的流量控制策略。本文将详细介绍如何利用 F5 官方功能,结合 Data Group 和 iRules 配置黑白名单。

F5 WAF 黑白名单功能概述

F5 WAF 的黑白名单功能允许管理员根据 IP 地址、URL 或其他条件对流量进行分类和控制。通过将特定的 IP 地址或子网添加到白名单中,可以确保这些流量不会被误拦截;而将已知的恶意 IP 地址添加到黑名单中,则可以有效阻止这些流量。

Data Group 的创建与管理

Data Group 是 F5 提供的一种数据管理工具,用于存储一组相关的数据元素(如 IP 地址、字符串等)。通过 Data Group,可以方便地在 iRules 中引用这些数据,从而简化规则的编写。

iRules 的编写与应用

iRules 是 F5 提供的一种基于 TCL 语言的脚本工具,用于自定义流量处理逻辑。通过 iRules,可以实现复杂的流量控制策略。

白名单配置

创建 Data Group

  1. 登录 F5 BIG-IP 设备:使用管理员账户登录到 F5 BIG-IP 设备的管理界面。
  2. 导航到 Data Group
    • 在 Web 界面中,依次点击 Local Traffic > iRules > Data Group Lists
  3. 创建 Data Group
    • 点击 Create 按钮,创建一个新的 Data Group。
    • 名称:为 Data Group 设置一个易于识别的名称,例如 whitelist_ips
    • 类型:选择 address 类型(用于存储 IP 地址)。
    • 添加条目:输入需要加入白名单的 IP 地址或子网,例如 192.168.1.0/24

创建 iRules

  1. 登录 F5 BIG-IP 设备:使用管理员账户登录到 F5 BIG-IP 设备的管理界面。
  2. 导航到 iRules
    • 在 Web 界面中,依次点击 Local Traffic > iRules
  3. 创建 iRules
    • 点击 Create 按钮,创建一个新的 iRule。
    • 名称:为 iRule 设置一个易于识别的名称,例如 whitelist_rule
    • 内容:编写 iRule 脚本,使用 class match 命令引用 Data Group。

以下是一个简单的 iRule 示例,用于检查客户端 IP 是否在白名单中:

when CLIENT_ACCEPTED {if { [class match [IP::remote_addr] equals whitelist_ips] } {# 如果 IP 在白名单中,允许访问pool whitelist_pool} else {# 如果 IP 不在白名单中,拒绝访问drop}
}

应用 iRules 到虚拟服务器

  1. 导航到虚拟服务器

    • 在 F5 管理界面中,导航到 Local Traffic > Virtual Servers > Virtual Server List
    • 选择需要应用黑名单规则的虚拟服务器。
  2. 添加 iRules

    • 在虚拟服务器的 Resources > iRules 部分,点击 Manage
    • 在弹出的窗口中,选择刚刚创建的 whitelist_rule,然后点击 Add

白名单配置流程

  1. 创建 Data Group
    • 创建一个名为 whitelist_ips 的 Data Group,类型为 address,并添加需要白名单的 IP 地址或子网。
  2. 创建 iRule
    • 编写 iRule 脚本,使用 class match 命令检查客户端 IP 是否在 whitelist_ips 中。
    • 如果客户端 IP 在白名单中,允许访问;否则,拒绝访问。
  3. 应用 iRule
    • 将创建的 iRule 应用到相应的虚拟服务器(Virtual Server)上。

黑名单配置

创建 Data Group

Data Group 是 F5 BIG-IP 中用于存储一组数据(如 IP 地址、字符串等)的工具,可以在 iRules 中方便地引用这些数据。

  1. 登录 F5 BIG-IP 设备

    • 使用管理员账户登录到 F5 BIG-IP 设备的管理界面。
  2. 创建 Data Group

    • 导航到 Local Traffic > iRules > Data Group Lists
    • 点击 Create 按钮,创建一个新的 Data Group。
    • 名称:输入一个易于识别的名称,例如 blacklist_ips
    • 类型:选择 address 类型(用于存储 IP 地址)。
    • 添加条目:输入需要加入黑名单的 IP 地址或子网,例如 192.168.1.0/24

创建 iRules

  1. 登录 F5 BIG-IP 设备

    • 使用管理员账户登录到 F5 BIG-IP 设备的管理界面。
  2. 创建 iRules

    • 导航到 Local Traffic > iRules
    • 点击 Create 按钮,创建一个新的 iRule。
    • 名称:输入一个易于识别的名称,例如 blacklist_rule
    • 内容:编写 iRule 脚本,使用 class match 命令引用 Data Group。

以下是一个简单的 iRule 示例,用于检查客户端 IP 是否在黑名单中:

when CLIENT_ACCEPTED {if { [class match [IP::client_addr] equals blacklist_ips] } {# 如果 IP 在黑名单中,拒绝访问log local0. "Dropped connection from [IP::client_addr]: IP is blacklisted."drop}
}

应用 iRules 到虚拟服务器

  1. 导航到虚拟服务器

    • 在 F5 管理界面中,导航到 Local Traffic > Virtual Servers > Virtual Server List
    • 选择需要应用黑名单规则的虚拟服务器。
  2. 添加 iRules

    • 在虚拟服务器的 Resources > iRules 部分,点击 Manage
    • 在弹出的窗口中,选择刚刚创建的 blacklist_rule,然后点击 Add

黑名单配置流程

  1. 创建 Data Group
    • 创建一个名为 blacklist_ips 的 Data Group,类型为 address,并添加需要白名单的 IP 地址或子网。
  2. 创建 iRule
    • 编写 iRule 脚本,使用 class match 命令检查客户端 IP 是否在 blacklist_ips 中。
    • 如果客户端 IP 在白名单中,允许访问;否则,拒绝访问。
  3. 应用 iRule
    • 将创建的 iRule 应用到相应的虚拟服务器(Virtual Server)上。

注意事项

  1. 性能优化:合理配置 Data Group 和 iRules,避免过多的匹配操作影响性能。
  2. 定期更新:根据实际情况定期更新 Data Group 中的 IP 地址,确保黑白名单的有效性。
  3. 测试验证:在生产环境中应用新的规则之前,建议在测试环境中进行充分的测试,以确保规则的正确性和稳定性。

总结

  通过结合 Data Group 和 iRules,F5 WAF 的黑白名单功能可以实现更灵活、更高效的流量控制策略。合理使用这些工具,不仅可以提高系统的安全性,还可以优化性能,确保业务的平稳运行。

相关文章:

  • ArcGIS Pro跨图层复制粘贴
  • 第十三届蓝桥杯 2022 C/C++组 修剪灌木
  • 抖音的逆向工程获取弹幕(websocket和protobuf解析)
  • 【QT网络】构建简单Udp回显服务器
  • Flutter Dart 循环语句 for while do..while break、continue
  • CGAL 网格内部生成随机点
  • 图论---朴素Prim(稠密图)
  • Linux内核netlink机制 - 连接器(Netlink Connector)
  • 解决cannot find attribute `serde` in this scope记录
  • 远程访问服务器的Jupyter Notebook
  • 生成随机验证码-解析与优化
  • 代码随想录算法训练营第一天:数组part1
  • 第六章 QT基础:6、QT的Qt 时钟编程
  • 协作开发攻略:Git全面使用指南 — 第三部分 特殊应用场景
  • JW01三合一传感器详解(STM32)
  • 深度剖析操作系统核心(第一节):从X86/ARM/MIPS处理器架构到虚拟内存、分段分页、Linux内存管理,再揭秘进程线程限制与优化秘籍,助你成为OS高手!
  • Ubuntu 一站式部署 RabbitMQ 4 并“彻底”迁移数据目录的终极实践
  • 【回眸】Aurix TC397 IST 以太网 UDP 相关开发
  • 观成科技:摩诃草组织Spyder下载器流量特征分析
  • SpringCloud——负载均衡
  • 韩国检方重启调查金建希操纵股价案
  • 下周起上海浦东将投放5000万元消费券,预计分五周发放
  • 长三角与粤港澳大湾区融合发展,无锡何以成为窗口?
  • 城事|喊侬白相,长兴太湖9号公路邀上海市民共赴诗意之旅
  • 特朗普称或将“大幅降低”对华关税,外交部:打,奉陪到底;谈,大门敞开
  • 叶辛秦文君进校园推广阅读