Атака на tcp LAST_ACK

123 4
D
На сайте с 05.06.2007
Offline
155
12052

Приветствую!

Уже много разных атак приходилось гасить, вот теперь встретился с чем то похожим на SYN flood,

80й порт забивается соединениями со статусами LAST_ACK, сейчас например их 23685

Как бороться с такой атакой? Есть ли защита на уровне системы или надо просто дропить IP с такими статусами?

Написал не мало шедевров ;)
kxk
На сайте с 30.01.2005
Offline
970
kxk
#1

Dimanych, От 24к соединений у вас падает сервер ?

Ваш DEVOPS
D
На сайте с 05.06.2007
Offline
155
#2

В сумме 50-60тыс подключений, просто в состоянии LAST_ACK 24тысчи.

И он совсем не падает, 80й порт в очереди видимо. По логам nginx писал что ему мало подключений, было worker_connections 4000, сделал 10000, ошибка пропала, а сайты так и не открывались, или открывались через минуту.

Пришлось блокать IP адреса которые занимали более 100 состояний подключений.

Но такое решение не очень нравится.

kxk
На сайте с 30.01.2005
Offline
970
kxk
#3

Dimanych, Нормальный ip не должен делать более 70-100 подключений + я вижу логичным блокировать не англофицированные страны по GEO, если ваши сайты не рассчитанны под них :)

N
На сайте с 06.05.2007
Offline
419
#4
Dimanych:
Уже много разных атак приходилось гасить, вот теперь встретился с чем то похожим на SYN flood,
80й порт забивается соединениями со статусами LAST_ACK, сейчас например их 23685

если в логах вебсервера есть полноценные запросы, то это никакой не синфлуд и не выдуманный вами tcp LAST_ACK, а просто хороший нешкольный ботнет.

Поддерживаю kxk - если отбрасывать пакеты на уровне ядра по странам и данным GeoIP, то можно весьма эффективно экономить ресурсы сервера. Практически это последнее, что вы можете сделать полагаясь только на свой сервер. Следующий этап - специализированный сервис.

Разумеется, часть ботов будет и из не отфильтрованных стран. Такой трафик тоже нужно обрабатывать и блокировать IP по одному, но этот объем работы значительно меньше.

Кнопка вызова админа ()
D
На сайте с 05.06.2007
Offline
155
#5

Я не говорил что это синфлуд, я сказал что эффект похожий, подключения в ожидании.

Дело то в том что запросы не доходят до апача, они через nginx то не проходят вообще, в access_log ничего не пишется, в error_log только о превышении worker connection писалось, после увеличения вообще ничего не писалось.

LAST_ACK состояние - это не обычный дос, при обычном другие симтомы, не первый раз воюю ;)

На счёт ограничения на 100, это помогло, сайты заработали, но для нормальной работы сервера этого мало, очень частые блоки обычных клиентов, которые например закачивают файлы по FTP, либо импортируют базу через какой то скрипт.

200 хватало, но тут уже атакуюшие плохо отбиваются.

kxk
На сайте с 30.01.2005
Offline
970
kxk
#6

Dimanych, Обычных клиентов подсетями в вайт лист, а так по гео или anycast у апстрима, только апстрим вас за такие матерные словечки может сам погнать. Они обычно для арендаторов дедиков не очень чешуться :)

N
На сайте с 06.05.2007
Offline
419
#7
Dimanych:
ни через nginx то не проходят вообще, в access_log ничего не пишется

ну как так? nginx в случае простого соединения пишет запись в access_log с кодом 400.

Dimanych:
очень частые блоки обычных клиентов, которые например закачивают файлы по FTP, либо импортируют базу через какой то скрипт.

А. Так найди жертву и выгони с хостинга. Зачем тебе невыгодный клиент? Только не надо заливать, что у тебя специализированный антиддос-хостинг.

Andreyka
На сайте с 19.02.2005
Offline
822
#8

Я бы такой ботнет отфильтровал и пхнул в tarpit.

Не стоит плодить сущности без необходимости
N
На сайте с 06.05.2007
Offline
419
#9
Andreyka:
Я бы такой ботнет отфильтровал и пхнул в tarpit.

можно только до определенного запаса мощности. tarpit нехило потребляет ресурсы относительно drop.

Andreyka
На сайте с 19.02.2005
Offline
822
#10

Не знаю, я им на ура отбивал ботнет из 20k на атоме

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий