Я читал, что определенные типы пакетов ICMP могут быть вредными. Вопросы:
[¹] Типы, о которых я читал: перенаправление (5), отметка времени (13) и запрос маски адреса (17). Пожалуйста, не учитывайте только это в своем ответе.
Больше информации
Это веб-сервер на VPS с сервером Ubuntu.
Цель
Я пытаюсь сделать систему более безопасной, снизить риск некоторых D / DoS-атак и общих злоупотреблений.
Связанный
Безопасен ли мой брандмауэр Linux?
Почему бы не заблокировать ICMP?
Похоже, вы становитесь жертвой мантры «ICMP IS EVIL».
ICMP - это НЕ зло, просто неправильно понятое. Печальная реальность состоит в том, что многие администраторы боятся того, чего не понимают, и поэтому изгоняют ICMP из своей сетевой вселенной, избегая его на уровне пограничного брандмауэра и не позволяя ему занять свое правильное и надлежащее место на благо своей сети.
Сказав это, позвольте мне ответить на ваши вопросы:
Какие типы сообщений ICMP могут быть опасными и почему?
Практически все из них.
Echo
пакеты могут использоваться для нарушения работы служб (особенно для систем с плохо реализованными IP-стеками); При законном использовании они могут предоставить информацию о вашей сети.
Destination Unreachable
могут быть злонамеренно введены; При законном использовании они могут предоставить информацию о * вашем брандмауэре / структуре маршрутизации или о конкретной машине в вашей сети.
Source Quench
могут быть злонамеренно отправлены, чтобы заставить ваш сервер сидеть в углу и сосать большой палец.
redirect
можно использовать, как следует из названия.
router advertisement
и router solicitation
запросы могут использоваться для создания "интересных" топологий трафика (и облегчения атак MITM), если ваши хосты действительно обращают на них внимание.
traceroute
является разработан для предоставления информации о топологии сети.
…и т.д...
В имена различных сообщений ICMP довольно подробно описывают, на что они способны. Проявите свою врожденную паранойю, придумывая кошмарные сценарии :-)
Как мне создать набор правил iptables для обработки каждого типа пакетов ICMP?
Отсутствие веской причины возиться с трафиком ICMP, оставь это, черт возьми!
Возбуждение с трафиком ICMP препятствует надлежащему использованию сообщений ICMP (управление трафиком и устранение неполадок) - это скорее расстраивает, чем помогает.
Следует ли мне ограничивать скорость любого из этих типов пакетов ICMP? И как?
Это может быть единственное законное исключение из философии «оставь это, черт возьми» - сообщения ICMP, ограничивающие скорость или полосу пропускания, могут быть полезны, чтобы помочь вам избежать незаконного использования сообщений ICMP. FreeBSD поставляется с Пропускная способность ICMP / ограничение скорости по умолчанию, и я предполагаю, что Linux имеет аналогичные функции.
Ограничение скорости / полосы пропускания намного предпочтительнее общего правила брандмауэра, отбрасывающего трафик ICMP: оно по-прежнему позволяет протоколу ICMP выполнять свои задачи в сети, а также частично предотвращает попытки злоупотребления вашим сервером.
Вышеизложенное представляет собой мнение одного системного администратора, который, в свою очередь, FREAKIN НАСТАЛО ИСПОЛЬЗОВАТЬ СЕТИ ДЛЯ УСТРАНЕНИЯ НЕИСПРАВНОСТЕЙ, ГДЕ ВЕСЬ ICMP-ТРАФИК ПРОДАЕТСЯ - Это раздражает, расстраивает, и на поиск и устранение проблем уходит больше времени. :-)
Дело не столько в типах, сколько в возможных векторах атаки. Был довольно эффективный вектор DoS-атаки с использованием Блокировка источника ICMP пакет в стеках TCP / IP многих распространенных интернет-хостов годами - и все же это не означает, что сообщения ICMP с подавлением источника необходимо фильтровать в целом. Как и во всем, что связано с сетевой безопасностью, оцените преимущества определенного протокола или службы по сравнению с возможной поверхностью атаки на основе ваших личный приоритеты. Если в вашей сети есть хосты, которые подвержены вектору атаки через ICMP, вы не можете их исправить и вам не нужны определенные функции, вам, безусловно, следует рассмотреть возможность их фильтрации.
Для моих администрируемых сетей v4 я счел безопасным и удобным разрешить типы ICMP 0, 8 (эхо-запрос / ответ), 11 (TTL истек), 3 (пункт назначения недоступен) и 12 (ошибка IP-заголовка) и отбросить все остальные.