У меня есть 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, я удивлен, что это вообще возможно и допустимо с настройками конфигурации по умолчанию.
Я погуглил безрезультатно - почти все результаты относятся к выдаче самого пинга, нет ничего о том, как ограничить ответы на целевом сервере. Я тоже пробовал менять /proc/sys/net/ipv4/icmp_ratelimit
на меньшее значение, чем 1000
Пакетов ICMP в секунду, но, похоже, это не имеет никакого эффекта, даже при проверке перезагрузки в /etc/sysctl.conf
.
В идеале я хотел бы установить максимальный интервал 0,5 секунды и максимальный размер пакета 32 байта, что, на мой взгляд, вполне достаточно и разумно для целей проверки связи, то есть проверки возможности подключения и задержки. тем самым он защитит от ping-флуда, что вызывает серьезную озабоченность, поскольку в настоящий момент сервер подвержен DoS-атакам через этот вектор ICMP.
мне нужен другой инструмент или программное обеспечение, или я что-то упускаю?
Спасибо заранее
Вам, наверное, нужно изменить /proc/sys/net/ipv4/icmp_ratemask
также. По умолчанию ограничение не распространяется на эхо-ответы. Видеть http://man7.org/linux/man-pages/man7/icmp.7.html
Существуют примеры ограничения скорости ICMP через брандмауэр. вики nftables, Сопоставления с ограничением скорости. Сбой сервера, Ограничение скорости ICMP-флуд с nftables
Однако брандмауэр хоста не является полным решением, если пропускная способность перегружена. Ядру необходимо получить пакет, прежде чем его можно будет отбросить. Более полная защита от отказа в обслуживании должна быть раньше, через службу с большей пропускной способностью, чем у злоумышленников.