Configurar firewall UFW en Ubuntu

Como Habilitar y Configurar el Firewall UFW en Ubuntu

En el post de hoy te hablare de UFW, una de las alternativas mas simples a la hora de habilitar el cortafuegos del Kernel Linux en Ubuntu y en otras distros derivadas. UFW es un pequeño script creado por los desarrolladores de Ubuntu con el fin de simplificar casi hasta el máximo extremo la gestión de Netfilter/Iptables, el cortafuegos presente en núcleo de Linux.

UFW apareció, si mal no recuerdo, en Ubuntu 8.04 (como pasa el tiempo…), y de momento, ha ido estado disponible en todas las versiones posteriores a ésta. Si a llevas algunos años con Linux, probablemente ya lo conocerás más que de sobra, pero si no, aquí tienes una guía sobre como usarlo.

En este post verás:

  1. Un poco sobre UFW
  2. Como habilitar y configurar UFW
  3. Como abrir y cerrar puertos
  4. Comprobar estado y política por defecto
  5. ¿Como se que el firewall está bloqueando los puertos?
  6. Si prefieres la interfaz gráfica, echa un ojo a GUFW
  7. Consejos para más seguridad

Porqué Debes Contar con un Firewall

Un firewall o cortafuegos es de las primeras líneas de defensa de cualquier sistema lógico que esté conectado a la red. Funciona como una barrera entre una red privada y el resto de Internet, o entre un dispositivo y el exterior.

En entornos corporativos, es algo absolutamente crucial. Cualquier empresa o red de ordenadores suele dispone de un firewall de hardware para evitar conexiones entrantes provenientes del exterior. Incluso la mayoría de routers domésticos disponen de una capa de bloqueo para aislar la red interna del resto de Internet.

Dicho esto, a nivel de dispositivo es igualmente importante disponer de un firewall de software integrado en el propio sistema operativo. Primero que no siempre vamos a estar conectados a una red segura (como la doméstica), y, en cualquier caso, siempre estarás más protegido con él. Siempre estás a tiempo de abrir un puerto determinado si tienes alguna necesidad especial.

Al igual que en Windows o macOS, en GNU/Linux, el cortafuegos es uno de los pilares sobre el que se asienta la seguridad de nuestro sistema. Esto, obviamente, no te exime de tomar otras medidas, puesto que no te va a proteger ni de malware ni de otro tipo de amenazas. Digamos que es una condición necesaria pero no suficiente.

Un Poco Sobre UFW

UFW viene ya pre-instalado en Ubuntu, y creo que también en Debian. Sin embargo, en ambos casos viene deshabilitado por defecto (supongo que lo justican al venir Ubuntu con los puertos cerrados por defcto).

Antes de pasar a la acción, conviene aclarar que el uso de UFW es puramente desde la línea de comandos, si bien como verás la sintaxis básica es muy simple e intuitiva.

NOTA: Si aun no estás muy habituado a trabajar con la línea de comandos y deseas aprender desde el principio, puedes consultar esta guía de varios artículos sobre como dar tus primeros pasos con la terminal de Linux.

Así que, sin más, veamos cuales son los principales comandos para habilitarlo, deshabilitarlo, comprobar su estado, abrir o cerrar puertos, etc.

Como Habilitar y Configurar UFW

Lo primero que puedes hacer es comprobar si UFW esta activo o no. Aunque ya te adelanto que, a no ser que lo hays modificado previamente, en Ubuntu estará deshabilitado (almenos hasta ahora siempre ha sido así). Para ello, tan solo abre la Terminal y teclea la siguiente línea:

$ sudo ufw status
Estado: inactivo

Si no lo has habilitado antes, lo más probable es que el resultado sea como el que ves ariba. Si te encuentras en ese estado, habilitar UFW por primera vez es tan sencillo como teclear en la terminal la primera línea que te muestro abajo:

$ sudo ufw enable
El cortafuegos está activo y habilitado en el arranque del sistema

Como puedes ver, con esto ya tendrás activado y habilitado el cortafuegos en el arranque del sistema. En cualquier momento puedes volver a comprobar el estado para verificar que realmente sea así:

$ sudo ufw status
Estado: activo

Fantástico. Con esto ya tenemos lo que queríamos. Sin embargo, veamos como establecer la política por defecto. En general, la mejor política de un firewall es la de denegar todas las conexiones entrantes por defecto, y a partir de ahí, y en caso de que sea estrictamente necesario, establecer las excepciones que te convengan dependiendo de cada caso.

En teoría, por defecto UFW ya debería venir con la política por defecto de denegar todas las conexiones entrantes. Sin embargo, si quieres asegurarte de que así sea, tan solo teclea:

$ sudo ufw default deny
La política incoming predeterminada cambio a <<deny>>
(asegúrese de actualizar sus reglas consecuentemente)

Y a continuación, puedes reiniciar el firewall deshabilitando y habilitando de nuevo UFW:

$ sudo ufw disable
El cortafuegos está detenido y deshabilitado en el arranque del sistema
$ sudo ufw enable
El cortafuegos está activo y habilitado en el arranque del sistema

Ahora ya tienes activado el firewall Iptables en el kernel de Linux, y configurado para denegar todo el tráfico entrante por defecto, lo que significa que desde el exterior, tu sistema operativo mantendrá todos los puertos invisibles e inaccesibles.

Como Abrir y Cerrar Puertos

Si tu PC ofrece algún servicio en el exterior, o utilizas algún servicio de compartición de archivos con dispositivos de la misma red, seguramente necesitaras mantener ciertos puertos accesibles por tal de posibilitar el servicio requerido. En este caso, y una vez conozcas que puerto o puertos necesitas tener visibles desde el exterior, para habilitar un puerto es tan sencillo como seguir la siguiente secuencia:

$ sudo ufw allow <número de puerto>

Donde deberás sustituir <número de puerto> por el puerto que deseas abrir. El comando puedes repetirlo para todos los puertos que necesites mantener abiertos. Es importante, en ese sentido, abrir solo aquellos puertos que sean estrictamente necesarios.

Si en un momento dado quieres consultar cuales son los puertos que tienes abiertos, con los comandos que tienes en el apartado Comprobar estado y política por defecto verás un listado de todas las reglas adicionales que has ido aplicando.

Si en un momento dado quieres cerrar un puerto que ya no requiere estar abierto, puedes hacerlo de un modo similar con la siguiente sentencia:

$ sudo ufw deny <número de puerto>

Comprobar Estado y Política por Defecto

Para comprobar el estado de UFW, así como el conjunto de reglas que se están aplicando,  como puertos permitidos, puedes seguir la siguiente secuencia:

$ sudo ufw status
Estado: activo

Sí además de esto, quieres que se muestre la política por defecto, puedes utilizar la siguiente variante:

$ sudo ufw status verbose
Estado: activo
Acceso: on (low)
Predeterminado: deny (entrantes), allow (salientes)
Perfiles nuevos: skip

La salida mostrara un formato similar al que ves por pantalla, donde para ver la política aplicada debes fijarte en el apartado Predeterminado. En este caso se está aplicando la política de denegar todo el tráfico entrante, pero permitir el saliente.

¿Como se que el Firewall está Bloqueando los Puertos?

Una vez habilitado UFW, es interesante comprobar desde el exterior, si realmente está actuando correctamente filtrando todos los puertos del sistema, o permitiendo solo el trafico por los puertos que se han habilitado.

Seguramente hay muchas maneras de comprobarlo, incluso puedes encontrar tests online que te indican el estado de los puertos de tu sistema con gran detalle. El problema es que en muchos casos, al ser un escaner desde fuera de tu red, el muchos casos el resultado vendrá determinado por el cortafuegos de tu router.

Una buena manera de conocer el estado de los puertos de tu sistema, sin que interfiera el router, es utilizando la herramienta Nmap desde dentro de tu red interna. En este post tienes explicado como.

GUFW: Como Utilizar UFW desde una Interfaz Gráfica

Pues si, aunque UFW es una aplicación de consola, tambien se ha desarrollado una interfaz gráfica denominada GUFW. Esta si que no viene pre-instalada en Ubuntu, pero instalarlo es tan sencillo como abrir la linea de comandos y teclear:

$ sudo apt-get install gufw

Con GUFW, puedes aplicar las mismas opciones, pero mediante una cómoda interfaz gráfica de gestión. El resultado es exactamente el mismo, ya que GUFW no deja de ser un front-end de UFW escrito en Python.

Es cierto que en sus primeras versiones la interfaz era extremadamente simplista, pero es justo mencionar que en cada version ha ido añadiendo funcionalidades y mejoras de forma contínua, por lo que si eres de los que te gusta gestionar el sistema desde la comodidad y la claridad de una buena interfaz gráfica, te recomiendo que heches un vistazo a la web oficial de proyecto (enlazada arriba).

Para más Seguridad…

Disponer de un firewall correctamente configurado para denegar todas las conexiones entrantes nos asegura disponer de una primera línea de defensa, pero hoy en día los ataques son más avanzados, ya que sin ir más lejos, cualquier Windows moderno ya viene con cortafuegos habilitado de serie, y bastante completo.

Por lo tanto, si bien es importante, es una medida de protección necesaria pero no suficiente. En GNU/Linux no estaría de más valorar si instalar un antivirus como ClamAV, o también hacer uso de Chkrootkit y Rkhunter para detectar la presencia de rootkits o procesos ocultos en tu sistema.

Además, también sería importante tratar de filtrar las conexiones salientes a nivel de aplicación, algo que ofrecen muchos firewalls modernos en Windows, y que en Linux es un poco más complicado. Eso, si acaso, lo reservo para un futuro post…

Bueno, hasta aquí habrás podido consultar las opciones más importantes para pelearte con UFW, y que siendo un usuario de Escritorio, con más probabilidad necesitarás utilizar. Ahora bien, si quieres ampliar conocimiento, te recomiendo muchísimo que consultes la guía completa de la Comunidad de Ubuntu.

Ah, y por si quieres  probar opciones diferentes, en otro post publiqué un tutorial similar sobre como configurar un firewall en Linux con el script Arno Iptables firewall, disponible también en los repositorios oficiales de Debian y Ubuntu a un simple apt-get install de distancia.

Espero que te haya parecido una guía útil e interesante, y si quieres compartir más opciones, me encantará leerte en los comentarios;)

Anuncios

Publicado por

Oriol

Soy un chico de Barcelona. Estoy aquí para compartir mis Hobbies e intentar aportar mi granito de arena a todos aquellos usuarios interesados en el mundo de la informática, internet y las tecnologías de la información en general.

14 comentarios sobre “Como Habilitar y Configurar el Firewall UFW en Ubuntu”

  1. Hola genial toda la info k das me sirvió de mucho (soy nuevo con lo de ubuntu) y la verdad k he quedado fascinado con todo lo k se aprende, gracias

    Me gusta

    1. Hola, perdona por tardar tanto en contestar.
      Por lo que se, es solo un firewall de cliente, es decir para usuario final.
      Además las opciones que ofrece de configuración son bastante reducidas. Es muy util, por ejemplo, para un Ubuntu a la hora de denegar todas las conexiones entrantes, pero no va mucho más allá.
      Para una red seguro que hay mejores opciones. Te paso este enlace por si quieres hecharle un ojo:

      http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=465

      Si no también puedes optar por un firewall de hardware.

      Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s