Автоматически блокировать IP, который запрашивает определенный URL
Один из наших клиентов PHPBB (сюрприз, сюрприз) был взломан. Я снял его, просто изменив имя каталога, однако адрес example.com/forum/*
все еще получает хиты от сомнительных IP-адресов. Сервер запускает Apach на коробке CentOS.
Я не эксперт, но хотел бы автоматически заблокировать любой IP, который обращается к каталогу от ВСЕХ запросов http/s на коробке. Есть ли простое решение для этого? У меня есть доступ к корневой оболочке.
3 ответа
Это будет работа для Fail2Ban. Вы можете использовать его для сканирования файлов журналов на предмет определенных выражений и блокировки с использованием iptables на основе этих результатов.
fail2ban должен быть доступен в большинстве репозиториев дистрибутива, хотя вам, возможно, придется добавить дополнительные репозитории.
Поставь решение от ОП
Вот как:
- SSH к вашему серверу
- Потому что я в CentOS,
cd /tmp
- Потому что я в CentOS,
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
yum install fail2ban
редактировать
/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"]
Создать файл
apache-banforum.conf
в/etc/fail2ban/filter.d/
сfailregex = ^<HOST> -.*"(GET|POST).*/forum/.*$ ignoreregex =
/etc/init.d/fail2ban start
Вы можете создать файл.htaccess в директории форума и поставить эти следующие строки, чтобы защитить этот URL-адрес путем доступа.
Order allow,deny
Deny from all