pfsense: Creando una VPN con IKEv2 y EAP-MSCHAPv2

Seguimos con la saga de artículos sobre pfsense, esta vez vamos a tratar de desplegar una VPN con IKEv2 y EAPMSCHAPv2.

En primer lugar tendremos que crear una CA (Certificate Authority), para emitir los certificados digitales que utilizaremos más adelante.

  • Accedemos al menú System > Cert Manager.
  • Pulsamos sobre el botón + para crear una nueva CA
  • Seleccionamos “Create an Internal Certificate Authority

CA

  • Después de rellenar los datos, volvemos a System > Cert Manager > Certificates
  • Y le damos al botón + para crear un nuevo certificado
  • Seleccionamos “Create an Internal certificate” en la sección “Method
  • Vamos a darle un nombre descriptivo, en mi caso le puse “IKEv2 Server
  • Como CA seleccionamos la que hemos creado en el paso anterior.
  • Los datos como “Key length“, “Digest Algorithm” y “Lifetime” podemos modifcarlos (hazlo sólo si sabes lo que estás haciendo)
  • Los campos que aparecen en “Distinguished name” podemos dejarlos tal cual, ya que se importan del paso anterior.
  • En el campo “Common Name” debemos rellenarlo con el FQDN del Firewall o con la dirección IP en caso de que no tengamos un FQDN para nuestro firewall (ejemplo vpn.midominio.tld)
  • Añadiremos con el botón + dos alternative names
    • DNS: vpn.midominio.tld
    • IP: en caso de que tengamos dirección IP fija la informaremos en este campo AAA.BBB.CCC.DDD

pfsense_certificate_manager

Mobile Clients:

Ahora vamos a configurar la parte de los clientes para que se puedan conectar al servidor.

  • Accedemos a la sección VPN > IPSEC > Mobile Clients
  • Habilitamos IPSEC

ipsec

  • Y hacemos clic en la pestaña “Mobile Clients

ipsec_mobile

  • En “UserAuthentication” marcamos “local database
  • Marcamos la opción “Provide a virtual IP address to clients
  • Ahora indicaremos una subred que no esté siendo utilizada en nuestro pfsense para el direccionamiento de la VPN.
  • Marcamos la opción “Provide a list of accesible networks to clients
  • Podemos añadir otros datos como:
    • DNS Default Domain
    • Servidores DNS
    • Servidores WINS
    • Login Banner
    • etc.
  • Cuando tengamos todo listo, le daremos al botón “SAVE

mode-cfg

Phase 1:

Al darle al botón “SAVE” el sistema nos advertirá que no existe una Phase 1, así que seguiremos los siguientes pasos para crearla:

  • Vamos a la pestaña “Tunnels
  • Haremos clic en “Create Phase 1
  • En “Key Exchange Version”  indicaremos “v2
  • En la sección “My identifier” tendremos que poner el FQDN (por ejemplo vpn.midominio.tld) de nuestro pfsense
  • En “Peer Identifier” indicaremos “any
  • En “My Certificate” deberemos seleccionar el certificado que hemos creado en la sección anterior.
  • Ajustaremos el “Encryption Algorithm” a “3DES” en el caso vayamos a utilizar dispositivos iOS/OS X, si no vamos a utilizar este tipo de dispositivos podremos seleccionar “AES 256
  • En la sección del HASH sucede lo mismo con los dispositivos iOS/OS X, en caso de que vayamos a tener este tipo de dispositivos utilizaremos SHA1, si no vamos a tener conexiones desde dispositivos iOS/OS X podremos seleccionar SHA256
  • En “DH Key Group” seleccionaremos 2 (1024 bit)
  • La opción de “lifetime” la dejaremos a 28800
  • Deshabilitamos el check “Disable Rekey” y lo mismo para “Disable Reauth” tal y como se observa en la imagen siguiente
  • Habilitaremos “Enable DPD” y lo ajustaremos a “10 seconds” y “5 retries”

phase_1

Phase 2:

Ahora nos queda configurar la “Phase 2”, para ello seguiremos los siguientes pasos:

  • Le daremos al botón “+” para que nos muestre la seccion “Mobile IPSEC Phase 2
  • Una vez extendida esta sección, volveremos a darle al botón “+” para añadir una nueva Phase 2
  • Indicaremos que el túnel es del tipo “IPv4
  • En “Local Network” si deseamos pasar todo el tráfico por la VPN informaremos el campo a “0.0.0.0/0” para que todo el tráfico desde el cliente pase a través de la VPN.
  • Añadiremos una descripción
  • En “Protocol” lo marcamos como ESP
  • Del listado de algoritmos vamos a marcar: AES en auto (para disponer de compatibilidad con dispositivos iOS/OS X) y también 3DES.
  • Para el HASH seleccionaremos SHA1 (por la misma razón que en la Phase 1) y SHA256
  • En “PFS Key Group” lo dejaremos como “off
  • En Lifetime marcaremos el valor 3600
  • Y ahora sólo quedar darle al botón “SAVE”
IPSEC Phase 2

IPSEC Phase 2

Creación de “Pre-Shared Keys”:

Una vez hemos terminado de crear el túnel con todas sus opciones, debemos crear las “Pre-Shared Keys” para los usuarios que se van a conectar a la VPN. Para ello seguiremos los siguientes pasos:

  • A través de los menús accederemos VPN > IPSEC > Pre-Shared Key.
  • Le daremos al botón “+” para añadir un nuevo usuario
  • En el campo Identifier informaremos el campo con algo similar a “usuario@midominio.tld
  • En “Secret Type” marcaremos la opción “EAP“.
  • En “Pre-Shared Key” debemos introducir una contraseña robusta para el usuario que hemos creado.
  • Ahora sólo queda darle al botón “SAVE

Repetiremos estos pasos, tantas veces como usuarios tengamos que crear para el acceso por VPN.

Pre-Shared-Key

Importar el certificado en los dispositivos iOS:

Para importar los certificados en los dispositivos móviles con iOS no hace falta complicarse mucho, con una sola línea de comandos en python podemos levantar un servidor Web, que nos valdrá para importar los certificados en nuestros dispositivos móviles:

srvlinux_python_http

De esta forma podemos acceder al servidor Web que hemos desplegado y descargar el certificado en nuestro dispositivo móvil.

Configuración de la VPN:

Para configurar la VPN en un dispositivo iOS, seguiremos los siguientes pasos:

  • Abrimos “Ajustes
  • Vamos a la sección “General
  • Seleccionamos “VPN
  • Añadimos una nueva VPN
  • Seleccionamos como tipo de VPN “IKEv2
  • Incluimos una pequeña descripción (por ejemplo VPN CASA)
  • Incluimos el FQDN de nuestro pfsense en “Servidor” y en “ID Remoto
  • ID Local lo dejaremos en blanco tal y como se aprecia en la imagen inferior.
  • Ya sólo nos queda poner nuestro “username” y nuestra “password

ios_VPN

ikev2_iphone

Configuración de la VPN en Windows 8.1:

NOTA: Asumimos que el certificado se ha importado correctamente en el equipo Windows.

Si queremos configurar la VPN en Windows, deberemos acceder a “Configuracion de red” y seleccionar que queremos configurar una nueva conexión

create_new_vpn_windows

Cuando nos pregunte por el tipo de conexión que queremos crear, le indicaremos que nos vamos a conectar a un área de trabajo

conectarse_area_trabajo

El siguiente paso será indicarle que vamos a crear una VPN tal y como se muestra en la imagen inferior

usar_mi_conexion

Si seguimos el asistente, nos peguntará a qué dirección de Internet nos tenemos que contactar, aquí tendremos que indicarle cual es el FQDN de nuestro pfsense, también deberemos indicarle un nombre descriptivo a la conexión.

datos_vpn

Una vez la tengamos creada, le damos a propiedades y dejamos los valores como se observa en la imagen.

seguridad_vpn_windows

Y con esto ya tendremos nuestra conexión VPN en pfsense.

 

Anuncios
Tagged with: , , ,
Publicado en Blog, Spanish (ES)
Twitter
A %d blogueros les gusta esto: