Image

База знаний → Настройка iptables для лимита подключений

[Виртуальные сервера]
Дата публикации: 27.01.2023

Для того чтобы защитить сервер и службы от флуда на уровне операционной системы нужно настроить фаервол, задать лимиты на количество одновременных соединений, мы рассмотрим ограничения на некоторые сервисы. По аналогии можно добавить правила для своих служб, подставив необходимые порты.

ICMP

Чтобы защитить себя от icmp флуда, необходимо добавить лимит на количество пингов в секунду:

-A INPUT -p icmp -m hashlimit --hashlimit-upto 6/sec --hashlimit-burst 4 --hashlimit-name icmp -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j DROP

В данном примере мы разрешаем не более 4 пингов, с максимально возможным количеством до 6 в секунду.

HTTP и HTTPS

Правила ограничивают количество одновременных соединений, данное количество можно подобрать под свою посещаемость, и следует учесть, что значение должно быть больше чем в правилах службы ddos deflate.

-A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 500 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
-A INPUT -p tcp -m tcp --dport 443 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 500 --connlimit-mask 32 -j REJECT --reject-with tcp-reset

SSH

Рекомендуем сменить порт по умолчанию с 22 на другой, например 3022 и т.п. Так как очень много попыток подбора паролей, большая часть соединений приходится именно на службу ssh.

-A INPUT -p tcp -m tcp --dport 3022 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 5 --connlimit-mask 32 -j REJECT --reject-with tcp-reset

Если у Вас работают другие службы, например почта, создайте правила по аналогии.





Нет комментариев