Как мне ограничить ответы ping (ICMP) на сервере debian 10?

У меня есть VPS с установленным debian 10, который в основном используется для хостинга веб-сайтов. когда я отправляю эхо-запрос на сервер с удаленного компьютера, я могу получать и получать ответы для пакетов размером примерно до 64 КБ, используя флаг -s 65507 . использование sudo также позволяет мне увеличить максимальную частоту пинга по умолчанию с 5 в секунду с помощью флага -i .как указано на странице man ping , это правдоподобное поведение.

то, что я хотел бы знать, находится на сервере, как я могу ограничить ответы ping, например, максимум x ответов в секунду и максимальный размер пакета y Kb? так что выполнение следующей команды НЕ должно быть возможным:

sudo ping example.com -s 65507 -i 0.001

то есть «отправлять 1000 пингов по 64 КБ на example.com каждую секунду».

что приведет к наводнению сервер со скоростью пингов со скоростью 64 Мбит / с, на все из которых поступают ответы (хотя и с задержкой) и отправляется сообщение удаленной машине, выдающей эхо-запросы. Повторяю, я НЕ хочу, чтобы это было возможно по понятным причинам. несмотря на наличие базового брандмауэра и fail2ban, я удивлен, что это вообще возможно и допустимо с настройками конфигурации по умолчанию.

Я искал в Google безрезультатно - почти все результаты относятся к выдаче самого пинга, нет ничего о том, как ограничить ответы на целевом сервере. Я также попытался изменить / proc / sys / net / ipv4 / icmp_ratelimit на более низкое значение, чем 1000 пакетов ICMP в секунду, но это, похоже, не имело никакого эффекта даже при перезагрузке. проверка в /etc/sysctl.conf .

в идеале я хотел бы установить максимальный интервал 0,5 секунды и максимальный размер пакета 32 байта, что, на мой взгляд, вполне адекватно и разумно для цель пинга, т. е. проверка возможности подключения и задержки. тем самым он защитит от ping-флуда, что является большой проблемой, потому что в настоящий момент сервер подвержен DoS-атакам через этот вектор ICMP.

нужен ли мне какой-то другой инструмент или программное обеспечение, или я что-то не хватает?

заранее большое спасибо

0
задан 7 February 2020 в 19:08
2 ответа

Существуют примеры ограничения скорости ICMP через брандмауэр. nftables wiki, Сопоставления с ограничением скорости . Ошибка сервера, Ограничение скорости рассылки ICMP с помощью nftables

Однако брандмауэр хоста не является полным решением, если полоса пропускания перегружена. Ядру необходимо получить пакет, прежде чем его можно будет отбросить. Более полная защита от отказа в обслуживании должна быть раньше, через службу с большей пропускной способностью, чем у злоумышленников.

0
ответ дан 26 February 2020 в 00:42

Вероятно, вам также нужно изменить /proc/sys/net/ipv4/icmp_ratemask. По умолчанию ограничение не применяется к эхо-ответам. См. http://man7.org/linux/man-pages/man7/icmp.7. .html

0
ответ дан 26 February 2020 в 00:42

Теги

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