Las direcciones IP permiten que nuestros equipos y dispositivos puedan identificarse en la red tanto local como externa y desde allí poder hacer uso de todos los servicios de la red y no solo se habla de navegación, por seguridad o privacidad es posible que se necesite bloquear una o varias direcciones IP en un sistema Linux y existen algunas opciones para realizar esto y Solvetic te las explicará en detalle cada una para que puedas usar la más adecuada según el sistema usado.
Bloquear direcciones IP puede ser útil para diferentes tareas como puede ser la seguridad de la red o la protección de servicios. Además, si sufrimos ataques específicos, podemos bloquear esas direcciones para evitarlo. También por seguridad, bloquear direcciones IP permite tener un mejor control de acceso hacia nuestra red o nuestros recursos.
1 Bloquear IP Linux usando IPTABLES
Iniciamos hablando de IPTABLES la cual se ha desarrollado como una herramienta para administrar el filtrado de paquetes IPv4 y NAT, gracias a IPTABLES es posible crear y configurar reglas y políticas con las cuales es posible controlar el flujo de paquetes de red en las tareas de ingreso, salida o tránsito en la red local, con esta configuración es posible proteger equipos como servidores y dispositivos de ataques no deseados que se originan en la red externa.
Cada tabla en IPTABLES está compuesta por una serie de cadenas las cuales pueden alojar más cadenas definidas por el administrador, y estas cadenas son lista de reglas las cuales pueden coincidir con grupos de paquetes.
- Tabla de filtro (filter): son las tablas predeterminadas que son usadas para filtrar paquetes, allí es donde configuramos reglas para aceptar, rechazar o bloquear paquetes.
- Tabla de traducción de direcciones de red (nat): es una tabla usada para realizar traducción de direcciones de red tal como el redireccionamiento de puertos (port forwarding) o el masquerading (NAT).
- Tabla de resolución de nombres de red (mangle): es una tabla que permite modificar los encabezados de los paquetes por ejemplo el TOS (Type of Service) o el TTL (Time to Live).
- -A, --agregar: permite añadir una o más reglas al final de la cadena seleccionada.
- -D: elimina una regla de cadena.
- -I, --insert: Inserta una o más reglas en la cadena seleccionada basada en el número de regla ingresado.
- -R: reemplaza una regla en la cadena.
- -L: enumera todas las reglas en la cadena seleccionada.
Para su uso vamos a abrir la terminal y ejecutaremos la siguiente sintaxis:
sudo iptables -A INPUT -s 192.168.X.X -j DROP
Recuerda reemplazar 192.168.X.X por la dirección IP:
Hemos ingresado los siguientes parámetros:
- -A INPUT: indica que se añade la regla a la cadena de entrada.
- -s 192.168.X.X: especifica la dirección de origen a bloquear.
- -j DROP: indica al sistema que descarte los paquetes que vienen de la dirección IP especificada.
Ahora ejecutamos el siguiente comando para instalar la utilidad, esto permite que la regla se aplique aun después del reinicio del sistema:
sudo apt install iptables-persistent
Confirmamos el proceso ingresando la letra “S” y veremos una serie de mensajes, en primer lugar permitimos que se aplique a IPv4:
Luego las aplicamos a IPv6:
Esperamos que el proceso finalice:
Luego ejecutamos el siguiente comando para guardar las reglas actuales:
sudo netfilter-persistent save
2 Bloquear IP Linux usando UFW
UFW (Uncomplicated Firewall) es una interfaz que esta desarrollada para iptables y su uso es especial para los cortafuegos basados en host, ufw ofrece un marco para administrar netfilter y cuenta con una interfaz de línea de comandos que permite al administrador gestionar el firewall.
- Permite habilitar y deshabilitar el firewall
- Nos permite habilitar servicios predefinidos como SSH, HTTP, HTTPS y mas
- Configurar reglas de entrada y salida
- Permitir conexiones desde direcciones IP específicas para mayor seguridad
- Administrar el estado del firewall
- Compatibilidad con Python 3.5
- Compatibilidad con Snappy para Ubuntu Core
- Soporte para systemd
- Limitación de velocidad de IPv6 a través del comando 'limit'
- Integra un comando de reinicio
- Permite reglas de entrada multipuerto
Para usar este método abrimos la terminal, luego usaremos el siguiente comando para instalar la utilidad:
sudo apt install ufw
Ejecutamos el siguiente comando para bloquear la dirección deseada:
sudo ufw deny from 192.168.X.X
Ahora aplicamos los cambios con el comando:
sudo ufw enable
3 Bloquear IP Linux usando FIREWALLD
Firewalld es un cortafuegos dinámico el cual cuenta con soporte para zonas de red/cortafuegos permitiendo administrar de forma centralizada las conexiones o interfaces de red del sistema, su uso esta enfocado en distribuciones CentOS/RHEL y basadas en estas, su uso está basado en una estructura de zonas con las cuales es posible definir las reglas de filtrado, esto simplifica la administración de la seguridad en muchos aspectos del sistema, algunas de sus características más destacadas son:
- Compatibilidad con NAT IPv4 e IPv6
- Zonas de cortafuegos añadidas
- Lista predefinida integrada de zonas, servicios y tipos de icmp
- Definición de servicio simple usando puertos, protocolos, puertos de origen y manejo de direcciones de destino
- Herramienta de configuración gráfica a través de gtk3
- Subprograma gracias a Qt5
Abrimos la terminal e instalamos la utilidad con el comando:
sudo apt install firewalld
Aceptamos el proceso con la letra “S”:
Ahora iniciamos el servicio:
sudo systemctl start firewalld
Habilitamos el servicio con el arranque:
sudo systemctl enable firewalld
Ahora bloqueamos la dirección IP deseada con la siguiente sintaxis:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.X.X" reject'
Si se llegase a bloquear aplicamos los cambios con el comando:
sudo firewall-cmd –reloadAsí disponemos de opciones practicas para bloquear una dirección IP en Linux.