Хотя если без самообмана, fail2ban — это защита от мусора, а не от атаки. Брутфорс, кривые попытки логина, какая-то веб-помойка — да. DDoS — нет. Проблема очень простая. Fail2ban сначала должен дождаться, пока запрос долетит до nginx, попадет в лог, распарсится, и только потом IP уйдет в бан. То есть вся эта схема работает только тогда, когда сервер еще в состоянии спокойно жить и писать логи. А при нормальном флуде ничего он уже не успевает. Если у вас канал 100 мегабит, а туда прилетает 200 мегабит UDP, то на этом кино заканчивается. Канал забит, пакеты не доходят до приложения, логов нет, fail2ban ничего не видит. С SYN-флудом та же логика. До веб-сервера трафик может просто не дожить. Отдельный цирк начинается, когда все это еще и крутится через обычный iptables без ipset. Сначала человек радуется банам, потом раздувает список правил, а потом сервер начинает тратить CPU на этот героизм. Поэтому если хочется хоть какой-то взрослой гигиены, смотреть надо хотя бы в сторону ipset
Про fail2ban до сих пор любят говорить так, будто это почти антиддос
12 марта12 мар
1 мин