自动阻止请求特定 URL 的 IP

bei*_*lex 5 firewall centos phpbb apache-2.2

我们客户的一位 PHPBB(惊喜,惊喜)被黑了。我暂时通过简单地更改目录名称将其删除,但是该地址example.com/forum/*仍然受到来自令人讨厌的 IP 的点击。服务器在 CentOS 机器上运行 Apache。

我不是专家,但想自动阻止从盒子上的所有 http/s 请求访问目录的任何 IP。有没有简单的解决方案?我确实有 root shell 访问权限。

mas*_*oeh 8

解决方案从 OP

就是这样:

  1. SSH 到您的服务器
  2. 因为我在 CentOS, cd /tmp
  3. 因为我在 CentOS, rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
  4. yum install fail2ban
  5. 编辑/etc/fail2ban/jail.conf和添加..

    [apache-banforum]
    enabled = true
    filter  = apache-banforum
    logpath = /usr/local/apache/domlogs/website/website.co.uk <-- change to your log file
    maxretry = 1
    bantime = 60000
    action = iptables-multiport[name=BanForum, port="http,https"]
    
    Run Code Online (Sandbox Code Playgroud)
  6. apache-banforum.conf/etc/fail2ban/filter.d/其中创建一个文件

    failregex = ^<HOST> -.*"(GET|POST).*/forum/.*$
    ignoreregex =
    
    Run Code Online (Sandbox Code Playgroud)
  7. /etc/init.d/fail2ban start


cjc*_*cjc 5

这将是Fail2Ban的工作。您可以使用它来扫描特定表达式的日志文件,并根据这些结果阻止使用 iptables。

fail2ban 应该在大多数发行版存储库中可用,但您可能需要添加可选的存储库。