Protege tu servidor Linux con UFW (Uncomplicated Firewall)
A medida que tus proyectos crecen, bien sea un servido SaaS, un blog, un ecommerce, etc, necesitas mejorar tu infraestructura y la seguridad de tus servidores. Una de las formas más sencillas para mejorar la seguridad es instalar un firewall en tus servidores. En este post explicaremos cómo realizar una configuración básica para una web con UFW (Uncomplicated Firewall).
Paso 1 - Instalar UFW
Para instalar UFW debes buscar el nombre del paquete en la distribución Linux sobre la cuál está tu servidor. En este caso vamos a realizar la instalación sobre GNU/Linux Debian.
sudo apt install ufw
Paso 2 - Configura las políticas por defecto
Es muy importante entender qué hacen las políticas por defecto. UFW por defecto deniega todas las conexiones entrantes y permite todas las conexiones de salida. Esto significa que cualquier que intente alcanzar tu servidor no lo podrá realizar pero tu servidor podrá conectarse a cualquier otro sitio web o recurso en internet. Para asegurarnos que esto es así, podemos ejecutar los siguientes comandos:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Paso 3 - Revisa la lista de programas disponibles
Una vez instalado el firewall en el sistema estará por defecto deshabilitado, y no tendrá ningún programa habilitado para pasar a través de él. Para ver la lista de programas candidatos para pasar por el firewall puedes utilizar el siguiente comando.
sudo ufw app list
Verás un resultado similar al siguiente:
...
OpenSSH
POP3
POP3S
...
WWW
...
La lista obtenida puede ser bastante larga, he listado algunos programas que muy seguramente desearás que el firewall no bloquee. Si tienes un servidor web, o accedes por SSH en este momento y habilitas el firewall sin habilitar primero estos programas perderás acceso a tu web y a tu servidor por SSH. Yo personalmente utilizo en su mayoría el servicio SSH en servidores web con apache, por tal motivo utilizo estos comandos para habilitar dichos servicios.
sudo ufw allow 'WWW Full'
sudo ufw allow OpenSSH
Paso 4 - Activa el Firewall
El paso final consiste en activar el firewall con el siguiente comando.
sudo ufw enable
Si notas que algún servicio de los que utilizas quedó deshabilitado después de activar el firewall recuerda que en cualquier momento puedes desactivar el firewall con el siguiente comando.
sudo ufw disable
Espero que esta breve pero útil introducción al firewall UFW te haya sido útil. Hasta pronto!.
Paso 5 - Verifica el estado del firewall
Finalmente puedes verificar el estado del firewall con el siguiente comando.
admin@server:/etc/apache2$ sudo ufw status
Status: active
To Action From
-- ------ ----
WWW Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
WWW Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)