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

Автоматически изменять iptables на основе данных журнала Apache для блокировки клиентов с плохим поведением

Есть ли какой-либо инструмент в Linux для автоматического изменения iptables, чтобы заблокировать проблемного клиента на основе анализа журнала Apache? Я помогаю запустить сайт, который иногда бывает перегружен запросами от конкретного пользователя. Единственное решение - добавить запись в iptables, чтобы заблокировать клиента-нарушителя. Обычно уже слишком поздно, когда я могу отреагировать вручную - следовательно, я хотел бы, чтобы какой-то механизм, основанный на правилах, изменил iptables. Я предполагаю, что потребуется какая-то нечеткая логика или статистический анализ.

Вы можете использовать что-то вроде fail2ban, в который IIRC встроена программа проверки журналов Apache.

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

Например, вы можете разрешить только 10 эхо-запросов в минуту с одного IP-адреса. Он действительно становится немного более сложным, чем это, с возможностью устанавливать пределы пакетов поверх долгосрочных средних ограничений.

Несколько хороших инструкций по его настройке http://kevin.vanzonneveld.net/techblog/article/block_brute_force_attacks_with_iptables/

Проверять, выписываться OSSEC. Лучший анализатор файлов журнала, который я использовал. Он также поддерживает активный ответ на основе анализа.