Cómo configurar un Firewall en Ubuntu con UFW
La seguridad es algo que no debe tomarse a la ligera, en la era en que los delitos cibernéticos se ven con frecuencia en los titulares de artículos relacionados con TI. Por lo tanto, siempre es aconsejable tomar medidas para agregar un nivel adicional de seguridad en tu servidor.
Al proteger nuestro servidor (VPS o el que uses), estamos protegiendo nuestros datos. Una manera eficiente de hacer esto es configurar un Firewall en Ubuntu. Así podremos supervisar las conexiones entrantes y salientes realizadas a nuestro servidor. En este tutorial te enseñaremos cómo configurar un firewall en Ubuntu con UFW.
Tabla de Contenidos
Usando el firewall de Ubuntu para proteger tu servidor
Un firewall es un hardware o software que controla el tráfico entrante y saliente de una máquina. En otras palabras, es un elemento bastante importante de la seguridad informática. Si tenemos una computadora que se conecta a Internet, es una buena idea configurar un firewall.
Aun cuando Linux tiene excelentes características de seguridad preinstaladas, es bueno ser cautelosos y tomas medidas adicionales.
En este sentido, Ubuntu viene con una aplicación que facilita la configuración de un Firewall. Se trata de UFW (Uncomplicated Firewall o Firewall sin complicaciones) que se presenta como un front-end de Iptables.
UFW comúnmente viene instalado por defecto en Ubuntu, pero lo más probable es que esté deshabilitado. UFW tiene una interfaz gráfica llamada GUFW que puedes instalar si tienes un entorno de escritorio.
Configurar el firewall en Ubuntu con UFW
Como dijimos antes, UFW viene preinstalado en Ubuntu, solo que no está habilitado. Entonces, lo primero que debes hacer es habilitar UFW.
Para hacerlo, primero debemos conectarnos al servidor usando SSH, o si ejecutas Ubuntu localmente, simplemente abre el terminal. Si tienes problemas para iniciar sesión en tu servidor, dale un vistazo a este tutorial.
ssh your-user@your-server
Una vez que tengas acceso al servidor, habilita UFW con el siguiente comando:
sudo ufw enable
Si esto genera el error de comando no encontrado, instala UFW con el siguiente comando.
sudo apt-get install ufw
Luego, tenemos que verificar el estado de UFW.
sudo ufw status
Como vemos, ahora UFW está habilitado.
Por defecto, UFW previene todas las conexiones entrantes y permite todas las conexiones salientes. Para muchos usuarios, esta configuración es suficiente, pero si tenemos servicios o aplicaciones de red, tenemos que definir algunas reglas.
Configuración de reglas de firewall en Ubuntu con UFW
Una regla de firewall es una instrucción que define la forma en que funciona un firewall. Las reglas definen cuáles conexiones son aceptadas o denegadas.
A continuación, configuraremos algunas reglas de Firewall usando UFW:
Abrir y cerrar puertos con UFW
Los puertos son interfaces de conexión utilizadas por las aplicaciones para establecer una conexión a un servidor.
Con UFW es bastante fácil abrirlos o cerrarlos como mejor nos parezca. Para abrir un puerto, debemos ejecutar este comando:
sudo ufw allow [port/protocol]
En el caso de los protocolos, pueden ser TCP o UDP. Esto dependerá de nuestras necesidades. Por ejemplo:
sudo ufw allow 56/tcp
Esto significa que se permitirán todas las aplicaciones o servicios que intenten conectarse a nuestro servidor utilizando el puerto 56.
Sin embargo, podemos bloquear el uso de ese puerto con el siguiente comando:
sudo ufw deny 56/tcp
Ahora, todas las aplicaciones que usen TCP e intenten conectarse al servidor usando el puerto 56 no podrán hacerlo.
También podemos abrir o denegar un rango de puertos con un solo comando. Esto es genial para ahorrar tiempo. La sintaxis básica se ve así:
sudo ufw allow/deny [Starting_port:Ending_port]/protocol
Para abrir los puertos, el comando se vería así:
sudo ufw allow 300:310/tcp
O, para bloquearlos:
sudo ufw deny 300:310/tcp
Trabajando con servicios en Ubuntu Firewall
Hay algunos servicios de red que UFW puede aplicar. La forma de administrarlos es conocer el puerto que usan para hacer conexiones al servidor.
Por ejemplo, HTTP requiere que el puerto 80 esté disponible y para HTTPS el puerto 443 está disponible.
Entonces, debemos ejecutar este comando para HTTP:
sudo ufw allow http
Ejecutar este comando es equivalente a habilitar el puerto 80 con el método explicado anteriormente.
Por lo tanto, solo necesitamos conocer los puertos utilizados por los servicios de red.
Denegar o permitir conexiones de direcciones IP
También es posible denegar el acceso a una dirección IP específica.
Para hacer esto, tenemos que ejecutar el siguiente comando:
sudo ufw deny from IPADRESS
Por ejemplo:
sudo ufw deny from 192.168.1.2
O, por el contrario, si queremos permitir el acceso a esa dirección IP.
sudo ufw allow from 192.168.1.3
Otra cosa que podemos hacer es especificar si queremos que una dirección IP pueda conectarse solo a un puerto específico.
sudo ufw allow from [IP_ADDRES] to any port [PORT]
En un escenario del mundo real, el comando se vería así:
sudo ufw allow from 192.168.1.4 to any port 44
Con esto, la dirección IP solo puede establecer una conexión si usa el puerto 44.
Eliminar una regla específica en Ubuntu Firewall
¡Podemos eliminar una regla específica de nuestro UFW con una sola entrada de línea de comando! Pero primero, tenemos que listarlas todas. Para hacerlo, ejecutamos este comando:
sudo ufw status numbered
Después de eso, eliminamos la regla que queremos. Por ejemplo, eliminaremos la regla número cuatro.
sudo ufw delete 4
¡Esas son todas las funciones básicas que debes tener en cuenta! Ya estás listo para configurar la seguridad de tu servidor según te parezca mejor. Si quieres obtener más información, consulta el manual de UFW. Puedes acceder a él con el siguiente comando:
sudo ufw –help
Conclusión
El proceso de configuración de un Firewall en Ubuntu es fácil gracias a UFW. Sin embargo, la aplicación cuenta con muchas más opciones para ampliar la protección de nuestro servidor. Aquí aprendiste todos los conceptos básicos que no se deberían omitir. Esperamos que este tutorial te haya sido útil.
Aprende más sobre seguridad en Linux
Cómo configurar Iptables en Linux
Cómo configurar OpenVPN en VPS
Comentarios
July 08 2021
Tengo el ufw habilitado, como hacer para que acepte las conecciones para un servidor postgres (5432) en internet, solamente a la ip 190.152.109.234, ya he intentando esto: sudo ufw allow from 190.152.109.234 port 5432 sudo ufw allow from 190.152.109.234/32 port 5432 sudo ufw allow proto tcp from 190.152.109.234 port 5432 Pero nada funciona.
July 13 2021
Hola Edgar! Te recomiendo que contactes con tu servicio de alojamiento. Si tienes contratado Hostinger, puedes hablar con uno de nuestros agentes de atención al cliente desde la sección Ayuda del hPanel, sin duda ellos podrán orientarte con una solución. Saludos!