A Linux killswitch is a must for any serious Linux VPN user. It guards your data against leaking to the internet by preventing anyone from accessing your data even if disconnected from the VPN. It also ensures that all information remains confidential regardless of what happens in between.
Para un ciberdelincuente, un interruptor de seguridad es una pesadilla. Es un obstáculo significativo que se interpone entre ellos y su objetivo. Si la conexión a tu VPN se interrumpe por un segundo debido a que tu computadora o teléfono se congela, se apaga o cortas accidentalmente el cable, siempre y cuando tengas activado un interruptor de seguridad, ninguno de esos datos puede ser accedido por nadie.
Requisitos previos
Para seguir, necesitarás:
- El archivo de configuración para conectarte a tu proveedor de VPN. Este artículo utiliza NordVPN como proveedor de VPN.
- A Ubuntu device with the OpenVPN client. The examples will use Ubuntu 20.04 and OpenVPN 2.5.3.
Instalando el Firewall no Complicado (UFW)
En este tutorial, el killswitch de Linux depende de la configuración del firewall. Primero, comienza instalando el Firewall no Complicado (UFW) en tu dispositivo y configurando el firewall para que actúe como interruptor de seguridad.
Antes de comenzar, asegúrate de que tu distribución de Linux esté actualizada, o tu firewall UFW podría no funcionar como se espera. Por ejemplo, el UFW podría no cargar la configuración al inicio o una regla añadida/eliminada no se cargará.
1. Ejecuta sudo apt install ufw -y
para instalar el firewall.
El firewall UFW viene instalado por defecto en la mayoría de las distribuciones de Ubuntu, por lo que es posible que ya lo tengas instalado.
2. Inicia el servicio de UFW con sudo systemctl start ufw
.
3. Verifique si la instalación de UFW fue exitosa. Ejecute el comando sudo systemctl status ufw
, y si es exitoso, la salida mostrará ctive (exited) en verde como se muestra a continuación.

4. Inicie UFW con el comando sudo ufw enable
. Presione Y y luego Enter cuando se le pregunte si desea Continuar con la operación (y|n)?

Permitir Protocolos de Acceso Remoto
Ahora que el firewall está instalado, debe configurar UFW para permitir cualquier protocolo que desee usar con la VPN.
Comience asegurándose de que no quede bloqueado fuera de su cliente: es posible que necesite iniciar sesión a través de SSH si algo sale mal con su conexión OpenVPN. Si la conexión se cae y no puede iniciar sesión a través de SSH, deberá acceder físicamente al dispositivo para volver a conectarse.
1. Permita las conexiones SSH con el comando sudo ufw allow ssh
. El firewall UFW lee los puertos y el protocolo en el archivo /etc/services y abre los puertos en consecuencia. Puede verificar la salida del comando a continuación.

Se recomienda encarecidamente agregar una capa adicional de seguridad requiriendo que sus usuarios se autentiquen con una clave SSH al conectarse a través de OpenVPN. Este procedimiento protegerá contra ataques de fuerza bruta y conexiones no autorizadas.
2. A continuación, deberá agregar reglas para permitir el protocolo VNC al permitir el tráfico en los puertos correspondientes.
En cuanto al protocolo VNC, es opcional. VNC permite acceso remoto, similar a SSH. VNC proporciona una consola gráfica, mientras que SSH solo permite una consola de texto. Permite el tráfico VNC con el comando sudo ufw allow 5901:5910/tcp
.
Estos comandos darán una salida como la siguiente.

3. Una vez que se añaden tus reglas, asegúrate de que se apliquen correctamente. El comando sudo ufw show added
listará todas las reglas añadidas, como puedes ver a continuación.

Configurando el Interruptor de Corte de la VPN
En esta sección, aprenderás cómo configurar el interruptor de corte real usando el firewall UFW. Para empezar, ejecuta los siguientes dos comandos.
sudo ufw default deny outgoing
sudo ufw default deny incoming
El comando ufw default deny
bloquea todo el tráfico saliente/entrante hacia/desde tu máquina, excepto la conexión SSH explícitamente permitida y los protocolos remotos que configuraste en las secciones anteriores. Puedes ver el resultado de los comandos en la captura de pantalla a continuación.

A continuación, añade una excepción al conjunto de reglas UFW para que tu máquina pueda conectarse al servidor VPN: necesitarás tu archivo de configuración del servidor VPN. En este tutorial, el archivo de OpenVPN se llama, ata.ovpn y se descarga desde el sitio de NordVPN.
El nombre de tu archivo de configuración de OpenVPN puede ser diferente. Este tutorial utiliza la convención de nombres “ata”, ¡pero siéntete libre de nombrarlo como consideres apropiado!
A continuación, revisa el archivo de configuración de OpenVPN ata.ovpn con el comando sudo head /etc/ata.ovpn
. La salida resultante incluye información como el puerto, el protocolo y la dirección IP del servidor VPN al que te conectas, con NordVPN mostrado como ejemplo a continuación.
Para elaborar el comando UFW correcto, toma nota del puerto, protocolo y la información de la dirección IP pública extraída del archivo de configuración.

A continuación, crea el comando ufw allow out
de la siguiente manera: sudo ufw allow out to 69.28.83.134 port 1194 proto udp
. Como se puede observar, la dirección IP y el puerto utilizados provienen de la línea de configuración que comienza con remote
y el protocolo de la línea que comienza con proto
.
Este ejemplo utiliza NordVPN como proveedor de VPN. Para NordVPN, el puerto UDP 1194 debe estar abierto. Si, por ejemplo, utilizas Express VPN, el puerto UDP 1195 debe estar abierto, no el puerto 1194. Cada proveedor de VPN puede tener puertos UDP únicos.
Creando una Excepción en el Firewall para OpenVPN
Por supuesto, para una usabilidad adecuada, debes permitir OpenVPN a través del firewall. Hasta este punto, has bloqueado todo el tráfico entrante y saliente, con la excepción de algunos puertos.
Para empezar, debes encontrar el nombre de la interfaz de red que utiliza el cliente OpenVPN. Ejecuta el comando ifconfig
para listar todos los nombres de interfaz de red configurados, como se muestra a continuación.

Observa la interfaz de red con el nombre tun0 en la lista resultante. La interfaz tun0 es la interfaz VPN a través de la cual se enruta todo el tráfico entrante y saliente y la interfaz que debes permitir. Es una interfaz virtual añadida durante el arranque, lo que significa simplemente que no es una conexión física. Esta interfaz es la predeterminada en OpenVPN.
Añade una excepción de firewall para la interfaz de túnel VPN que encontraste con ifconfig
para forzar todo el tráfico a través de ella. De lo contrario, no habrá acceso a Internet y tu interruptor de seguridad fallará. Ejecuta el siguiente comando para añadir una excepción para el tráfico de OpenVPN en la interfaz tun0
.

Algunas aplicaciones, como acceder a una aplicación de chat de voz mientras juegas, requieren conexiones entrantes a través de la VPN. Para permitir conexiones entrantes, ejecuta el siguiente comando:

Configuración del Cliente OpenVPN
En esta sección final, configurarás el cliente OpenVPN para que se ejecute como un servicio utilizando la configuración que creaste previamente.
Comience por cambiar el nombre de su archivo ata.opvn a **(su nombre de archivo puede ser diferente) ata.conf. Para ejecutar el cliente de OpenVPN como un servicio de sistema en segundo plano, el nombre de archivo debe tener la extensión de archivo *.conf. Además, también moverá el archivo al directorio /etc/openvpn.
Mueva el archivo de configuración con sudo mv /root/ata.ovpn /etc/openvpn/ata.conf
.

Ahora, cambie al directorio /etc/openvpn y verifique que el archivo esté allí.

Con el archivo de configuración en el directorio /etc/openvpn, inicie el servicio del cliente de OpenVPN con el comando systemctl
. Para iniciar el servicio, ejecute: sudo systemctl start [email protected]
.
La parte “ata” del nombre del cliente de OpenVPN proviene del nombre del archivo de configuración utilizado. El suyo puede ser diferente según el nombre del archivo.

Para verificar que el servicio de OpenVPN está en ejecución, use el comando systemctl status
de la siguiente manera.
Como se muestra a continuación, se muestra el estado verde activo (en ejecución) del servicio de OpenVPN.

Finalmente, debe configurar su dispositivo para conectarse automáticamente a su servicio VPN. La conexión automática a la VPN garantiza que OpenVPN siempre esté en ejecución, incluso si reinicia su máquina.
Ejecute el comando sudo systemctl enable [email protected]
, y a partir de ahora, una vez que se inicie el servicio de OpenVPN, conectará automáticamente su dispositivo a la VPN.

Conclusión
Este artículo te ha mostrado todos los pasos necesarios para configurar un interruptor de seguridad en Linux para tu conexión VPN. Un interruptor de seguridad desconecta la conexión de red de tu computadora si la conexión se cae inesperadamente, evitando fugas de datos y manteniéndote seguro en línea.