ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как заблокировать или разблокировать запросы ping на Ubuntu Server 20.04 LTS

Как заблокировать или разблокировать запросы ping на Ubuntu Server 20.04 LTS

Ping – это утилита сетевого администрирования, которая используется для проверки доступности системы в IP-сети. Ping также используется для проверки качества сетевого соединения путем отслеживания времени приема-передачи и потери пакетов. С другой стороны, сетевые злоумышленники и хакеры также используют ping для идентификации сетевых подсетей, чтобы найти потенциальные хосты или выполнить атаки ICMP-лавинной рассылки. Поэтому рекомендуется блокировать запросы ping к вашим серверам, чтобы предотвратить любые атаки.

Эта статья о том, как заблокировать ping-запросы к Linux Server. Мы также расскажем, как разблокировать запросы ping, если вам нужно использовать ping для системного администрирования и устранения неполадок.

 

Предпосылки

Примечание. Обсуждаемые здесь команды были протестированы на Ubuntu 20.04 LTS.

 

Блокировать/разблокировать запросы ping к Linux Server

Ping работает, отправляя пакет ICMP (эхо-запрос) в систему назначения, а затем получает ответный пакет ICMP (эхо-ответ). В Linux команда ping продолжает отправлять пакеты ICMP, пока вы не остановите ее с помощью Ctrl + C.

 

Чтобы заблокировать запросы ping, вам нужно будет блокировать/разблокировать эхо-запросы ICMP, отправляемые на ваш сервер. Есть два способа блокировать/разблокировать эхо-запросы ICMP к серверу Linux.

Давайте начнем.

 

Блокировать/разблокировать запросы ping через параметры ядра

С помощью параметров ядра вы можете временно или постоянно блокировать ping-запросы. Параметры ядра можно изменить с помощью команды sysctl, каталога /sys /proc и файла /etc/sysctl.conf.

 

Временные запросы блокировки/разблокировки ping

Команда sysctl в Linux используется для чтения и записи параметров ядра в каталог /proc/sys. Используя эту команду, мы можем настроить параметры ядра для блокировки/разблокировки запросов ping. Параметр ядра net.ipv4.icmp_echo_ignore_all определяет, должна ли система отвечать на эхо-запрос ICMP. Значение по умолчанию – «0», что означает ответ на запрос ICMP.

 

Блокировать запрос Ping

Чтобы заблокировать запрос ping, введите в Терминале следующую команду:

$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1

Эта команда устанавливает для параметра ядра значение «1», что означает игнорирование всех запросов ICMP.

Теперь все запросы ping к вашей системе будут заблокированы, и отправитель не получит ответа.

Разблокировать запрос Ping

Чтобы разблокировать запросы ping, снова запустите ту же команду, изменив значение параметра на «0» по умолчанию.

$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0

 

Кроме того, вы можете заблокировать запросы ping, изменив значение параметра ядра в каталоге /proc/sys с помощью команды echo. Однако, чтобы использовать этот метод, вам нужно будет запустить команду от имени пользователя root.

Чтобы заблокировать запрос ping, сначала переключитесь на учетную запись root, используя следующую команду в терминале:

$ su root

Когда будет предложено ввести пароль, введите пароль для root.

Затем введите следующую команду в Терминале:

$ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 

Чтобы разблокировать запросы ping, используйте следующую команду:

$ echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Постоянно блокировать запросы ping

Параметры ядра также можно изменить с помощью файла /etc/sysctl.conf. Этот файл позволит вам навсегда заблокировать ping-запросы к вашему серверу.

 

Блокировать запрос Ping

Чтобы заблокировать ping-запрос к вашей системе, отредактируйте файл /etc/sysctl.conf:

$ sudo nano /etc/sysctl.conf

Затем добавьте в файл следующую строку:

net.ipv4.icmp_echo_ignore_all = 1

 

Сохраните и закройте файл.

Затем введите следующую команду в Терминале, чтобы применить эту конфигурацию без перезагрузки:

$ sysctl -p

 

Разблокировать запрос Ping

Чтобы разблокировать ping-запросы, отредактируйте файл /etc/sysctl.conf:

$ sudo nano /etc/sysctl.conf

Затем измените значение net.ipv4.icmp_echo_ignore_all на « 0»:

net.ipv4.icmp_echo_ignore_all = 0

 

Сохраните и закройте файл.

Затем введите следующую команду в Терминале, чтобы применить эту конфигурацию без перезагрузки:

$ sysctl -p

Блокировать/разблокировать запросы ping с помощью iptables

Iptables – это утилита межсетевого экрана в Linux, которая контролирует входящий и исходящий трафик на основе определенных правил. Он предустановлен в системе Ubuntu. Если он отсутствует в системе, вы можете установить его с помощью следующей команды в Терминале:

$ sudo apt install iptables
Блокировать запрос Ping

Чтобы заблокировать запросы ping к вашей системе, введите следующую команду в Терминале:

$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j REJECT

Если флаг A используется для добавления правила в iptables, а icmp-type 8 – это номер типа ICMP, используемый для эхо-запроса.

Приведенная выше команда добавит правило в брандмауэр, которое будет блокировать любые входящие запросы ping в вашу систему. Добавив это правило, любой, кто отправит запрос ping в вашу систему, увидит сообщение «Destination Port Unreachable», как показано на снимке экрана ниже.

 

Если вы не хотите, чтобы это сообщение появлялось, используйте следующую команду, заменив REJECT на DROP:

$ sudo iptables -A INPUT -p icmp --icmp-type 8 -j DROP

Теперь любой, кто отправит запрос ping в вашу систему, увидит следующий аналогичный вывод:

 

Разблокировать запрос Ping

Чтобы разблокировать ping-запросы к вашему серверу, введите следующую команду в Терминале:

$ sudo iptables -D INPUT -p icmp --icmp-type 8 -j REJECT

Если флаг D используется для удаления правила в iptables, а icmp-type 8 – это номер типа ICMP, используемый для эхо-запроса.

Чтобы эти правила стали постоянными после перезагрузки системы, вам понадобится пакет iptables-persistent. Выполните следующую команду в Терминале, чтобы установить iptables-persistent:

$ sudo apt install iptables-persistent

 

Вам будет предложено подтвердить, хотите ли вы продолжить установку. Нажмите y, чтобы продолжить, после чего система начнет установку, и после ее завершения она будет готова к использованию.

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

$ sudo netfilter-persistent save
$ sudo netfilter-persistent reload

Чтобы просмотреть все правила, добавленные в iptables, введите в Терминале следующую команду:

$ sudo iptables -L

Вот и все! В этой статье мы обсудили, как блокировать/разблокировать ping-запросы к Linux Server либо через параметры ядра, либо через утилиту iptables. Надеюсь это поможет!

Exit mobile version