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

Я получаю слишком много запросов на свой сервер с разных IP-адресов. Я обнаружил, просматривая apache access.log, что все эти IP-адреса запрашивают определенный файл (teXeFe.php). Я хотел бы заблокировать доступ ко всем этим IP-адресам. Как мне это сделать?


person user1670469    schedule 24.10.2013    source источник


Ответы (2)


Как насчет использования совпадения строк iptables?

Что-то типа,

iptables -I INPUT 1 -m string --algo bm --string "teXeFe.php" -j DROP

Я вставил правило в первую позицию только для проверки, поскольку у меня были другие правила, которые совпадали до этого, если оно было вставлено дальше по цепочке. Во всяком случае, вы поняли концепцию. Вы также можете уточнить правило (включая GET /full/url/path и т. д.).

Вот страница, описывающая фильтр сопоставления строк,
- http://spamcleaner.org/en/misc/w00tw00t.html

И вот еще один вопрос об этом,
- правило iptable для отбрасывания пакета с определенной подстрокой в ​​полезной нагрузке

Надеюсь, это поможет!

person Patrik Martinsson    schedule 24.10.2013

Предоставленное решение не сработало для меня. Вот что сделал:

iptables -A INPUT -p tcp -m string --string "/path/to/file.php" --algo kmp -j REJECT
person codemonkey    schedule 12.06.2019