Este artículo trata sobre cómo bloquear las solicitudes de ping al servidor de Linux. También describiremos cómo desbloquear las solicitudes de ping en caso de que necesite usar ping para la administración del sistema y la solución de problemas.
Requisitos previos
Nota: Los comandos discutidos aquí han sido probados en Ubuntu 20.04 LTS.
Solicitudes de ping de bloque/desbloqueo al servidor Linux
Ping funciona enviando un paquete ICMP (solicitud de eco) al sistema de destino y luego recibe un paquete de respuesta ICMP (respuesta de eco). En Linux, el comando ping continúa enviando paquetes ICMP hasta que lo detenga usando Ctrl+C.
Para bloquear las solicitudes de ping, deberá ignorar/bloquear las solicitudes de eco de ICMP que se envían a su servidor. Hay siguientes dos formas a través de las cuales puede bloquear/desbloquear las solicitudes de eco ICMP al servidor Linux.
Empecemos.
Solicitudes de ping de bloque/desbloqueo a través de parámetros del núcleo
A través de los parámetros del núcleo, puede bloquear las solicitudes de ping, ya sea temporal o permanentemente. Los parámetros del kernel se pueden modificar a través de sysctl dominio, /SYS/Proc directorio, y /etc/sysctl.archivo conf.
El comando SYSCTL en Linux se usa para leer y escribir parámetros del núcleo en el /proc/sys directorio. Usando este comando, podemos configurar los parámetros del kernel para bloquear/desbloquear solicitudes de ping. El parámetro del núcleo neto.IPv4.ICMP_ECHO_IGNORE_All controla si el sistema debe responder a la solicitud de eco de ICMP. El valor predeterminado es '0 ' lo que significa responder a la solicitud ICMP.
Para bloquear la solicitud de ping, emita el siguiente comando en la terminal:
$ sudo sysctl -w net.IPv4.ICMP_ECHO_IGNORE_ALL = 1
Este comando establece el parámetro del kernel en '1', lo que significa ignorar todas las solicitudes de ICMP.
Ahora todas las solicitudes de ping a su sistema se bloquearán y el remitente no recibirá ninguna respuesta como se muestra en la siguiente captura de pantalla.
Para desbloquear las solicitudes de ping, nuevamente ejecute el mismo comando cambiando el valor del parámetro a predeterminado '0'.
$ sudo sysctl -w net.IPv4.ICMP_ECHO_IGNORE_ALL = 0
Alternativamente, puede bloquear las solicitudes de ping cambiando el valor del parámetro del núcleo en el /proc/sys directorio usando el comando echo. Sin embargo, para usar este método, deberá ejecutar el comando como root.
Para bloquear la solicitud de ping, primero cambie a la cuenta raíz utilizando el siguiente comando en el terminal:
$ su raíz
Cuando se le solicite la contraseña, ingrese la contraseña para root.
Luego emita el siguiente comando en la terminal:
$ echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all
Para desbloquear las solicitudes de ping, el comando sería:
$ echo 0>/proc/sys/net/ipv4/icmp_echo_ignore_all
Bloquear las solicitudes de ping permanente
Los parámetros del kernel también se pueden modificar a través del /etc/sysctl.confusión archivo. Este archivo le permitirá bloquear permanentemente las solicitudes de ping a su servidor.
Para bloquear la solicitud de ping a su sistema, editar /etc/sysctl.confusión archivo:
$ sudo nano /etc /sysctl.confusión
Luego agregue la siguiente línea en el archivo:
neto.IPv4.ICMP_ECHO_IGNORE_ALL = 1
Guarde y cierre el archivo.
Luego, emita el siguiente comando en el terminal para aplicar esta configuración sin reiniciar:
$ sysctl -p
Para desbloquear las solicitudes de ping, edite el /etc/sysctl.confusión archivo:
$ sudo nano /etc /sysctl.confusión
Luego modifique el valor de neto.IPv4.ICMP_ECHO_IGNORE_All a '0 ':
neto.IPv4.ICMP_ECHO_IGNORE_ALL = 0
Guarde y cierre el archivo.
Luego, emita el siguiente comando en el terminal para aplicar esta configuración sin reiniciar:
$ sysctl -p
Solicitudes de ping de bloque/desbloqueo usando iptables
Iptables es una utilidad de firewall en Linux que controla el tráfico entrante y saliente basado en ciertas reglas. Viene preinstalado en el sistema Ubuntu. En caso de que falta en el sistema, puede instalarlo utilizando el siguiente comando en el terminal:
$ sudo apt install iptables
Para bloquear las solicitudes de ping a su sistema, escriba el siguiente comando en el terminal:
$ sudo iptables -a entrada -p icmp --icmp -type 8 -j rechazado
Donde el A La bandera se usa para agregar una regla en iptables y tipo ICMP 8 es el número de tipo ICMP utilizado para la solicitud de eco.
El comando anterior agregará una regla en el firewall que bloqueará cualquier solicitud de ping entrante a su sistema. Al agregar esta regla, cualquiera que envíe la solicitud de ping a su sistema verá el "Puerto de destino inalcanzable"Mensaje como se muestra en la siguiente captura de pantalla.
Si no desea que aparezca este mensaje, use el siguiente comando reemplazar RECHAZAR con GOTA:
$ sudo iptables -a entrada -p icmp --icmp -type 8 -j caída
Ahora, cualquiera que envíe la solicitud de ping a su sistema verá la siguiente salida similar:
Para desbloquear las solicitudes de ping a su servidor, escriba el siguiente comando en el terminal:
$ sudo iptables -d entrada -p icmp --icmp -type 8 -j rechazado
Donde el D La bandera se usa para eliminar una regla en iptables y tipo ICMP 8 ¿El número de tipo ICMP se utiliza para una solicitud de eco?.
Para que estas reglas sean persistentes después de un reinicio del sistema, necesitará iptable-Persistente paquete. Emitir el siguiente comando en el terminal para instalar iptables-Persistent:
$ sudo apt instalación iptables-Persistente
Se le pedirá que confirme si desea continuar con la instalación o no. Golpear Y Para continuar, después de lo cual el sistema iniciará la instalación y una vez completado, estará listo para usar.
Después de agregar o eliminar cualquier regla, emita los siguientes comandos en la terminal para que sobrevivan al reinicio del sistema.
$ sudo netfilter-persistente ahorro
$ Sudo NetFilter Persistente Reload
Para ver todas las reglas agregadas a sus iptables, emita el siguiente comando en la terminal:
$ sudo iptables -l
Eso es todo lo que hay! En este artículo, hemos discutido cómo bloquear/desbloquear las solicitudes de ping al servidor de Linux, ya sea a través de los parámetros del núcleo o a través de la utilidad iptable. Espero que esto ayude!