Автоматически блокировать IP, который запрашивает определенный URL

Один из наших клиентов PHPBB (сюрприз, сюрприз) был взломан. Я снял его, просто изменив имя каталога, однако адрес example.com/forum/* все еще получает хиты от сомнительных IP-адресов. Сервер запускает Apach на коробке CentOS.

Я не эксперт, но хотел бы автоматически заблокировать любой IP, который обращается к каталогу от ВСЕХ запросов http/s на коробке. Есть ли простое решение для этого? У меня есть доступ к корневой оболочке.

3 ответа

Решение

Это будет работа для Fail2Ban. Вы можете использовать его для сканирования файлов журналов на предмет определенных выражений и блокировки с использованием iptables на основе этих результатов.

fail2ban должен быть доступен в большинстве репозиториев дистрибутива, хотя вам, возможно, придется добавить дополнительные репозитории.

Поставь решение от ОП

Вот как:

  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"]
    
  6. Создать файл apache-banforum.conf в /etc/fail2ban/filter.d/ с

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

Вы можете создать файл.htaccess в директории форума и поставить эти следующие строки, чтобы защитить этот URL-адрес путем доступа.

Order allow,denyDeny from all

Другие вопросы по тегам