¿Qué es iptables?
Iptables es un programa de firewall de línea de comandos que permite o bloquea el tráfico según la cadena de políticas utilizada. Iptables adopta un enfoque basado en paquetes para monitorear el tráfico. Cuando un programa intenta conectarse a su sistema, iptables busca una regla de una lista predefinida. Si no se encuentra una regla, vuelve a la acción predeterminada y evita el acceso a la nueva conexión.
El filtro de paquetes iptables fue escrito por primera vez por Rust Seller y es un producto del equipo Netfilter Core. Está escrito en lenguaje C y se lanzó por primera vez en 1998. La empresa lanza versiones estables de vez en cuando, que se pueden descargar desde el siguiente repositorio:
https://git.netfilter.org/iptables/
Sitio web de la empresa:www.netfilter.org
Para obtener más información sobre iptables y cómo usarlo, siga la documentación oficial en:
https://netfilter.org/documentation/
¿Qué es ping?
Ping o Packet Internet Groper es una utilidad de administración de red que le permite verificar el estado de la conexión entre una fuente y una computadora/dispositivo de destino a través de una red IP. También le ayuda a estimar el tiempo que lleva enviar y recibir una respuesta de la red.
En este artículo explicaremos los comandos de iptables que puede usar para:
- Agregue una regla que le indique al firewall de iptables que bloquee los pings entrantes y salientes a un servidor controlando las solicitudes ICMP.
- Elimine la regla que le dice al firewall de iptables que permita pings hacia y desde un servidor controlando las solicitudes ICMP.
Hemos ejecutado los comandos y procedimientos mencionados en este artículo en un sistema Ubuntu 22.04 LTS.
¿Cómo bloquear/permitir ping desde iptables?
Puede instalar iptables a través de la línea de comandos de Linux ejecutando el siguiente comando en su Terminal:
$ sudo apt-get install iptables
Puede abrir la aplicación Terminal a través de la búsqueda del lanzador de aplicaciones del sistema o usando Ctrl+Alt+T atajo.
Para verificar la instalación y verificar el número de versión, puede usar el siguiente comando:
$ iptables --version
Bloquear ping
Como se mencionó anteriormente, el firewall de iptables se basa en un conjunto de reglas. Puede agregar la siguiente regla para bloquear pings hacia y desde el servidor. El comando imprimirá un mensaje de error cuando ejecute el comando ping:
$ sudo iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
Ejemplo:
O bien, puede agregar las siguientes reglas para bloquear el ping sin imprimir un mensaje de error:
$ sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP $ sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
La opción de comando -A del comando iptables significa 'Agregar', por lo que cualquier regla que se agregue comienza con 'sudo iptables -A .... ‘.
Permitir ping
El siguiente comando le permite enumerar todas las reglas agregadas a sus iptables:
$ sudo iptables -L
Si alguna de las reglas está bloqueando el ping (en nuestro caso, ICMP es rechazado), simplemente puede eliminar esa regla de la siguiente manera:
$ sudo iptables -D INPUT -p icmp --icmp-type echo-request -j REJECT
El -D el interruptor de comando se usa para eliminar la regla.
Puede eliminar todas las reglas personalizadas agregadas a su Firewall de iptables con el siguiente comando:
$ sudo iptables -F
Ha visto cómo agregar y eliminar reglas en la utilidad iptables le permite controlar cómo funciona el firewall.