У меня есть сервер с Ubuntu 14.04, фреймворк laravel 5.2.
В последние 24 часа кто-то непрерывно отправлял запросы флуда с разных IP-адресов, как показано ниже (log / apache2 / access.log):
198.46.157.112 - - [18/Oct/2016:17:44:04 +0100] "GET /choi-ads/test_44022 HTTP/1.1" 403 6032 "http://ki****" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36"
175.232.51.53 - - [18/Oct/2016:17:44:04 +0100] "GET /choi-ads/test_44022 HTTP/1.1" 500 47902 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36"
212.4.138.94 - - [18/Oct/2016:17:44:05 +0100] "GET /choi-ads/test_44022 HTTP/1.1" 403 6086 "http://buynew******" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
139.0.51.221 - - [18/Oct/2016:17:44:05 +0100] "GET /choi-ads/test_44022 HTTP/1.1" 403 6086 "http://buynew*****" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/55.2.126 Chrome/49.2.2623.126 Safari/537.36"
Я создал фильтр для службы fail2ban, чтобы запретить эти IP-адреса, но запросы продолжаются с разных IP-адресов. До сих пор у меня забанен 1800 ip.
Вы знаете, как я могу эффективно заблокировать эти запросы?
Просматривая журналы, вы предоставляете URI запроса. и UA одинаковы для всех запросов, и всегда лучше блокировать на основе общего вектора атаки
Итак, сделайте условия блока, используя
URI, UA и другие параметры запроса