Cómo instalar y configurar un FireWall en Debian y Ubuntu

Dado que las computadoras están conectadas entre sí, los servicios están creciendo rápidamente. El correo electrónico, las redes sociales, la tienda en línea, el chat hasta las conferencias web son servicios que utiliza el usuario. Pero, por otro lado, a esta conectividad solo le gusta un cuchillo de doble cara. También es posible enviar mensajes erróneos a esas computadoras como virus, malware, aplicaciones de troyanos son una de ellas.

Internet, como la red informática más grande, no siempre está llena de buenas personas. Para asegurarnos de que nuestras computadoras / servidores sean seguros, debemos protegerlo.

Uno de los componentes imprescindibles en su computadora / servidores es Firewall. De Wikipedia, una definición es:

En informática, un cortafuegos (del término original en inglés firewall) es la parte de un sistema informático o una red informática que está diseñada para bloquear el acceso no autorizado, permitiendo al mismo tiempo comunicaciones autorizadas.

Wikipedia

Iptables es uno de los cortafuegos más utilizados por los servidores. Es un programa utilizado para administrar el tráfico entrante y saliente en el servidor basado en un conjunto de reglas. En general, solo se permite la conexión de confianza al servidor. Pero IPTables se ejecuta en modo consola y es complicado.

Instalar UFW en Debian/Ubuntu

Para reducir la complejidad de cómo configurar IPTables, hay muchos frentes. Si está ejecutando Ubuntu Linux, encontrará UFW como herramienta de firewall predeterminada. Comencemos a explorar sobre UFW.

Que es UFW

El UFW (cortafuegos no complicado) es una interfaz para el cortafuegos iptables más utilizado y es muy cómodo para los cortafuegos basados en host. UFW proporciona un marco para administrar netfilter, así como también proporciona una interfaz de línea de comandos para controlar el firewall. Proporciona una interfaz fácil de usar y fácil de usar para los novatos de Linux que no están muy familiarizados con los conceptos de firewall. Mientras que, por otro lado, los mismos comandos complicados ayudan a los administradores a establecer reglas complicadas utilizando la interfaz de línea de comandos. El UFW es un flujo ascendente para otras distribuciones como Debian, Ubuntu y Linux Mint.

Primero, verifique si UFW está instalado usando el siguiente comando.

sudo dpkg --get-selections | grep ufw

Si UFW no está instalado, no obtendremos resultados (excepto que tengamos instalada alguna otra aplicación cuyo nombre contenga la secuencia de caracteres «ufw») pero si está instalado veremos una salida como esta:

ufw 		install

Si no está instalado, puede instalarlo usando el comando apt como se muestra a continuación.

sudo apt-get install ufw

Antes de usar, debe verificar si ufw se está ejecutando o no. Use el siguiente comando para verificarlo.

sudo ufw status

Si encontró Estado: inactivo, significa que no está activo o deshabilitado continua leyendo para saber cómo habilitarlo.

Habilitar UFW

Para habilitarlo, solo necesita escribir el siguiente comando en la terminal.

sudo ufw enable

Obtendremos la siguiente salida:

Firewall is active and enabled on system startup

Para deshabilitarlo, simplemente escriba.

sudo ufw disable

Listar las reglas actuales de ufw

Después de activar el firewall, puede agregar sus reglas. Si desea ver cuáles son las reglas predeterminadas, puede escribir.

sudo ufw status verbose

Obtendremos una salida como la siguiente, dependiendo siempre de las reglas que tengamos configuradas:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

Agregar reglas ufw

Como puede ver, de forma predeterminada se deniegan todas las conexiones entrantes. Si desea controlar su máquina de forma remota, debe permitir el puerto adecuado. Por ejemplo, desea permitir la conexión ssh. Aquí está el comando para permitirlo.

sudo ufw allow ssh

Si vuelve a comprobar el estado, verá una salida como esta.

sudo ufw status
To 		Action 			From
-- 		----------- 		------
22 		ALLOW 			Anywhere
22 		ALLOW 			Anywhere (v6)

Si tiene muchas reglas y desea poner números en cada regla sobre la marcha, use el parámetro numerado.

sudo ufw status numbered
To 		Action 			From
------ 		----------- 		------
[1] 22 		ALLOW 			Anywhere
[2] 22 		ALLOW 			Anywhere (v6)

La primera regla dice que la conexión entrante al puerto 22 desde cualquier lugar, los paquetes tcp o udp están permitidos. ¿Qué sucede si solo desea permitir el paquete tcp? Luego puede agregar el parámetro tcp después del número de puerto. Aquí hay un ejemplo con salida de muestra.

Denegar el acceso con UFW

Los mismos trucos se aplican a la regla Negar. Digamos que quieres negar la regla ftp. Entonces solo tienes que escribir.

sudo ufw deny ftp

Agregar puerto específico

A veces tenemos un puerto personalizado que no sigue ningún estándar. Digamos que cambiamos el puerto ssh en nuestra máquina de 22 a 2290. Luego, para permitir el puerto 2290, podemos agregarlo de esta manera.

sudo ufw allow
To 		Action 			From
-- 		----------- 		------
2290 		ALLOW 			Anywhere
2290 		ALLOW 			Anywhere (v6)

También es posible que agregue el rango de puertos a la regla. Si queremos abrir el puerto del 2290 al 2300 con el protocolo tcp, entonces el comando será así.

sudo ufw allow 2290:2300/tcp

Mientras que si quieres usar udp, solo usa el siguiente comando.

sudo ufw allow 2290:2300/udp

Recuerde que debe poner «tcp» o «udp» explícitamente; de ​​lo contrario, recibirá un mensaje de error similar al siguiente.

Agregar IP específica

Anteriormente hemos agregado reglas basadas en el servicio o el puerto. Ufw también le permite agregar reglas basadas en la dirección IP. Aquí está el comando de muestra.

sudo ufw allow from 192.168.0.104

También puede usar una máscara de subred para ampliar el rango.

sudo ufw allow form 192.168.0.0/24
To 		Action 			From
-- 		----------- 		------
Anywhere	ALLOW 			192.168.0.104
Anywhere	ALLOW 			192.168.0.0/24

Como puede ver, el parámetro from solo limitará la fuente de conexión. Mientras que el destino, que está representado por la columna Para, es Cualquier lugar. También puede administrar el destino utilizando el parámetro ‘A‘. Veamos la muestra para permitir el acceso al puerto 22 (ssh).

sudo ufw allow to any port 22

El comando anterior permitirá el acceso desde cualquier lugar y desde cualquier protocolo al puerto 22.

Parámetros combinados

Para reglas más específicas, también puede combinar dirección IP, protocolo y puerto. Supongamos que queremos crear una regla que limite la conexión solo desde IP 192.168.0.104, solo el protocolo tcp y el puerto 22. Luego, el comando será el siguiente.

sudo ufw permite desde 192.168.0.104 proto tcp a cualquier puerto 22

La sintaxis para crear la regla de rechazo es similar a la regla de permiso. Solo necesita cambiar el parámetro de permitir para denegar.

Eliminar reglas

En algún momento puede que necesite eliminar su regla existente. Una vez más con ufw es fácil eliminar reglas. De la muestra anterior, tiene una regla a continuación y desea eliminarla.

To 		Action 			From
-- 		----------- 		------
22/tcp		ALLOW 			192.168.0.104
21/tcp		ALLOW 			Anywhere
21/tcp 		ALLOW 			Anywhere (v6)

Hay dos métodos para eliminar reglas.

sudo ufw delete allow ftp

Pero cuando trató de eliminar la primera regla en el ejemplo anterior con el siguiente comando.

sudo ufw delete allow ssh
sudo ufw delete allow 22/tcp

Puede encontrar un mensaje de error como.

Could not delete non-existent rule
Could not delete non-existent rule (v6)

Entonces puedes hacer este truco. Como mencionamos anteriormente, puede mostrar el número de reglas para indicar qué regla queremos eliminar. Deja que te lo enseñemos.

sudo ufw status numbered
To 		Action 			From
-- 		----------- 		------
[1] 22/tcp		ALLOW 			192.168.0.104
[2] 21/tcp		ALLOW 			Anywhere
[3] 21/tcp 		ALLOW 			Anywhere (v6)

Luego puede eliminar la primera regla usando. Presione «y» eliminará permanentemente la regla.

sudo ufw delete 1
Deleting :
Allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y

De esos métodos verás la diferencia. El método 2 solicitará la confirmación del usuario antes de eliminar la regla, mientras que el método 1 no lo es.

Cómo restablecer reglas

En alguna situación, es posible que desee eliminar / restablecer todas las reglas. Puedes hacerlo escribiendo.

sudo ufw reset

Obtendremos por consola la salida que nos solicitará confirmar la acción, pulsamos Y para confirmar o N para cancelar.

Conclusión

UFW como interfaz para iptables seguramente hace una interfaz fácil para el usuario. El usuario no necesita recordar la sintaxis complicada de iptables. UFW también usa ‘inglés simple‘ como parámetro. Permitir, denegar, restablecer son uno de ellos. Creo que hay muchos más iptables front-end por ahí. Pero definitivamente ufw es una de las mejores alternativas para los usuarios que desean configurar su firewall de manera rápida, fácil y, por supuesto, segura. Visite la página del manual de ufw escribiendo man ufw para obtener más detalles.