Доброго всем дня, я столкнулся с очень сложной DDoS атакой. По логам видно, что атакуют боты с разными User Agent'ами (дальше UA). Они атакуют все страницы форума, а не только главную.
Были предприняты следующие решения:
1. Бан на уровне nginx по UA. Дает овладеть над ситуацией, но не дает 100% защиты. Чуть изменили UA и прощай веб сервер. Сейчас они используют уже валидные UA с браузеров, это ужасно. Я блокирую уже чистый траффик.
2. Бан iptables+ipset+tcpdump. Выделял самых активных ботов и банил с помощью маски /24. Не спасает. После 1к забаненых приходят 2к и меняют стратегию. Отправляют по 5-10 запросов каждый и выжидают. Сервер не справляется с таким натиском маленьких запросов в кол-ве 2к+ ботов.
3. Бан на уровне nginx - GeoIP. Не принес результата. Вообще пропустил все что нельзя было пропускать.
Прошу помощи, сил моих нет.
Оборудование:
CPU: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz - 4ядра, думаю агрейдится до 10 уже
ОЗУ: 12Гб
Канал: 100
Он не помогает, его обошли. В nginx поставил правило, что при обращении на другой хост кроме домена сайта = дроп. В частности CF меня и атакует. Его IP адреса в логах. Просто невероятно кол-во. Абузу кинул им сегодня по этому поводу
Спустя год. Банальный тесткуки обходят, когда цель именно ресурс. Лимиты на senginx, правильная настройка mysql and apache/php-fpm и модули ядра решают. Даже при высокой нагрузке - ресурс работает. Сейчас дописал примитивную нейросеть и она отфильтровала за этот месяц 86 атак, что сверх хорошо. la не превышает 4 при использовании процессора I7 4790K
Ян Ко: ну скажем приносит сайт в день долларов 500, лежите вы уже дней десять потери 5000 баксов + падение в сео и отток клиентов то есть с длинным хвостом овер 10к , то есть а амдину можно было заплатить скажем тысячу, то есть выгода в десять раз минимум.
Пума Тайланд, жаль, что отвечаю спустя год. Но прибыль лишь на оплату сервера до сих пор. Это проект, который приносит лишь моральное удовлетворение - мое хобби. С изучением linux пришел к решению. Все было очень просто, главное, чтобы http атака не забила канал :)