Muy buenas lector. En este post te introduciré a Portmaster, una interesante aplicación libre y de código abierto, con la que podrás realizar una potente gestión de cortafuegos, pero desde una interfaz gráfica extremadamente senzilla e intuitiva.
En este post te explicare, en primer lugar, como funciona Portmaster, y las principales características que lo hacen destacar con respecto a las aplicaciones de gestión de cortafuegos más tradicionales. Visto esto, pasaremos a la parte práctica, y te contaré como puedes utilizarlo para sacarle el máximo provecho.
Tabla de contenidos:
- ¿Qué es y cómo funciona Portmaster?
- Como instalar y habilitar Portmaster en GNU/Linux
- Guia completa de uso
¿Que es y Cómo Funciona Portmaster
Portmaster es una herramienta de cortafuegos a nivel de aplicación, que entra dentro de lo que comúnmente se conoce como un WAF, o Web Application Firewall. Se trata de un proyecto de software libre desarrollada y distribuido por la compañía Safing, y que por ahora está disponible tanto para GNU/Linux como para Windows.
En una herramienta de gestión de cortafuegos tradicional, como las que suelen venir por defecto en el propio sistema operativo, normalmente te limitas a establecer que todas las conexiones entrantes estén denegadas (salvo excepciones en algunos casos), y se permiten, por lo general, todas las conexiones salientes, sin discriminar entre aplicaciones.
Obviamente puedes definir reglas, tanto para las conexiones entrantes como para las salientes.
- En el caso de Windows, lo puedes hacer con la propia herramienta gráfica de gestión de cortafuegos que viene de forma nativa, y que es realmente potente.
- En GNU/Linux existen diferentes herramientas para gestionar netfilter/iptables de forma más o menos sencilla, como UFW en el caso de Ubuntu y sus derivados, o Firewalld en el caso de Fedora.
En ambos casos, sin embargo, esto es algo que hay que realizar previamente mediante la escritura de reglas, y el proceso puede resultar algo tedioso. Los WAF van más allá, y posibilitan realizar un control a tiempo real directamente en la capa de aplicación.
En Windows disponemos de varias soluciones a ese respecto, entre las que Glasswire suele ser uno de los actores mas conocidos. Ahora, con la llegada de Portmaster, en GNU/Linux también tendrás a tu disposición una interesante alternativa, y de código abierto.
Portmaster viene con una completa interfaz gráfica, desde la que podrás disfrutar de una visión completa y a tiempo real de todas las conexiones salientes que se estan estableciendo desde tu equipo por aplicación cada una de las aplicaciones, pudiendo bloquear de forma proactiva cualquier conexión considerada sospechosa, y evitando que pueda volver a tener lugar en un futuro.
Esto es muy interesante, puesto que, aunque mediante una utilidad de cortafuegos tradicional, puedes establecer una regla de bloqueo para todas las conexiones entrantes al equipo, muchas veces las propias aplicaciones se conectan a dominios en segundo plano sin que el usuario tenga ninguna constancia de ello, y el hecho de poder bloquarlas de forma selectiva, supone un gran salto cualitativo en cuanto a seguridad.
Como Funciona Portmaster
Portmaster consta de dos partes fundamentales, y que trabajan en conjunto: Portmaster Core Service, el servicio que corre en segundo plano y que constituye el backend de la aplicación, y Portmaster UI, la interfaz gráfica de usuario.
Portmaster Core Service constituye el backend de la aplicación, y es donde se integra todos los elementos que constituyen el core de la aplicación, y las funcionalidades clave como el filtrado de conexiones, la herramienta de gestión de DNS segura, etc.
Para su correcto funcionamiento, Portmaster Core Services debe tener una conexión directa con el kernel del sistema operativo. En el caso de GNU/Linux opera a nivel del cortafuegos del kernel Netfilter. Concretamente, utiliza NFQueue, una acción de iptables que permite delegar la decisión sobre que hacer con un determinado paquete. De esta manera, Portmaster acepta todos los paquetes, pero marca la conexión para poder ser aceptada o bloqueada a posteriori, momento en el cual Portmaster injecta las reglas correspondientes a nivel de NFQueue.
Portmaster UI es la interfaz gráfica que te permite interactuar con Portmaster Core Services. Portmaster UI ofrece una vision de toda la actividad de red que está teniendo lugar en el equipo en tiempo real, y te permite tomar accciones, como bloquear una determinado dominio que consideres sospechoso.
Portmaster UI no es necesario que lo tengas siempre abierto, solo cuando necesites utilizaro. Portmaster Core Services funciona en segundo plano, independiente de que tengas Portmaster UI abierto o no.
Características Principales
A continuación te resumo las principales características que me han parecido más interesantes de Portmaster:
- Monitorización de todas las conexiones estabecidas en tu equipo. La escucha permanente que realiza Portmaster te permite disponer de una visión holística de todas las conexione que están teniendo lugar en tu equipo, permitiendo conocer tanto la aplicación que realiza esta conexión, como el dominio al que se conecta.
- Bloqueo por defecto de anuncios, rastradores y malware. Portmaster está configurado para bloquear por defecto todas las conexiones salientes hacía dominio sospechosos de distribuir malware o de aplicar técnicas de rastreo. En este sentido, realiza una función similar a extensiones como uBlock Origin en el navegador, solo que en este caso, gracias a actuar en la capa de red, extendido a todas las aplicaciones.
- Bloqueo selectivo de cualquier conexión a voluntad del usuario. Además de esto, también te deja la libertad a tí de bloquear cualquier conexión a un dominio que consideres sospechoso, o que simplemente no desees que tenga lugar, pudiendo incluso bloquear todas las conexiones establecidas por una aplicación en concreto.
- DNS sobre TLS. Adicionalmente, Portmaster te ofrece la posibilidad de habilitar DNS-over-TLS, una opción que ofrecen muchos navegadores a día de hoy, pero que en este caso, al ser a nivel de red, funcionará para todas las conexiones.
Como Instalar y Habilitar Portmaster en GNU/Linux
Para instalar Postmaster, la única forma que hay es descargarte el fichero .deb o .rpm que encontrarás en la misma web oficial que te dejo a continuación, y ejecutarlo manuelmante. En el caso de Ubuntu o cualquier otro deribado de Debian, tan solo debes descargarte el .deb y al ejecutarlo con doble click, lo mas probabe es que se abra directamente el centro de software y lo puedas instalar directamente desde ahí.
Una vez instalado, ya deberás poder localizar el icono en el menú de Actividades de GNOME. Al ejecutaro por primera vez, se te abrirá una ventana con la interfaz gráfica de Portmaster, pero te indicará que Portmaster Core Service no está activo.
Aunque puedes activarlo desde aquí, te recomiendo que reinicies el equipo antes de continuar, ya que será la manera con la que podrás comprobar que el servicio ya arrranca automaticamente con el siguiente inicio de sistema. Hecho esto, la próxima vez que inicies la aplicación Portmaster, ya no te debería salir el mensaje de que necesitas arrancar Portmaster Core Service.
También puedes comprobar si el servicio está activo utilizando systemctl. Para ello, tan solo debes ejecutar el siguiente comando desde la consola:
sudo systemctl status portmaster
Si está activo, que es como debería estar si has hecho un reinicio tras la isntalación, deberías observar un output como el que te muestro en la imagen de debajo.

Hecho esto, ya puedes volver a ejecutar Portmaster desde elpropio acceso directo del menú de aplicaciones.
Guía Completa de Uso
En el primer inicio de la aplicación, se te mostrará una ventana como la que te muestro en la imagen de debajo, en la que puedes pasar por un pequeño setup de configuración inicial.

Aquí podrás establecer de entrada los ajustes que te muestro a continuación, pero en cualquier caso, se trata de preferencias que puedes cambiar en cualquier momento luego desde la ventana de configuración de la propia aplicación, por lo que por ahora puedes dejar tranquilamente los ajustes por defecto.
- Trackers are blocked system-wide. En esta ventana basicamente te indica que Portmaster viene configurado por defecto para bloquear hosts conocidos para realizar tracking y distribuir malware. Para ello, utiliza listas de dominios conocidas, y utilizadas por también por muchos bloqueadores de publicidad a nivel de navegador web. Puedes dejar las opciones por defecto, o añadir opciones adicionales mediante el desplegable, pero de entrada te recomiendo dejarlo todo por defecto.
- Secure DNS for all connections. Aquí nos indica que Portmaster esta configurado para utilizar DNS-over-TLS para el cifrado de las consultas DNS. Esto es algo que también puedes configurar en el navegador web, pero que Portmaster ya lo aplica a nivel de red, y por lo tanto lo hace extensible al conjunto del sistema. El proveedor seleccionado por defecto por Portmaster es Cloudflare, pero puedes elegir otras opciones desde el desplegable.
Visión de Actividad de Red
Una vez pasado este primer setup, ya podrás operar con Portmaster UI con normalidad. La interfaz consta de un menú lateral a la izquierda desde donde podrás navegar por las diferentes ventanas, un segundo menú con el listado de todas las aplicaciones con conexiones activas en este momento, y área principal, que es donde se muestra el contenido, y que variando en función de la ventana en la que te encuentras.
En la ventana inicial tienes un gráfico con el tráfico permitdo y bloqueado, y una lista debajo de todas las conexiones que están teniendo lugar en este momento desde cualquier aplicación de tu sistema. En la parte superior, además, tienens varios filtros, por si quieres acotar la visión.

En cada registro podrás ver la aplicación que ha generado la conexión, el dominio al que se ha intentado conectar, y también se se ha permitiro (en verde) o denegado (en rojo) la conexión. Por defecto unicamente se bloquean los dominios d epublicidad, rastreo, o sospechosos de distribuir malware.
Probablemente, lo más normal es que la mayoría de conexiones se establezcan por parte del navegador web, pero como verás, hay muchas otras aplicaciones o servicios del sistema operativo que también se conectan a dominios externos.
Visión de Aplicaciones
Si te interesa tener una visión más acotada, puedes dirigirte a ventan de aplicaciónes, que esta justo debajo en el menú lateral de la izquierda. Ahí podrás ver una agrupación en cajas de todas las aplicaciones que se están conectando a dominios externoso en este momento, y también de las aplicaciones que hayan realizado conexiones en cualquier otro momento.

Esta ventana me parece algo redundante, en el sentido de que ya tienes un listado de las aplicaciones en el segundo menú lateral izquierdo. La unica diferencia es que aquí podrás ver también apliciones que ahora estén inactivas, pero que hayan realizado conexiones en algún otro momento.
Lo interesante viene al seleccionar una aplicación concreta, como por ejemplo Firefox, ya que tendrás una visión de toda la actividad de red parecida a la de la ventana inicial, pero acotada para esta aplicación en concreto. Además

El listado de conexiones podrás ver los diferentes dominios a los que se va conectando Firefox a medida que vas navegando, y podrás comprobar como, además de conectarse al dominio dela pagina que estás visitando, también establece conexiones con muchos otros dominios.
Esto es algo normal, ya que cualquier página web, a poco que tenga alguna herramienta de analitica, librerias externas, y publicidad, cargará conexiones con dominios externos. Esto por no hablar de la propia telemetria que realiza el navegador web, y muchas otras aplicaciones.
Bloqueo Selectivo de Conexiones
Portmaster, como ya he mendionado varias veces, ya realiza un bloqueo por defecto de muchas conexiones. Esto lo podrás comprobar fácilmente a poco que analizes el listado de conexiones que se establecen desde cualquier aplicación. De todas maneras, desde esta ventana tienes la posibilidad de bloquear todas las conexiones de unaa aplicación en concreto, o realizar un bloqueo más selectivo.

En la parte superior de la ventana de aplicación, tienes un selector que basicamente te permitirá bloquear cualquier intento de conexión realizado desde esta aplicación. Esto no tendría mucho sentido en el caso Firefox, puesto que es un navegador web, pero si que puede tener más sentido, por ejemplo, en el caso de un reproductor de vídeo o un editor de texto.
Si quieres realizar un bloqueo más selectivo, analizando el listado de conexiones puedes bloquear cualquier dominio que tu mismo consideres sospechosos, o que simplemente no desees establecer una conexión con él.