GNU/Linux >> Tutoriales Linux >  >> Debian

Bloquear o desbloquear solicitud de ping en Debian 10:¿cómo realizar esta tarea?

Ping es una utilidad de red que se utiliza para verificar la disponibilidad de un sistema en una red de protocolo de Internet mediante la solicitud de eco ICMP y los mensajes de respuesta de eco.

Sin embargo, algunos administradores de red prefieren bloquear el ping porque lo consideran un problema de seguridad por algunas razones.

Aquí en LinuxAPT, como parte de nuestros Servicios de Administración de Servidores, ayudamos regularmente a nuestros Clientes a realizar consultas relacionadas con Debian.

En este contexto, veremos cómo bloquear o desbloquear solicitudes de ping en Debian.

Anteriormente, explicamos cómo bloquear o desbloquear una solicitud de ping en Ubuntu 20.04.


¿Cómo bloquear o desbloquear solicitudes de ping en Debian?

Ping envía una solicitud de eco ICMP hacia el sistema de destino y luego obtiene una respuesta de eco ICMP.

En el sistema operativo Linux, cuando hace ping a una dirección IP, continúa enviando paquetes ICMP hasta que presiona Ctrl+C para detenerlo.

Para enviar una cantidad específica de paquetes, use el ping con la opción -c.

Por ejemplo, para enviar 3 paquetes ICMP, puede usar el siguiente comando:

$ ping -c 3 <ip-address or hostname>

Para bloquear las solicitudes de ping al sistema Debian, existen las siguientes dos opciones:

i. A través de los parámetros del kernel

ii. A través de iptables


Ahora echemos un vistazo a ambas opciones para bloquear las solicitudes de ping en el sistema Debian.


¿Cómo bloquear o desbloquear solicitudes de ping a través de los parámetros del kernel?

Las solicitudes de ping se pueden bloquear/desbloquear modificando el parámetro del kernel net.ipv4.icmp_echo_ignore_all.

Este parámetro controla si el sistema debe responder a las solicitudes de ping o no.

El valor predeterminado del parámetro del kernel net.ipv4.icmp_echo_ignore_all es "0", lo que significa permitir todas las solicitudes de ping.

Al modificar el valor de este parámetro del kernel, puede hacer que el sistema bloquee las solicitudes de ping.


Hay tres formas diferentes de modificar los parámetros del kernel:

i. A través del comando "sysctl"

ii. A través del archivo "icmp_echo_ignore_all"

iii. A través del archivo "/etc/sysctl.conf"


Para averiguar si el sistema está actualmente bloqueando o permitiendo las solicitudes de ping, emita el siguiente comando en la Terminal:

$ sudo sysctl -ar 'icmp_echo'

El valor de "icmp_echo_ignore_all" es igual a "0" significa que el ping está desbloqueado, mientras que el valor "1" significa que el ping está desbloqueado.


¿Cómo bloquear o desbloquear solicitudes de ping mediante el comando "sysctl" (temporalmente)?

Si necesita bloquear temporalmente las solicitudes de ping a su sistema, puede usar el comando sysctl de la siguiente manera:

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

Después de ejecutar el comando anterior, la máquina comenzará a bloquear las solicitudes de ping que le lleguen.

Ahora, si otro sistema intenta hacer ping a su sistema, no verá ninguna respuesta.

Sin embargo, como se indicó anteriormente, este cambio será temporal.

Tan pronto como reinicie el sistema, el valor del parámetro del kernel volverá a su valor original y el ping se desbloqueará nuevamente.

También puede desbloquear ping usando el siguiente comando:

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


¿Cómo bloquear o desbloquear solicitudes de ping a través del archivo icmp_echo_ignore_all (temporalmente)?

El directorio /proc/sys/net/ipv4/ contiene un archivo icmp_echo_ignore_all que controla si el sistema debe responder a las solicitudes de ping o no.

Para bloquear las solicitudes de ping, deberá cambiar el valor en el archivo icmp_echo_ignore_all de "0" a "1".

Puedes hacer esto usando el siguiente comando:

$ sudo sh -c 'echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all'

Sin embargo, este cambio será temporal.

Tan pronto como reinicie el sistema, el valor del parámetro del kernel volverá a su valor original y el ping se desbloqueará nuevamente.

También puede desbloquear ping usando el siguiente comando:

$ sudo sh -c 'echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all'


¿Cómo bloquear o desbloquear solicitudes de ping a través del archivo "/etc/sysctl.conf" (permanentemente)?

Las solicitudes de ping también se pueden bloquear de forma permanente mediante el archivo /etc/sysctl.conf. Para bloquear permanentemente las solicitudes de ping, primero edite el archivo /etc/sysctl.conf usando el siguiente comando:

$ sudo nano /etc/sysctl.conf

Ahora, en el archivo editado, agregue la siguiente línea:

net.ipv4.icmp_echo_ignore_all = 1

Ahora guarde y cierre el archivo /etc/sysctl.conf y ejecute el siguiente comando para aplicar los cambios:

$ sysctl -p

Para desbloquear el ping, edite el archivo /etc/sysctl.conf y cambie el valor de net.ipv4.icmp_echo_ignore_all a 0:

net.ipv4.icmp_echo_ignore_all = 0


¿Cómo bloquear o desbloquear solicitudes de ping usando iptables (permanentemente)?

Iptables es una utilidad de línea de comandos en Linux que permite/bloquea el tráfico según un conjunto de reglas. La distribución Debian por defecto incluye la utilidad iptables.

Sin embargo, si su sistema no tiene esta utilidad, puede instalarla de la siguiente manera:

$ sudo apt-get install iptables

Ahora emita el siguiente comando en la Terminal para bloquear las solicitudes de ping:

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

En el comando anterior, la opción A se usa para agregar una regla en iptables y icmp-type 8 se usa para solicitudes de eco ICMP.

Este comando agrega una regla en el firewall para bloquear todos los pings entrantes a su sistema. Después de agregar esta regla, el sistema rechazará todas las solicitudes de ping que le lleguen.

Ahora, si otro sistema intenta hacer ping a su sistema, recibirá el mensaje "Puerto de destino inalcanzable".


Si no desea que el usuario remitente vea el mensaje Puerto de destino inalcanzable, use DROP en lugar de REJECT en el comando anterior de la siguiente manera:

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

Ahora, si un usuario hace ping a su sistema, no recibirá respuesta.


Para desbloquear ping, use el siguiente comando:

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

O el siguiente comando si ha utilizado la opción DROP en la regla de iptables:

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

En el comando anterior, la opción D se usa para eliminar una regla en iptables y icmp-type 8 se usa para solicitudes de eco ICMP.


Para listar las reglas en sus iptables, use el siguiente comando:

$ sudo iptables -L

Las reglas de iptables que hemos agregado anteriormente no sobrevivirán a un reinicio del sistema.

Para que sobrevivan a un reinicio, deberá instalar el paquete iptables-persistent.

Ejecute el siguiente comando para instalarlo:

$ sudo apt install iptables-persistent

Después de cada regla que agregue o elimine en iptables, ejecute los siguientes comandos para que estas reglas sean persistentes después de reiniciar:

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



Debian
  1. Use el comando SED para buscar y reemplazar cadenas en archivos:¿cómo realizar esta tarea en Ubuntu?

  2. Agregar y eliminar usuarios en Ubuntu 20.04:¿cómo realizar esta tarea?

  3. Listar paquetes instalados en Ubuntu 20.04 - ¿Cómo realizar esta tarea?

  4. ¿Cómo bloquear o desbloquear solicitudes de ping en Ubuntu Server 20.04 LTS?

  5. Debian – ¿Cómo bloquear non-free con las preferencias de Apt?

Cómo instalar Buho Task Manager en Debian 11 Desktop

Cómo generar una solicitud de firma de certificado SSL/TLS (CSR) en Debian 10

Cómo habilitar/deshabilitar ping usando iptables en Debian 10

Cómo instalar Go en Debian 10

Cómo bloquear o desbloquear solicitudes PING en Ubuntu

Cómo instalar Go en Debian