OpenVPN en pfSense
¿Qué es un servidor VPN?
Se trata de una herramienta importante dentro del ámbito de la seguridad y la privacidad en línea. Un servidor VPN nos facilita una conexión segura y cifrada entre un dispositivo cliente (PC, smartphone) y una red privada a través de Internet. Por tanto, su función principal es establecer un túnel seguro que cifra el tráfico de datos entre el cliente y el servidor
, proporcionando privacidad y seguridad en la comunicación.
Al conectar un dispositivo a un servidor VPN, todo el tráfico se enruta a través de este túnel, haciendo que la información que se transmite sea más segura.
La función principal de un servidor VPN es la de crear una capa de privacidad y seguridad al enrutar el tráfico a través de una conexión cifrada. Cuestión especialmente importante al utilizar redes públicas, como las de bares, aeropuertos o cualquier otro sitio con acceso WiFi, donde los datos pueden ser vulnerables a ataques cibernéticos.
Por otra parte, un servidor VPN permite a los usuarios acceder a una red privada de manera remota, permitiendo el acceso a recursos como archivos compartidos o aplicaciones internas.
Protocolos
Existen diferentes tipos de protocolos que pueden ser utilizados por los servidores VPN para establecer la conexión segura. Algunos son:
OpenVPN
IPSec
L2TP/IPSec
También conocemos de la existencia de servicios VPN gestionados por terceros que ofrecen acceso a servidores VPN en ubicaciones geográficas diversas, permitiendo a los usuarios eludir restricciones geográficas y proteger su privacidad en línea.
OpenVPN
Es una implementación de código abierto del protocolo VPN que nos permite establecer conexiones seguras a través de Internet.
Cuando se menciona la "OpenVPN integrada en pfSense", se refiere a la capacidad de pfSense para actuar como un servidor OpenVPN. Con esta integración, pfSense permite a los usuarios configurar y administrar conexiones VPN utilizando el protocolo OpenVPN directamente desde la interfaz de administración web de pfSense.
Al utilizar OpenVPN en pfSense, los usuarios pueden aprovechar características como la autenticación de usuarios, la encriptación del tráfico y la creación de túneles seguros para el acceso remoto a la red o la interconexión segura de redes a través de Internet. La integración de OpenVPN en pfSense facilita la implementación de soluciones VPN para garantizar la privacidad y seguridad de las comunicaciones en la red.
¿Qué necesitamos para configurar un servicio de VPN en pfSense?
A la hora de configurar una VPN necesitamos recorrer los siguientes pasos:
Instalar el plugin OpenVPN Client para generar la configuración
Crear los certificados digitales en el propio pfSense
Crear la CA (Autoridad de Certificación)
Crear el certificado del servidor OpenVPN
Configurar el servidor OpenVPN
Configurar las reglas en el firewall para permitir acceso
Exportar el archivo de configuración OpenVPN para los clientes
Comprobar estado del servicio y de los clientes conectados
Instalar el plugin OpenVPN client
Lo primero es descargar el paquete openvpn-client-export
y para ello vamos a System - Package Manager - Available Packages
y buscamos el paquete openvpn-client-export
y pulsamos en Install
.
Crear los certificados digitales en el propio pfSense
Crear la CA (Autoridad de Certificación)
Una CA
es, una entidad confiable responsable de emitir y revocar certificados digitales utilizados para transacciones y firmas electrónicas.
Abrimos la interfaz del pfSense y navegamos hasta System - Certificate Manager
y hacemos clic en Agregar
.
Creamos el certificado manteniendo casi todas las opciones por defecto y asignando un nombre.
Descriptive name
OpenVPN_CA
Common name
OpenVPN_CA
Una vez realizado los cambios y guardando nos aparece nuestro certificado:
Crear el certificado del servidor OpenVPN
En el apartado siguiente, System – Certificates
clicamos en agregar un certificado:
Method
Create an Internal Certificates
Descriptive name
OpenVPN_Certificates
Common Name
OpenVPN_Certificates
Certificate type
Server certificate
Aquí nos tiene que aparecer nuestra CA previamente creada
Configurar el servidor OpenVPN
Description
OPENVPN_Server
Server mode
Remote Access (SSL/TLS + User Auth)
Protocol
UDP on IPv4 only
Interface
WAN
Puerto
5194 (cambiamos el puerto por defecto)
Peer Certificate Authority
OpenVPN_CA (seleccionamos el nuestro)
Server certificate
OPENVPN_Certificate (Server: Yes, CA: OPENVPN_CA)
Por último, debemos seleccionar la red que vamos a utilizar para comunicar el cliente con el pfSense. En mi caso voy a seleccionar la red:
10.4.44.0/24
, así como las redes o IP internas a las que tendrá acceso el cliente cuando se conecte por la VPN.Hacemos clic en
Redirect IPv4 Gateway: Force all client-generated IPv4 traffic through the tunnel
. para seleccionar esta opciónPodemos seleccionar la opción
Inter-client communication
para permitir comunicación entre clientes de la VPN.Podemos seleccionar la opción
Duplicate connection
para permitir varias conexiones de un mismo cliente.
Podemos proporcionar el dominio a los clientes y los DNS a los que poder acceder.
DNS Server 1: 1.1.1.1
DNS Server 2: 8.8.8.8
Seleccionamos la opción de
Verbosity level: 3 (recommended)
.Guardamos y listo!
Comprobar el servicio
Nos dirigimos a Status - Service
y podemos comprobar los servicios activos y recién habilitados.
Configurar las reglas en el firewall para permitir acceso
Ahora nos toca crear una regla en la WAN que nos permita el acceso a través del puerto de VPN.
Regla en "Firewall - Rules - WAN"
Para ello, clicamos en Firewall - Rules - WAN
y vamos a crear la regla, clicando donde dice Add rule to the top of the list.
Seleccionamos las opciones siguientes, para una configuración básica:
Action
Pass
Interface
WAN
Protocol
UDP
Source
Any
Destination
Any
Destination port range
5194
Logs
Seleccionamos la opción de guardar
Description
OPENVPN:RULE
Una vez realizados los cambios, guardamos y se nos muestra como sigue:
Regla para permitir todo el tráfico VPN
Ahora nos vamos a la pestaña de OpenVPN
para crear otra regla que permita todo el tráfico. Seleccionamos todos los protocolos (ANY) y desde cualquier origen (ANY) a cualquier destino (ANY).
Seleccionamos también la opción de almacenar los logs del tráfico. Guardamos y se nos crea la regla.
Exportar el archivo de configuración OpenVPN para los clientes
Crear un cliente para la VPN
Primero tenemos que crear un usuario nuevo, por tanto nos vamos a System - User Manager
Creamos un nuevo usuario y clicamos en Click to create a user certificate
para crear el certificado para ese usuario.
Una vez creado nuestro usuario de prueba (con su certificado para la VPN) ver cómo exportar los clientes VPN. Para ello seleccionamos en el menú a VPN - OpenVPN - Client Export.
Y si nos vamos al final del todo, veremos a nuestro usuario Punky.
Comprobar estado del servicio y de los clientes conectados
Si queremos hacer una prueba podemos descargar el certificado para Android o el de OpenVPN Connect (IOS/Android).
En el caso de utilizar un dispositivo móvil, tendríamos que instalar la OpenVPN for Android
Una vez tengamos lista la app, podemos exportar a nuestro dispositivo móvil el certificado del cliente VPN que hayamos creado. En mi caso, sería el usuario punky
Nos conectamos a la VPN y se nos muestra el log:
Y si nos vamos, por ejemplo al navegador y escribimos la IP
Ya podemos comprobar la conexión al firewall. Claramente que nos falta mucho. Se trata de una conexión básica. Lo siguiente a probar es configurar el acceso de un usuario a un equipo de la red detrás del firewall.
Links
Last updated
Was this helpful?