Подскажите по nft
Жестко ддосят, nginx перебирает айпишники, а fail2ban пушит их в nftables
За сегодня добавлено порядка 300к элементов (ip) в nft и похоже это только начало.
Интересует вопрос, стоит ли беспокоится о том что в конечном итоге nft ляжет из за объема, если да, то что можно предпринять?
Everything_is_bad, я в этом не силен, как мне кажется просто кучей запросов перебирают страницы сайта.
Сервер на котором расположен сайт, выдерживет, а вот сервер с базой данных нет, работает какой то время и клинет к фигам собачим, под базу взял сервер помощьнее и пока полет нормальный. Ну к базе только у приложения есть доступ, сайт+API сервер, а API сервер уже с базой общается.
Идет ддос с разных ip, с разных стран.
У меня ЦА чисто русская, поэтому мне не особо не важны другие страны, ну только разве что поисковые боты, поэтому через nginx выставил лимиты, ну а fail2ban пушит их в nft на 1 день. Но как я понял у него айпишники вообще не заканчиваются...
Уже где то трое сукот практически без передыху ддосит.
У меня ЦА чисто русская, поэтому мне не особо не важны другие страны,
В таком случае на уровне ОС/железа можно задать вайтлист ру сегмента, что сразу снимет вопрос с объемом хранения, так как ру сегмент адресов относительно скромный. Остаток вполне потянет nft. В общем случае я бы рекомендовал накинуть клоудфлейр, но вроде в РФ он не работает...
еще в fail2ban можно назначить прогрессивную блокировку, когда повторяющимся адресам будет увеличиваться срок бана - день, два, четыре и т.д, как угодно.
далее. я не настраивал в fail2ban и nft , и не помню какие там actions сейчас есть из коробки, но можно(нужно) вместо добавления адресов в таблицы использовать ipset , так быстрее обрабатывается и в целом для системы легче.
Refguser, у меня бан не совсем по ip проходит, nginx смотрит какой язык в браузере стоит у пользователя и если RU, то он не пишет инфу для fail2ban. Т.е. в практическом смысле банятся только забугорные юзеры и только во время атаки, если атаки нет и банить никого не будет.
ThunderCat, клоудфлейр мимо, с ним проблемы к сожалению =)
Ну и я бы не хотел прям жестко банить весь траф кроме ru, порядка 10% из за бугра приходит и норм пользователи, но временно забанить их все же можно, на время атаки.
Когда-то в чуть другом ключе заморачивался с банлистом (пополнялся от honepots), а при росте списка - оффлайн обработка списка для "схлопывания" отдельных ip из списка в подсеть
примерный алгоритм:
- добыть сеть для адреса (например через whois)
- смержить все адреса из этой подсети и создать одну запись блока подсети
как образчик (прям из живого):
2.57.121.28 щупал sip
2.57.121.203 - сунул нос в ftp
по whois оба адреса из одной сети: