Пакетное наводнение, есть ли способ справиться с этим?
Моя машина залита тысячами пакетов в секунду. Они не используют большую пропускную способность (60 Мбит / с из 1 Гбит), но они сильно повреждают систему, потребляя процессор, отвечающий за обработку прерываний сетевой карты. ksoftirqd достигает 100%, и машина становится практически недоступной. Как я могу бороться с такого рода атаками - выбрасывая огромное количество случайных пакетов? Есть ли способ как-то настроить обработку серверных прерываний или распределить ее по другим процессорам?
Моя сетевая карта использует NAPI, ядро Linux - 2.6.31.5.
1 ответ
Вам необходимо связаться с вашим вышестоящим провайдером и попросить их заблокировать, отфильтровать или иным образом предотвратить попадание пакетов из этой DDOS. К тому времени, когда они появятся на вашем сервере, вы ничего не сможете сделать.
Вы можете попытаться заблокировать исходные IP-адреса с помощью iptables, но, вероятно, (вычислительный) ущерб уже нанесен к тому времени, когда iptables фактически просматривает пакеты и решает отбросить их.
РЕДАКТИРОВАТЬ:
Ваш комментарий не имеет смысла для меня. У вас DDOS, вызванный большим количеством или специально созданными пакетами (или обоими), вызывающими слишком большие вычислительные затраты из-за переключения прерываний. Они приходят из одного или нескольких источников? Ваш апстрим-провайдер отбрасывает пакеты из этого источника? Прибыль! Если они никогда не доберутся до вашей машины - они никогда не вызовут проблемы в первую очередь. На хосте нет никакой магии, чтобы предотвратить это, когда пакеты уже поступили. Вам необходимо сбросить пакеты до того, как они появятся на вашем компьютере. Свяжитесь с вашим поставщиком услуг или хостинговой компанией.