Почему некоторые веб-серверы не отвечают на запросы icmp?

8

Какова цель блокировки / отбрасывания входящего ICMP-трафика на общедоступном веб-сервере? Обычно это блокируется?

Мне пришлось проверить, доступен ли сервер из разных мест (проверено на разных серверах, расположенных в разных штатах / странах). Я бы положился на ping как на быстрый и надежный метод определения, доступен ли сервер в сети / сети. После получения ответа на пару ящиков я попытался использовать lynx для загрузки сайта, и это сработало.

Джон Химмельман
источник
6
Уорнер объяснил это довольно хорошо. Как отступление - не тестируйте один сервис (ICMP), чтобы определить, работает ли другой (HTTP). Представьте, что перед вашим сайтом есть балансировщик нагрузки, который реагирует на ping, но сами веб-серверы неправильно настроены и не обслуживают ничего, кроме «Отказано в доступе». Если вы заботитесь о доступности HTTP, используйте curl. Если вы заботитесь о SMTP, используйте скрипт для проверки получения почты. Проверьте коды возврата на все, что вы делаете проверить.
mfinni

Ответы:

14

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

Другие могут упасть, чтобы уменьшить свое присутствие в Интернете, что может быть упущено при массовом сканировании.

Хотя это и распространено, я бы сказал, что оно мало что дает и мало помогает минимизировать DoS и занимаемую площадь, одновременно ограничивая диагностический потенциал.

сигнализатор
источник
Спасибо, сервер, который я тестировал, был веб-сервером, обслуживающим компанию vpn. Учитывая тип сервиса, отбрасывание ICMP имеет смысл.
Джон Химмельман
4

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

Перенаправление (переадресация портов) кортежей IP / протоколов / портов на различные нужные вам сервисы повышает плотность обслуживания в меньшей сети.

Например, предположим, что ваш ISP направляет вам 1.2.3.4/30. У вас есть три варианта:

  • Маршрут их нормально. Оставляет вам два используемых IP-адреса, один из которых должен быть вашим шлюзом, то есть один хост.
  • NAT внешний IP на внутренний IP. Оставляет вам четыре хозяина.
  • Перенаправляйте трафик на внутренние сервисы по мере необходимости. SMTP (TCP 25), DNS (TCP / UDP 53) и корпоративный веб-сайт (TCP 80,443) могут существовать по одному внешнему адресу.

Третий путь становится все более распространенным. Большинство администраторов (включая меня) при настройке не перенаправляют ICMP, поэтому он просто падает на брандмауэр.

ш-бета
источник
2

Нет ничего плохого в блокировании ICMP типа 0 (эхо-ответ), но блокирование всего трафика ICMP прерывает ответы клиента, если какой-либо канал в пути повторной настройки имеет MTU, меньший, чем максимальный размер сегмента отправки TCP-соединения. Это происходит из-за того, что веб-сервер больше не может принимать пакеты кода 4 протокола ICMP типа 3 (пункт назначения недоступен; требуется фрагментация и установлен DF).

На практике это не составляет большой проблемы, потому что любой, кому требуется туннелировать трафик, также должен установить механизм для работы с множеством веб-серверов, чьи TCP-стеки затрудняются неправильно настроенными брандмауэрами.

eradman
источник
1

Помогает с отказом в обслуживании атак. Никакая реальная причине не нужна открытая площадки для пинга от общественности.

Плюс это не дает статистику для веб-сайта; один хост или IP-адрес может легко отвечать за ферму серверов с балансировкой нагрузки на внутреннем сервере (пинг на сайте mysite.com не сообщает, все ли серверы работают должным образом за этим именем).

Это может быть просто политика компании по удалению ненужного трафика или разрешению перенаправления только порта 80 и трафика SSL на другие серверы.

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

Барт Сильверстрим
источник
3
Где-то здесь есть какая-то шутка .. --- статистика ping google.com --- 1 переданных пакетов, 1 полученных, 0% потерь пакетов, время 0 мс rtt мин / avg / max / mdev = 52.220 / 52.220 / 52.220 / 0.000 мс --- статистика пинга microsoft.com --- 3 переданных пакета, 0 полученных, 100% потерь пакетов, время 1999 мс
Warner