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

Каков наиболее эффективный способ заблокировать IP-адрес на уровне приложения?

Я понимаю, что большинство маршрутизаторов / брандмауэров могут блокировать IP-таблицы на сетевом уровне. Например, IPtables довольно эффективен.

Однако мне нужен IP-блок прикладного уровня. У меня есть балансировщик нагрузки HAproxy, который балансирует нагрузку на 4 внутренних веб-сервера apache / nginx. Я иногда сталкиваюсь с парсингом и DDoS-атаками GET на моем сайте. Я хочу иметь возможность быстро (вручную) заблокировать IP-адрес на уровне приложения. Как заблокировать IP-адрес, разрешить / запретить Apache, .httaccess? Есть ли более эффективный / простой способ заблокировать IP-адреса? Что делать, если мне нужно заблокировать огромный список? Я также был бы признателен за способ блокировки конкретных. Пользовательские агенты.

Вы думали использовать модули GeoIP? Они специально разработаны для эффективной обработки большого списка IP-адресов на уровне приложения и позволяют принимать по ним решения (например, разрешить, заблокировать, перенаправить и т. Д.).

Вам следует попробовать модуль mod_evasive для Apache. У него есть возможность взаимодействовать с IPtables, если вам это нужно, вы также можете установить белый список.

Вот некоторая документация по этому поводу: https://www.linode.com/docs/websites/apache-tips-and-tricks/modevasive-on-apache

Обновить:

Для ручной блокировки или использования файла list.txt вы можете использовать инструмент iptables и / или команду оболочки, которая читает файл list.txt, примерно так:

for i in `cat list.txt`; do iptables -A INPUT -p tcp -s $i -j DROP; done

В этом случае list.txt содержит IP-адреса в каждой строке.

Для получения дополнительной информации об инструменте iptables: https://help.ubuntu.com/community/IptablesHowTo

Взгляните на это: FailToBan

Он сканирует файлы журналов вашего apache и блокирует IP-адреса с вредоносными запросами. Однако у меня нет опыта в этом, возможно, стоит попробовать!

Вы можете заблокировать определенные пользовательские агенты в своей конфигурации и загрузить дополнительный модуль с именем: mod_authz_host (http://httpd.apache.org/docs/2.2/howto/access.html). Это может быть хорошим решением. Но злоумышленники могут легко изменить свой пользовательский агент. Таким образом, возможно, приведенное выше решение может быть более полезным.

Приветствует

Самуэль