Кое-что о TCP-стеке, атаках synflood, accept_filter и параметре listen backlog

Dec 02, 2012 00:59

При высоких нагрузках и DoS-атаках типа SYN flood бывает необходимо тюнить параметры системы. При этом надо помнить, что последовательность «рубежей защиты» обычно такова, с отсевом на каждой стадии, и глючить может каждый прежде всего надо смотреть их настройки:
  1. Входные балансировщики, например Cisco SLB
  2. Файрвол/IDS на самом хосте, например, pf ( ( Read more... )

сети, объяснение, freebsd

Leave a comment

Comments 2

ext_1027625 December 20 2012, 07:13:23 UTC
Годный пост!

> Что происходит, если очереди переполняются? Соединение просто сбрасывается, возвращается TCP RST (Connection refused).
В случае когда включен syncache работает крутилка net.inet.tcp.syncache.rst_on_sock_fail

Reply


ext_3617246 September 22 2017, 07:29:58 UTC
Спасибо большое за статью. Очень хорошо написано!
Но кое-что не понятно.
Вот это
> Этот параметр (backlog) исторически имел размытое определение и трактовался по-разному на разных ОС. На *BSD его значение определяло сумму длин разных очередей, а потому умножалось на полтора, чтобы «с запасом». Сейчас, ввиду всего вышесказанного, он работает несколько иначе, суммы уже нет, есть два отдельных параметра:
> - длина очереди incomplete-соединений (incqlen) в точности ограничена значением backlog
> - длина очереди готовых соединений может быть больше backlog в полтора раза
и вот это предложение
> Таким образом, backlog * 1.5 выступает в качестве жесткого лимита для обеих очередей, приблизительно сохраняя историческую семантику.
Как-то не очень вяжутся друг с другом.
Т. е. длина incqlen это в точности значение backlog или всё таки обе очереди умножаются на 1.5? Непонятно как трактовать

Reply


Leave a comment

Up