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

Проверка пределов UFW с тысячами запрещенных блоков

Дело в том, что у меня есть постоянный китайский ботнет, который рассылает спам на моем форуме (работает на сервере Ubuntu 12.04.2 на nginx и т. Д.). Я использовал UFW («Несложный брандмауэр» Ubuntu) для управления брандмауэром, просто как простой способ не иметь дело с iptables.

Я определил чрезвычайно последовательный и уникальный (не говоря уже о глупом) URL-адрес, который он пытается загружать каждый раз, когда бот попадает, и на основании этого сделал cron для анализа журналов доступа каждый час и поиска новых злоумышленников, и ufw deny from [ip-address] на них.

Однако натиск не прекращается. Это невероятно. Я регистрирую каждый заблокированный IP-адрес, и это почти 17000 IP-адресов. 98% IP-адресов поступают из Китая, а некоторые из них - из других стран.

это появляется чтобы работать хорошо: на практике все эти атаки заблокированы, и соединения вернулись в нормальное состояние, трафик упал в геометрической прогрессии, а эффективный DDOS прекратился (если я пропущу этих клиентов, объем и скорость запросов потрясающе).

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

Итак, несколько вопросов:

  1. Сколько правил (предположительно, iptables, когда все сказано и сделано) я могу иметь разумно, прежде чем мне следует беспокоиться?
  2. Есть ли какой-либо возможный отрицательный эффект от продолжения именно этой практики?
  3. Какие-нибудь предлагаемые изменения или улучшения?
  4. Кто-нибудь знает об этом боте? Это атакует bbPress. Есть ли лучший способ предотвратить подобные атаки, чем лечить симптомы?

К сожалению, я не хочу блокировать весь Китай, так как знаю, что у нас там есть пользователи ...

Это не повлияет на влияние на память (даже сделает его немного хуже), но сохранит нагрузку на ЦП: если вы еще этого не сделали, вам следует занести в белый список остальной мир вместо того, чтобы проверять все входящие соединения по вашему длинному списку заблокированных IP-адресов.

1-2. Теоретически сколько угодно. На практике вы сначала должны начать наблюдать некоторые проблемы с памятью, потому что все эти правила должны быть загружены. Тогда у вас возникнет настоящая проблема с максимальной загрузкой процессора, потому что вам придется проверять все эти правила, пока вы не выберете подходящее. Также зависит от того, что вы регистрируете (т.е. регистрируете ли вы все, все DROP и так далее?)

3. Используйте наборы IP, блокируйте целые блоки IP и / или комбинируйте с аппаратным межсетевым экраном.

4. Я не знаком с bbPress, но есть множество вещей, которые вы можете сделать для смягчения атак, от кеширования до предварительной блокировки связанных IP-блоков в ботнете.

  1. Довольно много
  2. В какой-то момент ваша система замедлится
  3. Увидеть ниже
  4. Не я

Вы просите о возможных улучшениях, и в первую очередь я бы хотел ускорить цикл обратной связи. По моему опыту, DDOS уходят быстрее, если они быстро видят свою безуспешность. Поэтому отвечайте на запросы для этого URL-адреса с помощью 404 и немедленно блокируйте их (один из способов добиться этого - вставить IP-адрес в трубку beanstalk и превратить вашу cronjob в постоянно работающую вещь, которая опрашивает эту трубку и блокирует).