Как защитить сервер от простой DoS-атаки

У Вас нет достаточного количества пространства для mirrorlog. Значение по умолчанию имеет mirrorlog на диске (в отдельном PV). См. https://bugs.launchpad.net/ubuntu / + source/lvm2 / + ошибка/121527 для большего количества информации.

1
задан 10 September 2013 в 14:33
3 ответа

fail2ban - один из многих инструментов, предназначенных для работы в такой ситуации. fail2ban сработал для меня, остановив пару атак грубой силы на ssh. Я предполагаю, что ваш сервер - это Linux.

1
ответ дан 3 December 2019 в 17:08

Помимо базового брандмауэра, мы полагаемся на haproxy для выполнения тяжелой работы по TCP. Мы обнаружили, что он запускает круги вокруг готового экземпляра Apache HTTPd при любых атаках slowdos.

-A INPUT -p tcp -m tcp -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j SYNFLOOD

-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -j HTTPDGUARD
-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW -j HTTPDGUARD

-A HTTPDGUARD -m connlimit --connlimit-above 25 --connlimit-mask 32 -j HTTPDENY
-A HTTPDENY -j LOG --log-prefix "HTTP Flood: "
-A HTTPDENY -p tcp -m tcp -j REJECT --reject-with tcp-reset

-A SYNFLOOD -m state --state NEW -m recent --set --name SYNRATE --rsource
-A SYNFLOOD ! -s 150.156.24.0/24 -m state --state NEW -m recent --update \
   --seconds 5 --hitcount 200 --name SYNRATE --rsource -j DROP

-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT

Но в основном вам нужно либо заблокировать атаку, либо исправить эксплойт, либо сделать то и другое.

1
ответ дан 3 December 2019 в 17:08

Вы можете использовать брандмауэр, чтобы ограничить количество количества одновременных подключений и скорости новых подключений, поступающих из сети (например, a / 32 для IPv4 и a / 64 для IPv6). Пример того, как это может выглядеть при использовании iptables :

3
ответ дан 3 December 2019 в 17:08

Теги

Похожие вопросы