• 黑名单封禁
    • 场景说明

    黑名单封禁

    场景说明

    • 假设我们的服务遭受了来自特定IP的攻击,或特定接口(如发放代金券)被恶意调用;希望可以对指定流量进行封禁,如:
      • 封禁IP:攻击流量来自某些固定的IP(2.2.2.2)
      • 封禁PATH:攻击流量针对某些特定的PATH(/bonus)

    在样例配置上添加一些新的配置,就可以实现上述封禁功能

    • 首先,bfe启用mod_block模块(bfe.conf)
    1. Modules = mod_block #启用mod_block
    • 配置block模块

      • 配置使用的block规则文件(包括全局IP黑名单和封禁规则)的存储路径(mod_block/mod_block.conf)
      1. [basic]
      2. # 封禁规则文件路径
      3. ProductRulePath = mod_block/block_rules.data
      4. # IP黑名单文件路径
      5. IPBlacklistPath = mod_block/ip_blacklist.data
      • 配置block规则

        • 通过IP黑名单封禁IP地址:2.2.2.2(mod_block/ip_blacklist.data)

          1. 2.2.2.2
        • 封禁PATH:/bonus(mod_block/block_rules.data)

          1. {
          2. "Version": "init version",
          3. "Config": {
          4. "example_product": [{
          5. "action": {
          6. "cmd": "CLOSE",
          7. "params": []
          8. },
          9. "name": "block bonus",
          10. "cond": "req_path_in(\"/bonus\", false)"
          11. }]
          12. }
          13. }
    • 现在,用curl验证下是否封禁成功

    curl -v -H “host: example.org” “http://127.1:8080/bonus“, 连接将会被直接关闭