Ubuntu

Instalación y configuración de UFW en Ubuntu 20.04 LTS

Instalación y configuración de UFW en Ubuntu 20.04 LTS
UFW, o Uncomplicated Firewall, es una interfaz fácil de usar para iptables de Linux. UFW está escrito en Python (es compatible con Python 3.5 y superior) y es la utilidad de administración de firewall de facto actual en los sistemas Ubuntu. Esta utilidad es muy fácil de usar y actúa como un gran firewall basado en host.

Este artículo le muestra cómo instalar y usar UFW en su Ubuntu 20.04 sistema LTS.

Instalación

UFW viene preinstalado en la mayoría de los sistemas Ubuntu. Si su compilación no tiene este programa ya instalado, puede instalarlo usando los administradores de paquetes snap o apt.$ sudo snap instalar ufw

$ sudo apt install ufw

Personalmente prefiero usar el administrador de paquetes apt para hacer esto porque snap es menos popular y no quiero tener esta complejidad adicional. En el momento de escribir este artículo, la versión publicada para UFW es 0.36 para los 20.04 lanzamiento.

Entrante vs. Tráfico saliente

Si eres un principiante en el mundo de las redes, lo primero que debes aclarar es la diferencia entre el tráfico entrante y saliente.

Cuando instala actualizaciones usando apt-get, navega por Internet o revisa su correo electrónico, lo que está haciendo es enviar solicitudes "salientes" a servidores, como Ubuntu, Google, etc. Para acceder a estos servicios, ni siquiera necesitas una IP pública. Por lo general, se asigna una única dirección IP pública para, por ejemplo, una conexión de banda ancha doméstica, y cada dispositivo obtiene su propia IP privada. Luego, el enrutador maneja el tráfico utilizando algo conocido como NAT o traducción de direcciones de red.

Los detalles de NAT y las direcciones IP privadas están más allá del alcance de este artículo, pero el video vinculado anteriormente es un excelente punto de partida. Volviendo a UFW, de forma predeterminada, UFW permitirá todo el tráfico web saliente regular. Sus navegadores, administradores de paquetes y otros programas eligen un número de puerto aleatorio, generalmente un número superior a 3000, y así es como cada aplicación puede realizar un seguimiento de sus conexiones.

Cuando ejecuta servidores en la nube, generalmente vienen con una dirección IP pública y las reglas anteriores de permitir que el tráfico saliente aún se mantengan. Debido a que seguirá utilizando utilidades, como administradores de paquetes, que se comunican con el resto del mundo como un 'cliente', UFW lo permite de forma predeterminada.

La diversión comienza con el tráfico entrante. Las aplicaciones, como el servidor OpenSSH que usa para iniciar sesión en su VM, escuchan en puertos específicos (como 22) para entrante solicitudes, al igual que otras aplicaciones. Los servidores web necesitan acceso a los puertos 80 y 443.

Es parte del trabajo de un firewall permitir que aplicaciones específicas escuchen cierto tráfico entrante mientras bloquean todos los innecesarios. Es posible que tenga un servidor de base de datos instalado en su máquina virtual, pero generalmente no necesita escuchar las solicitudes entrantes en la interfaz con una IP pública. Por lo general, solo escucha las solicitudes en la interfaz de bucle invertido.

Hay muchos bots en la Web que bombardean constantemente los servidores con solicitudes falsas para abrirse paso por la fuerza bruta o para realizar un simple ataque de denegación de servicio. Un firewall bien configurado debería poder bloquear la mayoría de estas travesuras con la ayuda de complementos de terceros como Fail2ban.

Pero, por ahora, nos centraremos en una configuración muy básica.

Uso básico

Ahora que tiene UFW instalado en su sistema, veremos algunos usos básicos de este programa. Dado que las reglas de firewall se aplican en todo el sistema, los siguientes comandos se ejecutan como usuario root. Si lo prefiere, puede usar sudo con los privilegios adecuados para este procedimiento.

# estado de ufw
Estado: inactivo

De forma predeterminada, UFW está en un estado inactivo, lo cual es bueno. No desea bloquear todo el tráfico entrante en el puerto 22, que es el puerto SSH predeterminado. Si ha iniciado sesión en un servidor remoto a través de SSH y bloquea el puerto 22, se le bloqueará el acceso al servidor.

UFW nos facilita hacer un agujero solo para OpenSSH. Ejecute el siguiente comando:

[correo electrónico protegido]: ~ # lista de aplicaciones ufw
Aplicaciones disponibles:
OpenSSH

Tenga en cuenta que todavía no he habilitado el firewall. Ahora agregaremos OpenSSH a nuestra lista de aplicaciones permitidas y luego habilitaremos el firewall. Para hacerlo, ingrese los siguientes comandos:

# ufw permite OpenSSH
Reglas actualizadas
Reglas actualizadas (v6)
# ufw enable

El comando puede interrumpir las conexiones SSH existentes. Continuar con la operación (y | n)? y.

El firewall ahora está activo y habilitado al iniciar el sistema.

Felicitaciones, UFW ahora está activo y funcionando. UFW ahora permite que solo OpenSSH escuche las solicitudes entrantes en el puerto 22. Para verificar el estado de su firewall en cualquier momento, ejecute el siguiente código:

# estado de ufw
Estado: Activo
A la acción desde
-- ------ ----
OpenSSH PERMITIR en cualquier lugar
OpenSSH (v6) PERMITIR en cualquier lugar (v6)

Como puede ver, OpenSSH ahora puede recibir solicitudes desde cualquier lugar de Internet, siempre que lo alcance en el puerto 22. La línea v6 indica que las reglas se aplican también para IPv6.

Por supuesto, puede prohibir rangos particulares de IP, o permitir solo un rango particular de IP, dependiendo de las restricciones de seguridad en las que esté trabajando.

Agregar aplicaciones

Para las aplicaciones más populares, el comando ufw app list actualiza automáticamente su lista de políticas tras la instalación. Por ejemplo, tras la instalación del servidor web Nginx, verá aparecer las siguientes opciones nuevas:

# apt install nginx
# lista de aplicaciones ufw
Aplicaciones disponibles:
Nginx completo
HTTP de Nginx
Nginx HTTPS
OpenSSH

Adelante, intente experimentar con estas reglas. Tenga en cuenta que simplemente puede permitir los números de puerto, en lugar de esperar a que aparezca el perfil de una aplicación. Por ejemplo, para permitir el puerto 443 para el tráfico HTTPS, simplemente use el siguiente comando:

# ufw allow 443
# estado de ufw
Estado: Activo
A la acción desde
-- ------ ----
OpenSSH PERMITIR en cualquier lugar
443 PERMITIR en cualquier lugar
OpenSSH (v6) PERMITIR en cualquier lugar (v6)
443 (v6) PERMITIR en cualquier lugar (v6)

Conclusión

Ahora que tiene los conceptos básicos de UFW ordenados, puede explorar otras poderosas capacidades de firewall, comenzando por permitir y bloquear rangos de IP. Tener políticas de firewall claras y seguras mantendrá sus sistemas seguros y protegidos.

Cómo cambiar el tamaño, el color y el esquema del puntero del mouse y del cursor en Windows 10
El puntero y el cursor del mouse en Windows 10 son aspectos muy importantes del sistema operativo. Esto también se puede decir de otros sistemas opera...
Motores de juegos gratuitos y de código abierto para desarrollar juegos de Linux
Este artículo cubrirá una lista de motores de juegos de código abierto y gratuitos que se pueden usar para desarrollar juegos 2D y 3D en Linux. Existe...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider es la duodécima incorporación a la serie Tomb Raider, una franquicia de juegos de acción y aventuras creada por Eidos Montre...