Como configurar el firewall en Ubuntu
En los últimos años estamos viendo las consecuencias de la falta de medidas de seguridad en nuestros ordenadores y redes informáticas. En este artículo veremos como configurar el firewall en Ubuntu.
Un firewall, que suele traducirse en nuestro idioma como cortafuegos, es un mecanismo de seguridad que está pensado para controlar y filtrar todo el tráfico de datos informáticos que circula dentro de una red. Su utilización tiene como finalidad la de impedir el acceso no autorizado a los recursos de una red o dispositivos individuales de accesos por parte de personas no autorizadas desde otras redes usando Internet. Si bien los firewalls pueden ser dispositivos de hardware, programas de software o una combinación de ambos, en este artículo nos centraremos en una herramienta específica de software.
Tal vez, el paralelismo más adecuado sea el de las aduanas ubicadas en las fronteras entre países. El firewall analiza los paquetes de datos entrantes y salientes y evalúa si permite el tránsito entre la red interna y una externa. Esto lo hace de acuerdo de reglas predefinidas. Así por ejemplo permite que el navegador acceda a Internet pero que no lo haga el procesador de textos.
El subsistema Netfilter
A nivel del núcleo, las distribuciones basadas en Linux ofrecen un componente conocido como Netfilter que es el encargado del filtrado de paquetes y otras formas de procesarlos a nivel de IP.
Netfilter ofrece una serie de hooks (ganchos) que a manera de puestos de peaje se encargan de impedir el paso a los paquetes no autorizados. Algunos de ellos son:
- REROUTING: Se encarga de interceptar paquetes al momento de llegar.
- INPUT: Se ocupa de los paquetes destinados al host local.
- FORWARD: Es el que examina los paquetes que van a ser reenviados.
- OUTPUT: Le tocan los paquetes originados localmente y van a salir del host.
- POSTROUTING: Trabaja con los paquetes cuando van a salir.
Cómo configurar el firewall en Ubuntu
Como dijimos más arriba, es necesario establecer las reglas que determinan lo que deben hacer los hooks con los paquetes. Tradicionalmente para esto se usaba una herramienta llamada iptables que con el tiempo fue reemplazado por nftables. Son herramientas con las que podemos fijar las reglas que determinan el tratamiento de los distintos paquetes de acuerdo a la etapa de transmisión y recepción en la que se encuentren.
Las dos herramientas que mencionamos son un poco complejas de utilizar por lo que Ubuntu y otras distribuciones Linux incluyen una herramienta llamada UFW que hace más fácil proteger nuestro sistema.
Podemos instalar UFW con el comando:
sudo apt install ufw
Para saber si está activado:
sudo ufw status
Esto nos muestra si está activado. No es necesario de que lo esté para programar reglas.
Lo activamos con:
sudo ufw enable
Podemos ver las reglas establecidas con:
sudo ufw show added
Para ver cuáles son las reglas establecidas por defecto podemos escribir:
sudo ufw status verbose
Si lo que deseamos es cambiar una política determinada tipeamos:
sudo ufw default deny nombre_de_la_política
Para anular una política o para permitirla:
sudo ufw default allow nombre_de_la_política
Para agregar reglas a un puerto determinado hacemos:
sudo ufw allow out número de puerto
Eliminamos las reglas con:
sudo ufw delete allow out número_de_puerto.
También es posible asignar una regla a un rango de IP específica:
sudo ufw allow from ip_origen to any port número_de_puerto proto tcp
UFW está programado por defecto para permitir todo el tráfico de salida y para impedir todo acceso externo no solicitado. Por defecto trabaja con los protocolos IPv4 e IPv6, las letras son las siglas en inglés para protocolo de Internet.
La diferencia fundamental entre ambos protocolos es que IPv6 permite trabajar con una mayor cantidad de direcciones únicas. sin embargo, el soporte para este protocolo puede desactivarse con:
sudo nano /etc/default/ufw
Y cambiando de Yes a No en el renglón correspondiente a IPv6.
Esta es una breve introducción a UFW, puedes saber más sobre su uso escribiendo en la terminal
man ufw