Здравствуйте, коллеги.
Кто-нибудь занимался борьбой с такими DoS аттаками на уровне nginx?
Если не жалко - поделитесь идеями. Скоро переедет ко мне несколько
сайтов которые периодически валят, надо подготовится...
FreeBSD, сетевая Intel fxp, порт 100Мбит, polling, http accept-filter
в sysctl
kern.maxfiles=90000
kern.maxfilesperproc=80000
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
kern.polling.burst_max=1000
kern.polling.each_burst=50
net.inet.tcp.msl=10000
kern.ipc.somaxconn=32768
Будьте готовы, что при атаке в системе закончатся сокеты для соединиея
nginx - backend. Так что я бы добавил
sysctl net.inet.tcp.msl=3000 - уменьшаем время TIMEWAIT
sysctl net.inet.tcp.maxtcptw=40960 - ограничиваем количество TIMEWAIT
сокетов
sysctl net.inet.tcp.nolocaltimewait=1 - отключаем TIMEWAIT для локальных
сокетов.
Дальше резали на уровне pf - загружали в таблицу IP с которых
приходило слишком
много хитов. PF с таблицами работает очень быстро. Исходники парсера
логов есть на