Как заблокировать входящие эхо-запросы в Linux

Как заблокировать входящие эхо-запросы в Linux

Рубрики:

Linux, Сети Linux

Метки:

, , , , ,

ICMP (от англ. Internet Control Message Protocol) — сетевой протокол, используемый для передачи сообщений об ошибках и других сетевых событиях, диагностики и управления сетевыми соединениями. Блокировка ICMP-запросов, особенно Echo Request (эхо-запросов), может быть полезной по нескольким причинам:

  1. Злоумышленники используют протокол ICMP для сканирования сети и обнаружения активных хостов. Блокировка эхо-запросов затрудняет этот процесс.
  2. Защита от DDoS-атак. Сетевой протокол ICMP активно применяется для проведения распределенных атак отказа в обслуживании (DDoS), таких как Ping Flood.

В этой статье мы покажем три способа блокировки входящих ICMP-запросов в Linux.

Содержание:

  1. Написание правил iptables
  2. Использование брандмауэра UFW
  3. Игнорирование ICMP-запросов с помощью sysctl
  4. Выводы

Написание правил iptables

Утилита iptables позволяет системным администраторам настраивать политики контроля входящего и исходящего сетевого трафика в ОС Linux. С ее помощью также можно ограничивать работу сетевых протоколов. Управление трафиком с помощью iptables осуществляется путем написания правил.

Чтобы заблокировать все входящие на ПК ICMP-запросы, примените следующую команду:

 

Вы можете убедиться, что правило было создано. Для этого посмотрите содержимое таблицы iptables:

 

iptables

Читайте также: 27 полезных советов по iptables для администратора Linux.

Также попробуйте отправить ICMP-запросы Echo Request на свой хост с помощью команды ping:

 

ping after iptables

На скриншоте выше показано, что все пакеты были потеряны, значит созданное правило работает.

Важно: блокировка всего ICMP-трафика может нарушить диагностику и связь в сети. Поэтому Вы можете запретить ОС отвечать только на запросы Echo Request. Для этого используйте следующую команду:

 

Другие ICMP-запросы будут по-прежнему разрешены, если они не заблокированы правилами.

Использование брандмауэра UFW

UFW (от англ. Uncomplicated Firewall) — программа для управления правилами брандмауэра в Linux. Ее разработали для упрощения процесса настройки межсетевого экрана. Она позволяет пользователям разрешать, запрещать или ограничивать доступ к службам на основе IP-адресапорта или протокола.

Читайте также: Лучшие 25 команд брандмауэра UFW, которые должен знать каждый администратор Linux.

Чтобы заблокировать входящие ICMP-запросы Echo Request с помощью UFW, нужно отредактировать системный файл /etc/ufw/before.rules. А именно — следует найти раздел, который начинается с комментария # ok icmp codes for INPUT, и добавить в его начало следующее правило:

 

ufw

Затем сохраните и закройте файл. Напоследок перезагрузите программу UFW, выполнив в терминале:

 

Также рекомендуем проверить, что написанное правило вступило в силу. Для этого отправьте эхо-запросы на свой хост:

 

ping after ufw

Игнорирование ICMP-запросов с помощью sysctl

Утилита sysctl — инструмент системного администрирования, предназначенный для взаимодействия с параметрами ядра Linux. Главной особенностью этой команды является то, что изменения значений параметров ядра вступают в силу немедленно и Вы можете сохранять их как временно, так и на постоянной основе.

За управление эхо-запросами на уровне ядра отвечает параметр net.ipv4.icmp_echo_ignore_all. Если его значение равняется:

  • 0, то операционная система будет отвечать на ICMP Echo Request;
  • 1, то ОС будет игнорировать эхо-запросы.

Узнать значение параметра net.ipv4.icmp_echo_ignore_all можно с помощью следующей команды:

 

sysctl check var

Чтобы временно установить значение этого параметра на 1, выполните в терминале:

 

Читайте также: Как узнать параметры ядра Linux для текущей загруженной ОС.

Внесенное изменение будет действовать только в текущем сеансе работы операционной системы. Чтобы значение 1 параметра net.ipv4.icmp_echo_ignore_all стало постоянным, добавьте следующую строку в файл /etc/sysctl.conf:

 

sysctl add rule

Чтобы настройка вступила в силу немедленно, примените команду sysctl с опцией -p:

 

sysctl apply rule

Убедитесь, что операционная система не отвечает на эхо-запросы, отправив их на свой хост:

 

ping after sysctl

Выводы

Игнорирование ICMP-запросов помогает значительно улучшить безопасность компьютера, предотвращая потенциальные кибератаки. Теперь Вы знаете, как использовать утилиты iptables, UFW и sysctl для блокирования входящих эхо-запросов в ОС Linux.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Сети Linux

Метки:

, , , , ,

Больше похожих постов

4 комментария. Оставить новый

  • Имеет место быть ошибка. Приведенная команда как бы удаляет правило:
    firewall-cmd —zone=public —remove-icmp-block={echo-request,echo-reply,timestamp-reply,timestamp-request} —permanent

    должно быть —add-icmp-block

    Ответить
    • Тут зависит от того что у вас по умолчанию в файерволе, обычно в конце стоит неявный запрет. Поэтому remove-icmp-block удалит разрешение, а так как у умолчанию все запрещено то пинга не будет.
      Если у вас по умолчанию все разрешено всем, тогда я согласен нужно ставить правило add-icmp-block. Но лучше все запрещать по умолчанию, а то фиг его знает какой там трафик бегает, а так то что разрешил — то и бегает.

      Ответить
  • Странно, но после добавления правила -A ufw-before-input -p icmp —icmp-type echo-request -j DROP доступ к серверу по ssh пропадет(

    Ответить
  • Василий
    17 мая 2021 12:29

    добавьте пожалуйста как включить потом PING, если вдруг понадобится

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню