5.14. Gestión de peticiones ICMP
El Internet Control Message Protocol
(ICMP
) es un protocolo de apoyo que utilizan varios dispositivos de red para enviar mensajes de error e información operativa que indican un problema de conexión, por ejemplo, que un servicio solicitado no está disponible. ICMP
se diferencia de los protocolos de transporte como TCP y UDP porque no se utiliza para intercambiar datos entre sistemas.
Lamentablemente, es posible utilizar los mensajes de ICMP
, especialmente echo-request
y echo-reply
, para revelar información sobre su red y hacer un mal uso de dicha información para diversos tipos de actividades fraudulentas. Por lo tanto, firewalld
permite bloquear las solicitudes de ICMP
para proteger la información de su red.
5.14.1. Listado y bloqueo de peticiones ICMP
Listado ICMP
solicitudes
Las solicitudes de ICMP
se describen en archivos XML individuales que se encuentran en el directorio /usr/lib/firewalld/icmptypes/
. Puede leer estos archivos para ver una descripción de la solicitud. El comando firewall-cmd
controla la manipulación de las peticiones de ICMP
.
Para listar todos los tipos disponibles de
ICMP
:# firewall-cmd --get-icmptypes
La petición
ICMP
puede ser utilizada por IPv4, IPv6 o por ambos protocolos. Para ver para qué protocolo se utiliza la peticiónICMP
:# firewall-cmd --info-icmptype=<icmptype>
El estado de una solicitud
ICMP
muestrayes
si la solicitud está actualmente bloqueada ono
si no lo está. Para ver si una solicitud deICMP
está actualmente bloqueada:# firewall-cmd --query-icmp-block=<icmptype>
Bloqueo o desbloqueo de las solicitudes de ICMP
Cuando su servidor bloquea las solicitudes de ICMP
, no proporciona la información que normalmente proporcionaría. Sin embargo, eso no significa que no se proporcione ninguna información. Los clientes reciben información de que la petición ICMP
en particular está siendo bloqueada (rechazada). El bloqueo de las peticiones a ICMP
debe considerarse cuidadosamente, porque puede causar problemas de comunicación, especialmente con el tráfico IPv6.
Para ver si una solicitud de
ICMP
está actualmente bloqueada:# firewall-cmd --query-icmp-block=<icmptype>
Para bloquear una solicitud de
ICMP
:# firewall-cmd --add-icmp-block=<icmptype>
Para eliminar el bloqueo de una solicitud de
ICMP
:# firewall-cmd --remove-icmp-block=<icmptype>
Bloqueo de las solicitudes de ICMP
sin proporcionar ninguna información
Normalmente, si bloqueas las peticiones de ICMP
, los clientes saben que lo estás bloqueando. Por lo tanto, un atacante potencial que esté husmeando en busca de direcciones IP activas todavía es capaz de ver que tu dirección IP está en línea. Para ocultar esta información por completo, tienes que eliminar todas las peticiones de ICMP
.
-
Para bloquear y abandonar todas las solicitudes de
ICMP
:
Establezca el objetivo de su zona en
DROP
:# firewall-cmd --permanent --set-target=DROP
Ahora, todo el tráfico, incluyendo las solicitudes de ICMP
, se descarta, excepto el tráfico que usted ha permitido explícitamente.
-
Para bloquear y eliminar ciertas solicitudes de
ICMP
y permitir otras:
Establezca el objetivo de su zona en
DROP
:# firewall-cmd --permanent --set-target=DROP
Añade la inversión de bloque ICMP para bloquear todas las peticiones de
ICMP
a la vez:# firewall-cmd --add-icmp-block-inversion
Añade el bloqueo ICMP para aquellas peticiones de
ICMP
que quieras permitir:# firewall-cmd --add-icmp-block=<icmptype>
Haz que la nueva configuración sea persistente:
# firewall-cmd --runtime-to-permanent
El block inversion invierte la configuración de los bloqueos de las peticiones de ICMP
, por lo que todas las peticiones, que antes no estaban bloqueadas, se bloquean debido a que el objetivo de su zona cambia a DROP
. Las peticiones que estaban bloqueadas no lo están. Esto significa que si quiere desbloquear una petición, debe utilizar el comando de bloqueo.
- Para revertir la inversión de bloques a una configuración totalmente permisiva:
Establezca el objetivo de su zona en
default
oACCEPT
:# firewall-cmd --permanent --set-target=default
Eliminar todos los bloques añadidos para las solicitudes de
ICMP
:# firewall-cmd --remove-icmp-block=<icmptype>
Retire la inversión del bloque
ICMP
:# firewall-cmd --remove-icmp-block-inversion
Haz que la nueva configuración sea persistente:
# firewall-cmd --runtime-to-permanent