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.

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
Lista de reglas UFW que se muestra en la terminal en Ubuntu

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.

Author
El autor

Gustavo B.

Gustavo es un apasionado por la creación de sitios web. Se enfoca en la aplicación de estrategias SEO en Hostinger para España y Latinoamérica, así como la creación de contenidos de alto nivel. Cuando no está aplicando nuevos trucos en WordPress lo puedes encontrar tocando la guitarra, viajando o tomando un curso online.