【问题标题】:Apache mod_evasive whitelist is not working properlly.Apache mod_evasive 白名单无法正常工作。
【发布时间】:2016-05-10 19:45:23
【问题描述】:

我们遇到了奇怪的情况,我们在 Ubuntu 14 上使用 apache 2.4 配置了 mod_evasive。我们在白名单中添加了 google bot IP(我们在白名单中维护了一长串内部和外部 IP)。但是谷歌 IP 仍然被 mod_evasive 阻止。

我们检查了 mod_evasive 功能,它工作正常(我们通过在白名单中添加 IP 使用 Apache 基准测试工具进行了测试)。以下是配置,原来 IP-66.249.66.5 是子网 66.249.64.0/19 的一部分,但我们添加了 24 和 32 子网

   <ifmodule mod_evasive20.c>
   DOSHashTableSize 3097
   DOSPageCount  8
   DOSSiteCount  50
   DOSPageInterval 1
   DOSSiteInterval  3
   DOSBlockingPeriod  600
   DOSLogDir   /var/log/mod_evasive
   DOSEmailNotify  abc@abc.com
   DOSWhitelist 66.249.66.5 66.249.0.0/16 66.249.64.0/19
   </ifmodule>

   root@ip-10:~# apachectl -M | grep -i ev
    evasive20_module (shared)

【问题讨论】:

    标签: apache mod-evasive


    【解决方案1】:

    基于https://www.linode.com/docs/websites/apache-tips-and-tricks/modevasive-on-apache,您应该使用通配符而不是子网划分。例如以下内容(这与子网划分不完全一样):

    DOSWhitelist 66.249.*.*
    

    【讨论】:

    • 要添加到此答案,应将多个白名单 ip 地址放在单独的行中,“DOSWhitelist 1.1.1.1”、“DOSWhitelist 2.2.2.2”等。用新行分隔,不以逗号或逗号分隔空格。
    • 192.168.* 是否也能正常工作,还是应该是 192.168.*.*?
    • 不确定。您可以在此处进行试验并让我们知道以确保完整性。
    【解决方案2】:

    有时您需要阻止 /17 或 /19,而通配符不适用于这种情况。如果 mod_evasive 真的能处理网络子网规范就好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-01
      • 2017-08-15
      • 2014-02-23
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多