Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

Order allow,deny Deny from all