Как защититься от спуфинга SYN flood на Linux-машине? [дубликат]

На этот вопрос уже есть ответ:

У меня есть сервер (2 x E2620, 32 ГБ ОЗУ, Debian 6 Linux us-fw 2.6.32-5-amd64 # 1 SMP Mon Feb 25 00:26:11 UTC 2013 x86_64 GNU / Linux, 10G Intel Ethernet Card). Внутри находится прокси-сервер Nginx. Идея состоит в том, чтобы использовать его как интерфейс против DDoS-атак. В настоящее время, если он сталкивается с поддельным SYN-потоком 500 тыс. Пакетов в секунду, он почти не отвечает. Я уже пробовал синхронизировать файлы cookie и различные параметры sysctl. Даже если таймаут полуоткрытого соединения составляет 1 секунду, этого достаточно для заполнения любых буферов. Есть идеи, как защитить его от поддельных синхронных наводнений? Может быть, какие-то хардкорные конфиги или правила прошивки?

1
задан 19 April 2013 в 18:59
1 ответ

iptables has various matches to limit the number of connections allowed for a host using.

By limiting the number of allowed connections, you can mitigate the impact of the DDoS attack.

  • Using hashlimit:
$ iptables -A INPUT -i eth0 -s any/0 -d IP.AD.DR.ESS/32 -p tcp --syn --sport 1024: --dport 80 -m hashlimit --hashlimit-name http-flood --hashlimit-mode srcip --hashlimit-upto 5/s

This will allow each new hosts to open 5 connections per second.

  • Using connlimit:
$ iptables -A INPUT -i eth0 -s any/0 -d IP.AD.DR.ESS/32 -p tcp --syn --sport 1024: --dport 80 -m connlimit --connlimit-saddr --connlimit-upto 5

This will allow each new hosts to open up to 5 parallel connections.

However keep in mind that as your are looking at the source IP address, this can have a huge impact on people behind a NAT.

You can try and play to find out a correct limit value.

Enabling syncookie is also a good idea.

2
ответ дан 3 December 2019 в 21:33

Теги

Похожие вопросы