Защита (DDOS) http flood
Защита (DDOS) http flood
Добрый день.
Прошу меня не бить учитывая что я скорее разработчик чем администратор но на меня повесили и это. Спрошу сдесь.
Имеется сервер 4 ядра 16 ram
На нем крутиться vesta и 20-30 сайтов с общей посещалкой около 20к уников
На один из сайтов пошел сильный ddos. 3-4gbps. (http flood). В результате сайт пришлось перенести на др площадку
Теперь передомной стоит задача попытаться защитить сервер от подобного.
Прошу Вас помочь мне с этим.
Ну а как результат предлагаю общими усилиями сделать готовое решение и выложить на форуме.
Прошу меня не бить учитывая что я скорее разработчик чем администратор но на меня повесили и это. Спрошу сдесь.
Имеется сервер 4 ядра 16 ram
На нем крутиться vesta и 20-30 сайтов с общей посещалкой около 20к уников
На один из сайтов пошел сильный ddos. 3-4gbps. (http flood). В результате сайт пришлось перенести на др площадку
Теперь передомной стоит задача попытаться защитить сервер от подобного.
Прошу Вас помочь мне с этим.
Ну а как результат предлагаю общими усилиями сделать готовое решение и выложить на форуме.
Re: Защита (DDOS) http flood
От сильного досса программная защита не поможет. Мы постараемся сделать защиту на уровне nginx
Re: Защита (DDOS) http flood
ну. 3-4 не так много, но не приятно, я встречал и побольше. Вариант есть, подключить например qrator или клаудфлаер, взять отдельный ip... Тогда весь трафик будет фильтроваться, а IP реального атакующий знать не будет.
Re: Защита (DDOS) http flood
Я тут свой вариант предложил, твою нагрузку отразил спокойно, но у меня на машинке 96гб рамки - запас по больше, конфиги придется ужать - но точно не ляжет.
viewtopic.php?f=28&t=4700&p=18648#p18648
viewtopic.php?f=28&t=4700&p=18648#p18648
Re: Защита (DDOS) http flood
глупости все это... APF + Ddos deflate + fail2ban куча лишнего треша
была у мена атака на один сервер а загружала канал в сначала атака забивала канал в 20 мегабит в пике было 80 мегабит...
отстроил по нормальному iptables атака ушла лесом...
сервер 2 ядра 1 гиг оперативы 4 дня нормально работал пока атака не закончилась, понадобилось всего около 25 правил на которых осело 12к IP адресов, с котрых было 54кк обращений. в пике load был 1.5
была у мена атака на один сервер а загружала канал в сначала атака забивала канал в 20 мегабит в пике было 80 мегабит...
отстроил по нормальному iptables атака ушла лесом...
сервер 2 ядра 1 гиг оперативы 4 дня нормально работал пока атака не закончилась, понадобилось всего около 25 правил на которых осело 12к IP адресов, с котрых было 54кк обращений. в пике load был 1.5
Re: Защита (DDOS) http flood
а не поделитесь как iptables настраивали?demian wrote:глупости все это... APF + Ddos deflate + fail2ban куча лишнего треша
была у мена атака на один сервер а загружала канал в сначала атака забивала канал в 20 мегабит в пике было 80 мегабит...
отстроил по нормальному iptables атака ушла лесом...
сервер 2 ядра 1 гиг оперативы 4 дня нормально работал пока атака не закончилась, понадобилось всего около 25 правил на которых осело 12к IP адресов, с котрых было 54кк обращений. в пике load был 1.5
Re: Защита (DDOS) http flood
еще бы вспомнить на каком из 117 серверов это было...
если по памяти, то цепочка правил для 80 порта выглядела примерно так
значения --limit 20/min --limit-burst 20 и --hashlimit-above 10/min --hashlimit-burst 10 - подбираются
значения --seconds 10000 на ваше усмотрение - время блокировки IP адреса
правила на тестовой машине в процессе теста, который затягивается из-за отсутствия времени. Когда будет окончательный конфиг выложу.
если по памяти, то цепочка правил для 80 порта выглядела примерно так
Code: Select all
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -m limit --limit 20/min --limit-burst 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -m recent --rcheck --seconds 10000 --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 80 -m hashlimit --hashlimit-above 10/min --hashlimit-burst 10 --hashlimit-mode srcip --hashlimit-name BLOCK -m recent --set --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
значения --limit 20/min --limit-burst 20 и --hashlimit-above 10/min --hashlimit-burst 10 - подбираются
значения --seconds 10000 на ваше усмотрение - время блокировки IP адреса
правила на тестовой машине в процессе теста, который затягивается из-за отсутствия времени. Когда будет окончательный конфиг выложу.