Karpion, да ладно. как вы собрались пинговать (именно пинговать) при заблокированном icmp-трафике?
ping - самая примитивная метрика, которая никак не отражает работоспособность сервера.
рассказывать про то, что многие провайдеры шейпят/блочат подобный трафик не имеет смысла.
А "веб-программист" таки прав. Закрыть целиком Internet Control Message Protocol - протокол L3 - крайне неразумная идея. Если очень хочется - закрывайте конкретно icmp echo и icmp echo-reply. И да, пинговать это не запретит - пакеты как приходили, так и будут приходить. Просто сервер перестанет отвечать на них и будет дропать на входе. Канал на вход, тем не менее, будет заниматься этими пакетами.
А ещё никакой провайдер не шейпит и не блокирует пинги, вообще с какой целью он бы такое стал делать?
Рональд Макдональд, это никак не помешает долбить автора пакетами как раньше, я уже написал об этом выше.
Это как дропать DoS атаку на перегрузку канала на атакуемом узле. Пакеты вы подропали, но канал всё равно точно так же занят, потому что наливать трафик вам продолжают.
Рональд Макдональд, более чем понимаю, это вы зациклились на пинговать=получать echo reply. Человек чётко написал "не помешает людям пинговать". Я, как сетевик, воспринимаю это как "не помешает людям продолжать слать icmp echo-request". Слать и взаправду не помешает, более того слать и будут продолжать коль скоро на этом ip есть ресурс рабочий, просто ответов они не получат.
Простите, а что они будут пинговать и для чего, если им всегда будет возвращаться REJECT или, что ещё лучше, не будет возвращаться воообще ничего (при DROP)? Что пинговать-то? С таким же удовольствием можно пинговать 255.255.255.254, только это не будет процессом пинга, это будет процессом мастурбации пакетов.
Рональд Макдональд, пинговать, очевидно некий ip адрес.
Для чего? Для того же, для чего делают это сейчас.
Вы же понимаете что это не руками кто-то пингует, а какие-то скрипты массово опрашивают адреса постоянно? Скриптам без разницы ответило, не ответило, есть задание - шлём пакеты.
Скриптам без разницы ответило, не ответило, есть задание - шлём пакеты
Это если скриптописатель идиот. Иначе он тупо прекратит мёртвый пинг на несуществующий адрес (а он будет для него несуществующим, если на сервере настроен DROP ICMP.
Нет. Ну то есть он бывает, но легко и быстро отсекается как раз шейперами и файрволлами.
Каким образом шейпинг или дроп на хосте поможет от ddos на перегрузку канала, если трафик уже пришел на хост?
Это если скриптописатель идиот. Иначе он тупо прекратит мёртвый пинг на несуществующий адрес (а он будет для него несуществующим, если на сервере настроен DROP ICMP.
Предположим у скрипта есть задача мониторить доступность хоста по ICMP. Или RTT отслеживать до него. По каким критериям считать этот хост окончательно и бесповоротно переставшим пинговаться навсегда? Этот момент наступает через день? Два? Неделю? Никогда? А если на этом ip живой сайт висит например?
А может стоит задача постоянно сканировать какой-то диапазон адресов и вылавливать новые ответившие хосты для попытки быстро провести атаку. Пока фаервол не повесили, да конфиги всякого софта скорее всего дефолтные и более-менее известные и с известными именами-паролями и дырами.
Я уже молчу о том, что любой адекватный программист, умеющий немного в Си и линукс, за полдня накидает вам утилиту, которая через zero-copy механизмы сможет пинговать сотни тысяч хостов одновременно вообще без напряга. Тут становится вообще фиолетово отвечает часть из них или нет.
Так скриптописатель всё ещё идиот или у него всё-таки может стоять задача пинговать в любом случае?
fpir, бывает. Например, на истощение канала, когда вам тупо забивают в полку аплинк запросами. Ещё есть ряд суровых маршрутизаторов, имеющих по умолчанию крайне интересные политики очередей и защиты control plane, позволяющие порушить связность по протоколам маршрутизации, буквально завалив мозги пингами. Но это скорее экзотика чем обыденность. Гораздо эффективнее завалить канал амплифицирующимися атаками. А про маршрутизаторы это тонкая специфика, её мало кто знает и достаточно часто адекватные сетевики это заранее прикрывают.
Не стоит трогать icmp протокол вообще. Он должен быть открыт в фаервол и все. А если так уж хочется запретить пинг на ваш сервер, то обращайтесь к вашему isp, как и в случае любой дос атаки. И не выдумывайте себе грабли на ровном месте.
DevMan, Люди пингуют независимо от разрешения/запрета трафика (можно пинговать даже при отключённом сетевом кабеле) - запускают команду ping с нужными аргументами.
hogstaberg, Чотко расписал. Именно на это я как бы и намекал, полагая, что хабравчанам это очевидно.
Рональд Макдональд, Закрытый по ICMP сервер можно пинговать, но нельзя пропинговать. Есть у меня знакомый каратист в два раза меня тяжелее - бить его я могу, а пробить не получается.
Запрет ICMP создаст Вам больше проблем, чем решит. Если хотите непременно его запретить, нужно запретить не весь icmp, а только 0 и 8 (эхо-ответ и эхо-запрос)
criminalist, Хм. Давайте я спрошу - можно ли удалить зуб ударом в челюсть? Можно :) Нюансы тоже будут неважны?
Если бы чел понимал нюансы - не спросил бы. В icmp только два типа - пинг, остальные служебные, предназначенные для работы соединения. Да, их можно запретить. Но тогда пойдут вопросы - а почему не работает то, а почему не работает сё...
Наткнется при передаче пакета на роутер с MTU байт так в 500, который ему отправит как положено icmp dest unreachable с кодом fragmentation needed, icmp отбросит - и усе, нет связи почему-то...
Ну да - намеренно. И чем это Вас напрягает?
Как правило, запрет пинга и т.б. ICMP целиком - создаёт много проблем и никак не решает существующие проблемы.
Боты напрягают, которые с Китая. Т.к. ip публичный, каждую в секунду около 1100-1200 запросов от ботов и обычных пользователей. Больше половины - это обычные боты, поэтому такие порты как 22 и т.д. уже закрыты. ICMP это отличное решение, поскольку это даже не WEB сервер
uuuu, а по каким протоколам обращаются боты? И почему Вас напрягают тысяча запросов в секунду?
edo1h, ну, перенести sshd на иной порт - очень полезно, а то всякие уроды подбирают пароль.
В идеале - на этом порту надо повесить фальшивый sshd, который изобразит успешный подбор пароля и дальше станет всячески издеваться над хакером.
edo1h, как ни странно спасет, поскольку руками вас ломать никто не будет
А боты действительно им проще найти 10000 22 порт чем сканить ваши порты на предмет перенесенного.
uuuu, блокировать ICMP целиком - отвратительное решение. Никогда не закрывайте этот протокол целиком. На ipv4 вы поломаете ряд полезных и нужных механизмов, ipv6 в большинстве случаев так вообще просто не будет работать. Хотите не отвечать на icmp echo - заблокируйте icmp type 8 и icmp type 0. Это echo request и echo reply соответственно.
Karpion, другой порт ssh для ботов это дело времени и это не выход. Вопрос почему так много запросов пинг? Чем "провинился" этот сервер среди триллионов других?
Для достижения какой цели вы собираетесь закрыть пинг? Какую он несёт угрозу с вашей точки зрения?
В большинстве случаев открыт или закрыт пинг - ни холодно ни жарко.