我在Apache 2.4.7服务器上工作,根据IP地址黑名单过滤出请求。 目前他们被存储在一个数据库中。 有没有办法通过查询数据库拒绝访问特定的域名 – IP组合? 目前我有一个脚本,通过添加和删除“不需要1.2.3.4”行,与httpd.confconfiguration文件同步数据库。
对域/ IP对有强烈的要求,还是阻止来自所有域的IP是可以接受的?
如果后者可以接受的话,我会倾向于认为使用ipset和iptables会更好,而不是使用apache处理这个问题。
事实上,值得使用fail2ban并将其configuration为通过parsingapache日志中的恶意事件来为你自动化(一些)。
这也可以避免这些不必要的攻击,这可能有助于节省一些资源。
你可以考虑使用ModSecurity ,在你的情况下,它将允许:
@ipMatch来限制或拒绝对特定IP(以及域名)的访问。 我想也许值得一提的是,不要直接编辑你的apacheconfiguration文件,你可以使用.htaccess文件(参见https://httpd.apache.org/docs/2.4/mod/mod_access_compat.html )。