¿Qué es PFSESNE?

pfSense es una distribución personalizada de FreeBSD adaptado para su uso como Firewall y Router. Se caracteriza por ser de código abierto, puede ser instalado en una gran variedad de ordenadores, y además cuenta con una interfaz web sencilla para su configuración. El proyecto es sostenido comercialmente por Electric Sheep Fencing LLC.

¿Qué es una VPN?

Una VPN (Virtual Private Network) es una tecnología de red que se utiliza para conectar una o más computadoras a una red privada utilizando Internet. Las empresas suelen utilizar una VPN para que sus empleados desde sus casas, hoteles, etc., puedan acceder a recursos corporativos que, de otro modo, no podrían. Sin embargo, conectar la computadora de un empleado a los recursos corporativos es solo una función de una VPN.

En el siguiente video se entrega información respecto a lo que es una VPN.

https://youtu.be/IzxC6UPilqQ

Creación de una VPN en PFSESNE 2.3.2 (Open VPN)

Para este ejemplo se usó la última versión de pfSesne disponible en: https://www.pfsense.org/download/

Comenzaremos la creación de la VPN

Vamos a crear una VPN (open VPN) para que un cliente externo se pueda conectar a nuestra red y pueda acceder a nuestros recursos como si él estuviera físicamente en nuestras dependencias.

Creación del certificado raiz

Primeramente, crearemos el certificado raíz:

Para eso iniciamos sesión en nuestro PFSESNE y nos dirigimos al menú VPN > Open VPN

Luego de esto usaremos la opción Wizard (para simplificarnos la cosa un poco)

En este caso y como PFSENSE no está conectado a mi dominio y solo creare algunos usuarios, elegiremos la opción LOCAL USERS y siguiente. (acá puedes usar usuarios Ldap, Radius o como en este caso usuarios locales en PFSESNE).

Ahora viene una de las partes más importantes, la creación de nuestro certificado raiz, con el podremos generar certificados clientes, en este caso generaremos uno propio por ende seremos nuestra propia entidad certificadora, también se puede usar una CA externa.

Acá deben poner sus datos para reconocer al certificado lo llame simplemente OPEN_VPN-0, pueden colocar un nombre más acorde a sus necesidades, para este ejemplo está bien, una vez llenado los datos generamos el CA en “Add new CA”.

Luego crearemos un certificado para el servidor OpenVPN de manera muy similar al que hemos creado anteriormente:

Certificado del servidor VPN

Configuración del servidor

Luego configuraremos el apartado del servidor, acá hay varios puntos a tener en consideración, cada punto que sea importante o haya que cambiar lo detallare.

  • Interface: WAN (es la interfaz donde se conectarán los clientes, generalmente es la WAN).
  • Protocol: UDP (es el protocolo por defecto que usa VPN).
  • Local Port: 1194 (El puerto que usa OpenVPN, si hay más configuraciones ira cambiando 1196, 1197, 1198, etc. Pueden usar el que estimen conveniente).
  • Description: Breve descripción de nuestra VPN

La siguiente sección Cryptographic Settings, la dejamos por defecto.

Creación del Tunnel VPN

Ahora se creara el túnel VPN que nos conectara con el servidor.

Tunnel Network: Será la red que crearemos para los clientes que se conecten. Por lo tanto, con esta configuración estamos definiendo el rango de numeración que se le asignarán a los clientes al conectarse, Además que la IP de la interface virtual que será la primera de dicha red. Se deberá utilizar una red que no esté ya utilizada para evitar problemas de ruteo. En nuestro caso utilizaremos 10.100.0.0/27, simplemente porque me tinco usar esa, ustedes pueden usar la que estimen conveniente.

Entonces, la interfaz virtual que se creará tendrá la 10.100.0.1 y los clientes que se conecten tendrán una dirección asignada entre 10.100.0.2 y la 10.100.0.30.

Local Network: define la red a la que daremos acceso, esta será ruteada en los clientes a través de la VPN. En nuestro caso será nuestra red LAN 172.16.100.0/24 (podríamos rutear simplemente a nuestra DMZ, WIFI u otra red configurada en nuestro PFSESNE, en este caso es nuestra red LAN).

Redirect Gateway: Esta opción si esta tildada, nos ruteara todo nuestro tráfico por la VPN, es decir todas las visitas a web, servicios FTP, u otros servicios se realizarán en la conexión de nuestro PFSENSE, esto va depender de como planteemos nuestra conexión VPN, esto es a gusto del consumidor.

Concurret Conecctions: conexiones concurrentes yo usare 15 como máximos usuarios conectados.

Compression: Enabled wiht Adaptative Compression (al activar la compresión tendremos un mejor performance en conexiones lentas.

Configuración del Cliente

Esta es la configuración que recibirá el cliente cuando se conecte a la VPN,

La sección Client Settings, debemos agregar la configuración de nuestra red, como nuestros servidores DNS, NTP, etc.

La opción Topology nos permite dejar el equipo cliente en subnet, es decir que se “vea” con los otros, o insolated, que no se vea con los demás, yo los dejo como subnet.

CONFIGURACIÓN DE REGLAS VPN

El próximo paso nos permite agregar automáticamente la regla que permite el tráfico desde internet al puerto y protocolo configurado en el paso anterior, si se va a configurar manualmente este paso o personalizar las reglas no se debe tildar, en mi caso yo las tildare porque quiero que se creen las reglas automáticamente.

Además, nos permite agregar o no, una regla en la nueva interface que creará el pfSense, la 10.100.1.0/27, donde caerán los usuarios conectados, si seleccionamos esta opción, la regla que se creará será de origen ANY, destino ANY, y puerto y protocolo también ANY. Ya que nosotros no queremos dar acceso a los usuarios que se conecten a la red DMZ y solamente a la red LAN, no seleccionaremos esta opción y crearemos la regla a mano. Pueden seleccionar esta opción si no desean aplicar restricciones, también la he seleccionado yo.

Finalización de la creación vpn

Y finalizamos el Wizard.

Ahora ya tenemos creada la VPN.

USUARIOS

Ahora debemos crear a los usuarios con el cual nos conectaremos a la VPN, además de crear un grupo VPN0, en el cual agregaremos los usuarios que se pueden conectar.

Esto sirve para que administrativamente sepamos que usuarios tienen acceso a la VPN, además de poder asignar permisos de pfSense a todos los usuarios a la vez, por ejemplo, para permitir el acceso a algún módulo de pfSense como el de cambio de password.

Crear los usuarios debemos ir a System > User Manager

Acá primeramente crearemos el grupo que nos ayudara a administrar de mejor manera nuestros Usuarios. Vamos Groups y luego presionamos ADD.

Creamos el nombre del grupo y luego en ADD, en este caso VPN0

Ahora vamos a crear el o los usuarios que usaran nuestra VPN,pulamos Users y creamos el usuario.

Llenamos toda la información necesaria, agregamos el usuario al grupo VPN0 (que creamos recién), y tildamos Click to créate a user certificate (asi crearemos el certificado de usuario que necesita la VPN).

Y guardamos nuestro usuario creado.

Listo el usuario esta creado y agregado al grupo VPN, ahora solo nos queda crear la configuración para integrarla en los equipos clientes.

Configuración de equipos clientes

Nuestro servidor ya se encuentra totalmente instalado, ahora debemos instalar nuestro cliente OPENVPN en nuestros equipos, para esto nos ayudaremos del utilitario OpenVPN Client Export Utility, el cual debemos instalar, para eso vamos System > Packpage Manager > Available Packpages, y buscamos el paquete a instalar.

El paquete se llama openvpn-client export:

Presionamos Install y confirmamos y comenzará a descargar e instalar automáticamente.

Y ya estará instalado.

Ahora nos dirigimos a VPN > Open VPN y ingresamos a Client Export.

Nos dirigimos al final y es aquí donde tendremos las configuraciones por usuarios y para distintos sistemas operativos.

Luego podemos instalar en los equipos según corresponda, ejecutamos open VPN y luego credenciales del usuario (VPN que creamos) y conectar.

Con esto nuestros clientes ya pueden disfrutar de las bondades y seguridad que nos brinda OpenVPN.

 


Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *

A %d blogueros les gusta esto: