Показать страницуИстория страницыСсылки сюдаЭкспорт в PDFНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== IPSet: простая блокировка DDOS по списку ====== Чтобы заблокировать небольшой DDOS - можно воспользоваться iptables. Добавлять много IP в iptables не вариант, т.к. чем больше правил в цепочках - тем больше нагрузка на CPU хоста. Лучше использовать довольно простой способ: берем список атакующих IP-адресов из файла, добавляем в список ipset и блокируем при помощи IPTables. Если атака серьезная - данный способ не подойдет, нужно уходить под защиту компаний, специализирующихся на данной услуге. Просто по той причине что ваш хостер получит забитые входящие каналы и отключит ваши IP для уменьшения нагрузки на других клиентов. <code> ipset -N DDOS iphash xargs < ddos-addresses.txt -n 1 ipset -A DDOS iptables -A INPUT -m set --match-set DDOS dst -j DROP </code> Осталось периодически обновлять список (в зависимости от скорости атаки) и перечитывать адреса из файла. Получить список адресов можно примерно так: <code> iftop -nNPt -L 5000 -s 1 1> iftop-log.txt 2>/dev/null cat iftop-log.txt | grep ":22005" -A 1 | awk '{ print $1 }' | grep -x '[0-9\.\:]\{9,25\}' | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" > dump.txt <code> далее обрабатывал список ip адресов, убирая валидные адреса: <code> grep -Fvxf valid-addrs.txt dump.txt | uniq > ddos-addresses.txt </code> {{tag>iptables ipset ddos block_ddos}} software/iptables/ipset-block-ddos.txt Последнее изменение: 2022/03/07 14:05 — 127.0.0.1