910 053 662 [email protected]
Acceder a una VPN IPsec usando OpenVPN en pfSense

Acceder a una VPN IPsec usando OpenVPN en pfSense

Hoy vamos a ver cómo solucionar un problema de acceso de los usuarios de como acceder a una VPN IPsec usando OpenVPN desde pfSense, a los recursos que estén en la otra parte de un túnel IPsec.

En esta ocasión usamos el modo de túnel de IPsec, para unir dos sedes que queramos conectar mediante este protocolo dentro de nuestro firewall pfSense.

Acceder A Una Vpn Ipse Usando Openvpn

Como funciona IPsec

Las conexiones Ipsec, incluyen los siguientes pasos:

  • Intercambio de claves
  • Encabezados y tráileres de los paquetes
  • Autenticación
  • Encriptación
  • Transmisión
  • Desencriptación

Protocolos utilizados por IPsec

  • Encabezado de autenticación (AH)
  • Protocolo de seguridad de encapsulación (ESP)
  • Asociación de seguridad (SA)
  • Protocolo de Internet (IP)

Configurar Firewall para acceder a una VPN IPsec usando OpenVPN

Si tienes dos sites conectados con IPsec VPN, y también tiene una configuración OpenVPN en el pfSense principal, también puede permitir que sus equipos conectados al OpenVPN, accedan a los equipos del otro extremo del IPsec.

Normalmente, solo se tiene acceso a la red local a la que se conecta OpenVPN, pero con unos simples pasos puede permitir el acceso a todas las redes conectadas.

Si ya tiene la VPN IPSec y configurado OpenVPN, solo se necesita agregar algunas cosas.

La configuración para este ejemplo es:

  • SiteA con un rango de red 192.168.1.0/24
  • SiteB con un rango de red 192.168.2.0/24)
  • OpenVPN usa el rango de red 172.20.50.0/24
  • SiteA tiene la configuración de OpenVPN.
  • Tanto SiteA como SiteB tienen configuración IPsecVPN.

Configuración de una segunda Fase 2

Debe agregar otra entrada de Fase 2 en ambos sitios, y debe agregar la red SiteB en la configuración de OpenVPN.

  • Tenemos que ir al pfSense del Site1 a VPN -> IPSec y expandimos las entradas de la Fase 2
  • Abra los túneles IPSEC en el SiteA > Copie la entrada de la Fase 2 > Cambiar el menú desplegable de Red Local a Red > Agrega el rango de IP que usa OpenVPN, por ejemplo: 172.20.50.0/24
  • Cambie el nombre en Descripción > Guardar y aplicar
  • Abra los túneles IPSEC en el SiteB > Copie la entrada de la Fase 2 > Cambiar el menú desplegable de Red Remota a Red > Agrega la IP que usa OpenVPN, por ejemplo: 172.20.50.0/24
  • Cambiar nombre en Descripción > Guardar y aplicar
  • Edite su servidor OpenVPN > En Red local IPv4 > Agregue en la red del SiteB. Separe varias redes con un, por ejemplo 192.168.1.0/24,192.168.2.0/24

Una vez que tengas los dos site configurados deberás de comprobar que el SiteB es accesible desde la conexión de OpenVPN del SiteA.

Recuerda que si solo tienes abiertos X puertos en la interface del OpenVPN (que valga de consejo, así deberías de tenerlo configurado), deberás de agregar aquellos que sean necesarios para poder acceder al SiteB.

Acceder a la red IPSEC desde el firewall pfSense

También te puedes encontrar que desde el Firewall de SiteA no tengas acceso a la red del SiteB pese a que el túnel este levantado y sea completamente funcional, para ello, debes de realizar lo siguiente:

  • Vamos a System -> Routing y en el apartado Gateways, añadimos una nueva.
  • Selecciona LAN en Interface
  • Pon la LAN IP Adress en Gateway
  • Deshabilita Gateway Monitoring
  • Guardamos
  • Ahora vamos a Static Routes y añadimos una
  • En Destination Network, ponemos la red de la red IPSEC
  • Selecciona la LAN IP Gateway que hemos generado anteriormente
  • Guardamos y ya lo tenemos

Recomendaciones de Seguridad Extras:

Como siempre que instalamos un nuevo servicio en nuestro Firewall, es recomendable adaptarlo a la seguridad del mismo, por ello es importante realizar las siguientes acciones para que no tengamos un agujero de seguridad en el mismo:

  • Configura las reglas como tengas configuradas las de las demás interfaces
  • Recuerda agregar OpenVPN a pfBlocker, Squid, Snort, Suricata, etc…
  • Usa un solo usuario por persona
  • Elimina aquellos usuarios y certificados que ya no se estén usando
  • Habilitar GEOIP en la regla del puerto de OpenVPN para que solo sea accesible desde los países que deseemos
  • Utiliza contraseñas fuertes y robustas tanto para establecer el túnel IPsec como para los usuarios del OpenVPN
  • Utiliza una Pre-Shared Key en el túnel IPsec igualmente fuerte
  • Mantén una buena política de reglas en el Firewall, así como en las conexiones IPsec y OpenVPN
  • Nunca dejes reglas configuradas tipo any -> any, eso es como no tener nada de seguridad
  • Utiliza siempre las conexiones OpenVPN para conectarte a redes que no sepas quien las gestiona y quien puede estar detrás

¿Por qué confiar en DCSeguridad?

Recuerda que la utilización de un firewall en una empresa es indispensable, así como un correcto mantenimiento del mismo. Debes usar siempre una conexión VPN para conectarte tanto de sede a sede, como de fuera de la oficina a los recursos de la empresa y nunca debes de tener ningún puerto configurado al exterior.

Si estas interesado en instalar un firewall en tu empresa, y securizar el mismo puedes ponerte en contacto con nosotros a través del apartado contacto de nuestra web.

Instalar WireGuard en pfSense+ 22.05, la mejor VPN en pfSense

Instalar WireGuard en pfSense+ 22.05, la mejor VPN en pfSense

Hoy os quiero dejar un tutorial de cómo instalar WireGuard en pfSense. Muchos usuarios se quejan de la lentitud de OpenVPN en las conexiones cuando enrutamos todo el tráfico a través del túnel, y con esta solución conseguimos una mayor velocidad con la misma seguridad.

Instalar Wireguard En Pfsense

Descargar e Instalar WireGuard en pfSense

Primeramente, debemos instalar el paquete de WireGuard en nuestro firewall, ya que, aunque en alguna versión anterior estaba integrado en pfSense, a día de hoy no está, y debemos instalarlo, para ello hacemos lo siguiente:

  • Vamos a System -> Package Manager
  • Available Packages
  • Buscamos el paquete de WireGuard y lo instalamos
  • Esperamos que termine y ya lo tendríamos instalado

Ahora vamos a Proceder con la configuración

Nos vamos a VPN y Wireguard ahí tenemos que hacer lo siguiente:

Entramos en Settings

Habilitamos WireGuard y Guardamos

Configurar un Tuunel

Yo aquí, os recomiendo que uséis esta página: https://www.wireguardconfig.com/, ya que os da las configuraciones tanto de los túneles como de los peers.

  • Listen Port: 51820
  • Número de Clientes a vustra elección, tantos como necesitéis
  • CIDR, la red que vais a usar para el túnel VPN por ejemplo 192.168.10.1/24
  • Client Allowed IP: Aqui temenos dos opciones
    • Si queremos hacer un túnel completo, en que nuestros clientes salga toda su navegación por nuestro firewall, debemos de usar la siguiente IP: 0.0.0.0/0, ::/0
    • Si por el contrario, queremos que accedan a los recursos de nuestra red, pero todo lo que sea fuera vaya por su propia conecion, debemos establecer las redes de nuestro firewall a las que queremos que tenga acceso, por ejemplo 192.168.0.0/24, 192.168.3.0/24, etc.
  • Endpoint: debéis de poner la IP pública del firewall seguido del puerto 0.0.0.0:51820
  • DNS: Poner el DNS que use el firewall y en definitiva se use en la red.
  • Post-Up rule se deja en blanco
  • Post-Down rule se deja en blanco
  • Marcar la opción de Use Pre-Shared Keys (Enhanced Security), para darle un punto más de seguridad
  • Dar a Generate Config y voila, ya tienes las configuraciones
  • Descárgate el archivo ZIP y guárdalo en un lugar seguro.

Ahora volvemos a nuestro pfSense y vamos a VPN -> WireGuard -> Tunnels

  • Add Tunnel
  • Le ponemos el nombre
  • Listen Port, dejamos el 51820 o usamos el que deseemos y hayamos usado en el paso de la creación de las claves
  • Private KEY, tenemos que copiar el private key de la opción Server y nos genera automáticamente la Public Key
  • Inteface Adress, le ponemos la IP de la red que hayamos elegido y su mascara por ejemplo 192.168.10.1/24
  • Le damos a Save Tunnel y ya tenemos el túnel creado, ahora a por el siguiente paso

Creación de los Peers

Ahora nos vamos a Peers

Add Peer, este paso deberás repetirlo tantas veces como clientes hayas creado

  • Tunnel: Seleccionamos el tunnel que hemos creado anteriormente
  • Descripción, yo recomiendo poner el nombre del usuario
  • Keep Alive dejarlo en blanco
  • Public Key, copiamos y pegamos el Public Key generado para este usuario Client 1
  • Pre-shared Key, copiamos y pegamos la que se ha generado para Client 1
  • Allowed IPs copiamos la IP que se ha generado para Client 1
  • Guardamos y salimos

Añadir la Interface de WireGuard

Ahora, debemos agregar la nueva interface de WireGuard, para ello:

  • Vamos a Interfaces -> Assigments
  • Available network ports, desplegamos y añadimos tun_wg0 y le damos +Add
  • Entramos en la nueva Interface creada la habilitamos y le ponemos un nombre
  • IPv4 Configuration Type -> Static IPv4
  • IPv4 Adrees, le ponemos la IP de la red que hayamos elegido en el paso 3 al configurar el tunnel con su mascara 192.168.10.1/24
  • Guardamos y ya tenemos generada la Interface

Configurar Outbound

Para que nuestra VPN Wireguard funcione correctamente tenemos que tener bien configurado el Outbound del NAT, para ello, hacemos lo siguiente:

  • Vamos a Firewall -> NAT -> Outbound
  • Outbound Mode, lo ponemos en Hybrido
  • Y añadimos una nueva regla
    • Interface WAN
    • IPv4
    • Protocolo any
  • Source elegimos Network y ponemos la red que hayamos asignado en la configuración del servidor de WireGuard por ejemplo 192.168.10.0/24
  • El destino lo dejamos en Any y guardamos

Generar reglas

Ahora toca generar las reglas del firewall, yo os recomiendo que primeramente hasta que consigáis conectar, dejéis todo any -> any y una vez que ya estéis seguros de que está funcionando correctamente el túnel, securizar bien la salida de esta nueva interface al igual que tenéis las demás interfaces configuradas, una buena opción es usar las reglar flotantes para aplicarlas a todas las interfaces.

Para agregar la regla:

  • Firewall -> Rules
  • Vamos a la interface de WireGuard
  • Le damos a Add
  • Protocol ANY
  • Guardar

Esto es la regla Any -> Any de la que antes os comentaba, cuando llegues al final, y veas que todo funciona correctamente, recuerda securizar bien esta nueva interface.

Abrir puerto de WireGuard

Ahora vamos a proceder a abrir el puerto que hayamos elegido en la configuración del Tunnel para que nuestros clientes puedan conectar a nuestro servidor VPN WireGuard.

  • Firewall NAT
  • ADD
  • Inteface WAN
  • Destination WAN Address
  • Redirect Target Port: El puerto elegido para el túnel
  • Guardamos y aplicamos cambios

Probar dispositivos

Para configurar los dispositivos, es muy sencillo, solo tienes que bajarte la aplicación de WireGuard, para tu dispositivo, abajo dejamos los enlaces y o bien capturar el QR del cliente que desees, o enviar el archivo de configuración creado en la página de WireGuard, le das a conectar y comprueba en: VPN -> WireGuard -> Status que los peers se conectan correctamente.

Descargas:

  • Windows
  • MAC
  • Linux
    • Ubuntu: $ sudo apt install wireguard
    • Debian: # apt install wireguard
    • Fedora: $ sudo dnf install wireguard-tools
  • Android
  • iOS

Recomendaciones de Seguridad

Como siempre que instalamos un nuevo servicio en nuestro Firewall, es recomendable adaptarlo a la seguridad del mismo, por ello es importante realizar las siguientes acciones:

  • Configura las reglas como tengas configuradas las de las de mas interfaces
  • Recuerda agregar WireGuard a pfBlocker, Squid, Snort, Suricata, etc…
  • Comparte cada clave con quien vaya a usarla
  • Elimina aquellos peers que ya no se utilicen
  • Habilitar GEOIP para que solo sea accesible desde los países que deseemos

¿Por qué confiar en DCSeguridad?

Si estas interesado en instalar un firewall en tu empresa, y securizar el mismo puedes ponerte en contacto con nosotros a través del apartado contacto de nuestra web.