viernes, 26 de noviembre de 2021

VPN Cliente - Servidor con pFsense y OpenVPN.

Hola amigos, est谩 vez vamos a crear una conexi贸n VPN como hicimos en un post anterior con Zentyal, esta vez con pFsense del que ya vimos algo en otra entrada. Implementar esta soluci贸n con pFsense es relativamente sencillo aunque hay configuraciones extra para las que es mejor investigar un poco en la documentaci贸n existente; en esta entrada solo veremos la conexi贸n b谩sica y les dejo a ustedes la tarea de probar el resto de configuraciones. Me saltar茅 la instalaci贸n y la configuraci贸n de los interfaces que ya los vimos anteriormente. 
 






Y ya vamos al l铆o.



Lo primero que vamos a hacer tras loguearnos en pFsense es ir al “Setup Wizard” y desactivar la opci贸n que os muestro en la imagen inferior. Este checkbox desbloquea las conexiones desde redes privadas a la interfaz WAN. En teor铆a por las caracter铆sticas de los VPN no ser铆a necesario, pero en la pr谩ctica seg煤n la configuraci贸n de red que teng谩is puede dar problemas.

 


 

Ahora vamos al men煤 para crear una CA para que genere los certificados necesarios para nuestra conexi贸n.

Podemos dejar las opciones que viene predeterminadas pero en “Common Name” ponemos el FQDN de nuestro pFsense, si no lo hab茅is cambiado ser谩 pFsense.home.arpa, si lo hab茅is cambiado durante la instalaci贸n, entonces usad el que hay谩is elegido.
 

Una vez terminada la configuraci贸n hacemos clic en Save.

 

Ya tenemos nuestra CA creada. 

 


 

Ahora expedimos un certificado para nuestro servidor, muy importante en “Certificate Type” seleccionar en el desplegable “Server certificate”, os lo muestro en la imagen inferior.





Elegimos en tipo de certificado "Server Certificate"

 El certificado aparece listado en los certificados disponibles.




Con los certificados listos vamos a levantar un servidor VPN en el men煤 "OpenVPN", la configuraci贸n no tiene ninguna complicaci贸n pero veremos lo mas importante a detalle.

Lo primero es en "Server mode" elegir en el desplegable "Remote Access (SSL/TLS).



Si hemos creado varias CA nos aseguramos que elegimos la creada para el VPN


Nos aseguramos de seleccionar el certificado que expedimos para el VPN

Podemos elegir el cifrado por uno mas seguro pero de momento podemos conformarnos con el b谩sico.

Ahora vamos a detenernos un momento en esta etapa de la configuraci贸n:
 
 
 
 
 
 
 
(1) En "IPV4 Network" elegimos direcci贸n IP para el tunel VPN, esta direcci贸n no debe coincidir con ninguna que tengamos en uso para no generar conflictos.
 
(2) En "Redirect IPV4 gateway" podemos elegir si queremos que los clientes del VPN redirigan todo su tr谩fico por el VPN o en cambio puedan seguir navegando por internet sin pasar la conexi贸n por el t煤nel. Esta opci贸n es muy importante. 
 
Si todo el tr谩fico pasa solo por el VPN depender谩 de la configuraci贸n de la red  el funcionamiento de la conexi贸n a internet. (Por ejemplo cuando nos conectamos al t铆pico VPN para enmascarar la conexi贸n). Si elegimos la otra opci贸n porque solo queremos la VPN para acceder a un recurso compartido por ejemplo, hay que tener en cuenta que el interfaz de red podr铆a generar tr谩fico no deseado hacia internet abierto y en algunos casos podr铆a generar efecto imprevistos, sobre todo habiendo firewalls o IDS en medio. Si not谩is que la conexi贸n no funciona todo lo bien que esperabais, probad a pasar todo el tr谩fico del cliente, si el cliente quiere navegar solo tiene que desconectarse de la VPN.

(3) En caso de que no quer谩is pasar todo el tr谩fico por el t煤nel VPN, ten茅is que configurar la direcci贸n ip de la red local a la que se conectar谩 el cliente del VPN.
 
Cuando terminemos con el servidor hacemos clic en "Save" y de momento lo dejamos aqui y vamos a descargar un m贸dulo de pFsense que nos ser谩 muy 煤til en unos minutos. Para eso vamos a "System" >> "Packet Manager" y seleccionamos "openvpn-client-export", con este m贸dulo podremos configurar f谩cilmente los clientes que se van a conectar a nuestro VPN.
 
 
 

 



Tras uno segundos el m贸dulo estar谩 instalado.




Ahora pasamos a crear un usuario para que use la conexi贸n. En el Men煤 "System" >> "User Manager" >> "Users" creamos un usuario nuevo.



Para crear un usuario necesitaremos un nombre de usuario y una contrase帽a (1), si la cuenta va a ser provisional podemos asignarle una fecha de expiraci贸n (2), si tenemos varios usuarios creados en pFsense(3), podemos crear grupos para facilitar su gesti贸n e incluirlos desde este men煤.



Una vez creado el usuario y guardado, lo editamos y al final del panel nos aparece una opci贸n que antes estaba oculta. Desde aqu铆 expendemos un certificado para este usuario.





 

Muy importarte seleccionar al final el tipo de certificado correcto, "User certificate". 

Ahora ya tenemos todo listo y procedemos a exportar el paquete para la configuraci贸n del cliente usando el m贸dulo que hemos descargado antes. Ahora en el men煤 "VPN" >> "OpenVPN" aparece una solapa que antes estaba oculta, "Client Export Utility".



Cuando terminemos con la configuraci贸n precedemos a la descarga del paquete. Tenmos disponible el paquete de configuraci贸n "bundle" (1) y el instalador (2) para las m谩quinas Microsoft o MacOS.



Hacemos las descargar pertinentes y las pasamos a la m谩quina cliente. Omitir茅 la instalaci贸n del cliente porque no tiene ninguna dificultad. A continuaci贸n extraemos el contenido del archivo que contiene los datos de configuraci贸n. 

 

 

En el cliente de OpenVPN tenemos la opci贸n de importar directamente los datos, pero en la m谩quina con Windows 7 en la que hice la prueba me daba problemas asi que he extraido directamente el contenido del archivo en la carpeta "config" en la carpeta "OpenVPN" dentro de nuestro perfil de usuario. 



Con el cliente instalado ya podemos iniciar la conexi贸n. Se abrir谩 el panel de control de OpenVPN donde podemos ver como transcurre el proceso.



Tras unos breves segundos (o minutos depende) la conexi贸n se activa.



Y bueno con esto ya tenemos nuestro VPN funcionando, os dejo a vosotros lo mas d铆ficil: trastear con las opciones y sacarle partido a esta conexi贸n.


Me despido hasta la pr贸xima entrada, ciao!

3 comentarios:

Alice malice dijo...

Muy bien explicado! Gracias por compartir la informaci贸n

VictorBit dijo...

Gracias, ya que escribo poco intento que las entradas est茅n completas. Vuelve cuando quieras.

ainoah dijo...

Muy buen post! esta bastante clara la informaci贸n. gracias

Publicar un comentario