Включаем фильтрацию синфлуда ядром — в файле /etc/sysctl.conf правим/добавляем
net.ipv4.netfilter.ip_conntrack_max=1548576 net.ipv4.tcp_syncookies=1
sysctl -p
В /etc/nginx/nginx.conf добавляем как то так
http { limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn perip 4; limit_req_zone $binary_remote_addr zone=one:10m rate=10r/m; ... server { server_name lalala.com; ... location / { limit_req zone=one burst=6 nodelay; ... location @fallback { limit_req zone=one burst=6 nodelay; ...
service nginx restart
Смотрим сколько запросов пролезло в nginx и SYN пакетов в секунду примерно так
tail -f /var/log/nginx/access.log | pv -lr -i 10 >/dev/null tcpdump "tcp[tcpflags] & tcp-syn != 0" | pv -lr -i 10 >/dev/null