Cómo instalar y utilizar Uncomplicated Firewall

GuíasAplicacionesAplicaciones de seguridadLinuxSistemasTipos de aplicación

No cabe ninguna duda de que Linux una de las plataformas más seguras del mercado. Cada una de las distribuciones de la compañía no hace más que dejar en evidencia su alto nivel de seguridad en contraste con otros sistemas operativos populares tales como Windows o macOS. Sin embargo, esto no implica que como usuario de Linux puedas ignorar por completo la protección de tus datos personales ante la potencial llegada de intrusos, por lo cual se recomienda siempre hacer uso de un firewall.

Qué es un Firewall

En resumidas cuentas, un firewall es un subsistema capaz de bloquear el tráfico de redes específicas y prevenir su acceso a nuestro ordenador. Los firewalls pueden ser creados y configurados para funcionar ya sea de manera altamente restringida, o bien de forma un tanto más permisiva. Estas configuraciones determinarán el nivel de permisos para la salida y entrada de datos desde el ordenador y hacia el ordenador. Los firewalls se presentan en dos diferentes formatos:

  • Fireall Hardware: Dispositivos físicos que cumplirán con el propósito de proteger un ordenador y todos aquellos ordenadores conectados a su red.
  • Firewall Software: Subsistemas instalador en ordenadores individuales capaces de proteger exclusivamente al dispositivo anfitrión.

La protección de la mayoría de redes caseras depende de una combinación de ambos formatos, tanto hardware como software. La solución en formato hardware por lo general se limita a módems y routers, dispositivos que por norma general están configurados de un modo muy restrictivo, bloqueando el tráfico de muchos puertos. Los dispositivos caseros de este tipo suelen ser entregados por los diferentes ISP. Si hablamos de empresas privadas o granjas de servidores, son necesarios equipos bastante avanzados para bloquear los diferentes ataques, como pueden ser los DDoS (Distributed Denial of Service). Mientras que los dispositivos caseros son muy económicos, aquellos de empresas privadas o empresas de hosting son bastante caros.

Por otra parte, a la hora de hablar de soluciones ligadas a software, estamos hablando de la protección que el propio sistema operativo nos ofrece, tanto con los paquetes incluidos por defecto como con aquellas aplicaciones que podemos instalar. Un ejemplo de este tipo de software, el cual puede ser instalado y utilizado en muchas distribuciones de Linux (como ser Ubuntu y sus derivados), es el famoso Uncomplicated Firewall (UFW). Uncomplicated Firewall sirve para administrar los permisos y el acceso a los puertos del tráfico de rede de un modo sencilla. Se trata una herramienta basada en línea de comandos, capaz de proteger ordenadores Linux de un modo muy notable.

Cómo instalar Uncomplicated Firewall

Tanto en Ubuntu, como también en otras tantas distribuciones de Linux, el software UWF se encuentra instalado por defecto. Para comprobar si el software se encuentra instalado en tu ordenador, simplemente abre la terminal e introduce el siguiente comando:

sudo ufw status

En esta captura de pantalla puedes ver el resultado del comando:

como-instalar-utilizar-firewall-linux 2

Es probable que este comando genere un pequeño mensaje indicando que UFW se encuentra en modo inactivo. Por otra parte, y en caso de que UFW no se encuentre instalado en el sistema, introduce el siguiente comando para efectuar su instalación:

sudo apt-get install ufw –y

Este comando instalará la aplicación en tu distribución Linux.

Cómo activar Uncomplicated Firewall

Debido a que UFW se encontrará en modo inactivo por defecto tras su instalación, tendremos que activarlo haciendo uso del siguiente comando:

sudo ufw enable

En esta captura de pantalla puedes ver el resultado del comando:

como-instalar-utilizar-firewall-linux 3

Al comprobar el estado del firewall de nuevo, observarás que UFW se encuentra activado.

Reglas predeterminadas de Uncomplicated Firewall

La mayoría de usuarios no tendrán que preocuparse demasiado por las políticas predeterminadas de UFW. Sin embargo, siempre es recomendable al menos entender sus aspectos fundamentales.

como-instalar-utilizar-firewall-linux 4

Una política predeterminada del firewall es un conjunto de reglas encargadas establecidas para controlar el tráfico de entrada y salida en un sistema. Existen cuatro tipos de políticas predeterminadas:

  • INPUT: Tráfico de entrada al servidor u ordenador
  • OUTPUT: Tráfico de salida del servidor u ordenador
  • FORWARD: Tráfico redirigido desde un destino hacia otro.
  • APPLICATION POLICY: Tráfico definido por una aplicación, no por el puerto de red.

Para la mayoría de usuarios, las políticas INPUT y OUTPUT serán lo único por lo que tendrán que preocuparse.

Las políticas predeterminadas de UFW se encuentran configuradas dentro del archivo /etc/default/ufw. Introduce el siguiente comando para abrirlo:

sudo nano /etc/default/ufw

Debes fijarte en estas líneas, referentes a las políticas predeterminadas que hemos visto:

DEFAULT_INPUT_POLICY="DROP"
DEFAULT_OUTPUT_POLICY="ACCEPT"
​DEFAULT_FORWARD_POLICY="DROP"
​DEFAULT_APPLICATION_POLICY="SKIP"

Ten en cuenta que cada una de las políticas indicadas más arriba puede ser modificada:

  • Las políticas INPUT, OUTPUT, y FORWARD pueden ser configuradas para aceptar (ACCEPT), denegar (REJECT), o denegar (DROP) conexiones.
  • La política APPLICATION puede ser configurada para aceptar (ACCEPT), denegar (REJECT), denegar (DROP), o simplemente ignorar (SKIP) conexiones.

Las diferencias entre ACCEPT, DROP y REJECT son las siguientes :

  • ACCEPT: Permite el tráfico a través del firewall, aceptando cualquier conexión.
  • REJECT: Impide el tráfico a través del firewall, enviando un mensaje ICMP de destino inalcanzable a la máquina o servicio que intenta conectarse.
  • DROP: Prohíbe el tránsito de paquetes de red a través del firewall. A diferencia del caso anterior, no se envía ninguna respuesta.

Podrás ajustar las políticas predeterminadas de acuerdo a tus necesidades personales. En caso de modificar las políticas establecidas archivo de configuración, debes recargar nuevamente las reglas de UFW para que se apliquen. Puedes hacerlo con el siguiente comando:

sudo ufw reload

Permitir el tráfico de entrada en UFW

Supongamos que quieres permitir la conexión ssh desde otro ordenador a tu ordenador, y que además te quieres asegurar de hacer esto de forma segura, impidiendo el acceso desde otros servidores u ordenadores. Puedes hacer esto configurando UFW para permitir el tráfico entrante en el puerto SSH estándar, que es el puerto 22. Primero, vamos a habilitar el acceso mediante SSH con este comando:

sudo ufw allow ssh

Tendrás que introducir tu contraseña. Esta es una posible salida del comando:

como-instalar-utilizar-firewall-linux 5

Este comando dará permisos para que cualquier dispositivo de tu red o de fuera de tu red)pueda acceder a tu ordenador a través del puerto 22. Ahora bien, si nuestro objetivo es el de restringir los permisos de acceso a máquinas específicas de tu red, tendremos que ser algo restrictivos. A modo de ejemplo, vamos a permitir el acceso únicamente desde la IP 192.168.1.162. El comando necesario para hacerlo es el siguiente:

sudo ufw allow from 192.168.1.162 to any port 22

Abre de nuevo las reglas del firewall para ver el resultado:

sudo ufc status

Como ves, ahora la regla se restringe a la IP que hemos definido:

como-instalar-utilizar-firewall-linux 6

La acción ALLOW indica que se permite el acceso desde la IP establecida en FROM. Si La sección to any port llevará a UFW a habilitar el tráfico a través del puerto especificado. En el ejemplo de más arriba, el único ordenador de la red que será habilitado para acceder a tu ordenador será aquel que cuente con la dirección de IP 192.168.1.162. Ten mucho cuidado al establecer este tipo de reglas en un servidor, pues podrías quedarte sin acceso si te equivocas de IP.

También puedes optar por denegar el tráfico a una interfaz de red específica. Por ejemplo, supongamos que tu ordenador cuenta con dos interfaces de red diferentes :

  • Interna: Interfaz de red ens5 con el esquema de dirección de IP 192.168.1.x.
  • Externa: Interfaz de red enp0s3 con el esquema de dirección de IP 172.217.1.x.

En caso que desees preservar el tráfico de entrada de 192.168.1.162, y a su vez denegar el tráfico de entrada proveniente de interfaces externas, el comando para ello sería el siguiente:

sudo ufw deny in on enp0s3 to any port ssh

Ahora comprueba el estado del firewall de nuevo para ver los cambios:

sudo ufw status

De este modo podrás comprobar si el tráfico ssh proveniente 192.168.1.162 aún se encuentra habilitado y si el tráfico de interfaces externas ha sido deshabilitado.

Cómo eliminar reglas de Uncomplicated Firewall

En caso de que por alguna determinada razón hayas creado reglas que estén dando lugar a problemas en aplicaciones o en ordenadores de tu red, también podrás eliminarlas. Lo primero que deberás hacer ser consultar el estado de UFC para obtener una lista de las reglas ordenadas de forma numérica. Para ello, introduce el siguiente comando:

sudo ufw status numbered

Esta es una posible salida del comando:

como-instalar-utilizar-firewall-linux 7

Si lo que quieres es quieres eliminar la regla número 3: «22/tcp on ens5 ALLOW IN Anywhere». Para eliminarla de UFC, introduce el siguiente comando:

sudo ufw delete 3

Tras introducir este comando, la aplicación del Firewall te pedirá que confirmes la eliminación de la regla seleccionada. Introduce la letra Y y pulsa la tecla Enter para confirmar la eliminación. Para terminar, introduce el siguiente comando para comprobar si la regla seleccionada ha sido eliminada satisfactoriamente.

sudo ufw status

Cómo desactivar Uncomplicated Firewall

En ocasiones quizás prefieras desactivar por completo el Firewall para realizar algún tipo de tarea que lo requiera en tu sistema operativo. También podría ser por alguna emergencia del algún tipo. Si quieras desactivar Uncomplicated Firewall, ya sea permanentemente (no recomendado) o temporalmente, consulta la siguiente guía:

Y esto ha sido todo.