El Protocolo de mensajes de control de Internet, también conocido como ICMP, es un protocolo que se utiliza para verificar la conectividad de los hosts en una red. También podemos utilizar este protocolo para diagnosticar los problemas en una red. Pero desde el punto de vista de la seguridad, también puede ser utilizado por alguien para realizar un ataque DDoS. Una inundación de ping o un ataque de denegación de servicio distribuido (DDoS) es una forma de ataque en la que alguien envía muchas solicitudes de ping a un host y el host se vuelve casi inaccesible para el tráfico de rutina. Para evitar este tipo de situación, los administradores de red suelen bloquear ICMP en su red. En este artículo, aprenderemos cómo se pueden usar las tablas de IP para bloquear ICMP en nuestro servidor.
¿Qué son las tablas de IP??
IP Tables es un programa de utilidad de firewall para sistemas operativos Linux. Se puede utilizar para aceptar, denegar o devolver el tráfico de red hacia o desde una fuente. Observa el tráfico de red venidero utilizando diferentes conjuntos de reglas definidas en una tabla. Estos conjuntos de reglas se llaman cadenas. Las tablas de IP observan paquetes de datos y los paquetes que coinciden con las reglas se dirigen a otra cadena o se les asigna uno de los siguientes valores.
- ACEPTADO: Se permitirá que el paquete pase
- SOLTAR: No se permitirá que el paquete pase
- REGRESO: La cadena devolverá el paquete a la cadena anterior.
Instalación de tablas de IP
Para la mayoría de las distribuciones de Linux, las tablas de IP vienen preinstaladas. Puede verificar si las tablas de IP están instaladas o no escribiendo el siguiente comando en la terminal.
[correo electrónico protegido]: ~ $ iptables --versionSi las tablas de IP no están instaladas, puede instalarlas ejecutando el siguiente comando en la terminal.
[correo electrónico protegido]: ~ $ sudo apt-get update[correo electrónico protegido]: ~ $ sudo apt-get install iptables
Podemos verificar el estado predeterminado de las tablas de IP ejecutando el siguiente comando en la terminal.
[correo electrónico protegido]: ~ $ sudo iptables -L -vLa bandera '-L' enumera todas las reglas y la bandera '-v' muestra información detallada.
Alternativamente, también podemos enumerar todas las reglas agregadas a las tablas de IP ejecutando el siguiente comando en la terminal.
[correo electrónico protegido]: ~ $ sudo iptables -S
De forma predeterminada, todas las cadenas aceptan los paquetes y estas cadenas no tienen una regla asignada.
Asignar reglas a cadenas
Inicialmente, no se asigna ninguna regla a ninguna cadena y todas aceptan tráfico de red. Ahora, en esta sección, veremos cómo podemos definir reglas personalizadas para bloquear o permitir el tráfico de red. Para definir una nueva regla, usamos la bandera 'A' (agregar), que le dice a las tablas de IP que se va a definir una nueva regla. Las siguientes opciones también se utilizan junto con la bandera 'A' para describir la regla.
-I (interfaz): esta opción indica a través de qué interfaz desea que se permita o bloquee el tráfico de su red. Puede obtener una lista de todas las interfaces en su sistema ejecutando el siguiente comando en la terminal.
[correo electrónico protegido]: ~ $ ifconfig-pag (protocolo): esta opción define qué protocolo desea filtrar utilizando tablas de IP. Puede ser TCP, UDP, ICMP, ICMPV6, etc. Puede aplicar reglas a todos los protocolos utilizando todas las opciones.
-s (fuente): esta opción muestra la fuente del tráfico de red, como la dirección IP o el nombre de dominio.
-dport (puerto de destino): esta opción se utiliza para indicar el puerto de destino para el tráfico de red.
-j (objetivo): esta opción se utiliza para mostrar el objetivo. Puede ser ACEPTAR, SOLTAR, RECHAZAR o DEVOLVER. Esta opción es obligatoria para todas las reglas.
En general, la sintaxis básica para agregar una regla será la siguiente:
[correo electrónico protegido]: ~ $ sudo iptables -A-pag