La irrupción de la pandemia en nuestras cambió muchas cosas. Una de esas situaciones fue el fortalecimiento del teletrabajo y la necesidad de las empresas a amoldarse a un trabajo remoto debido a las necesidades que todos conocemos y la imposibilidad de poder tener contacto entre nosotros. Todo esto produjo una situación en la que muchas empresas tuvieron que amoldarse y empezar a emplear recursos para poder llevar a cabo el teletrabajo.
En muchas ocasiones, se cometieron errores, ya que se empezaron a exponer servidores a Internet con todo el riesgo que eso podía conllevar. Las soluciones más factibles, incluso cómodas, sería la instalación de una VPN para una empresa, independientemente del tamaño de ésta. Una forma segura (si todo está bien configurado) de acceder a los recursos internos de la organización y de disponer de una trazabilidad sencilla de quién se conecta y cuando a la organización.
En el artículo de hoy vamos a mostrar como se puede montar una OpenVPN, la cual es una de las posibilidades que trae PFSense, para implementar una VPN. Si eres una persona que viaja mucho y necesitas conexiones seguras en diferentes ubicaciones puede interesarte este tipo de soluciones. Montar una VPN en tu casa no es algo complejo a día de hoy con algo de conocimiento básico. PFSense simplifica el proceso de creación de la CA, del certificado del servidor, de los usuarios, etcétera.
Figura 1: Cómo montar tu (Open) VPN con PFSense de forma sencilla
En muchas ocasiones, se cometieron errores, ya que se empezaron a exponer servidores a Internet con todo el riesgo que eso podía conllevar. Las soluciones más factibles, incluso cómodas, sería la instalación de una VPN para una empresa, independientemente del tamaño de ésta. Una forma segura (si todo está bien configurado) de acceder a los recursos internos de la organización y de disponer de una trazabilidad sencilla de quién se conecta y cuando a la organización.
Figura 2: Ataques en redes de datos IPv4&IPv6 (4ª Edición) de
JL. Rambla, ampliado y revisado por Pablo González y Chema Alonso
Entorno: Comenzando
El entorno que vamos a suponer en este ejemplo es el siguiente:
- Disponemos de una solución PFSense.
- Tenemos una red LAN donde tenemos una serie de máquinas y recursos.
- Tenemos una red WAN, la cual es Internet.
Figura 3: Instalación del paquete openvpn-client-export
Ahora vamos a llevar a cabo la instalación del servicio de OpenVPN en PFSense. Nos dirigimos al apartado VPN y seleccionamos OpenVPN. Seleccionamos ahora “Wizards”, el asistente que simplificará el proceso de creación de todo lo necesario.
(Revisada y Ampliada) de Carlos Álvarez y Pablo González en 0xWord
Figura 5: Configuración de RAS
Al pulsar sobre siguiente llegamos al apartado de generación de CA. Es un apartado importante, ya que posteriormente podremos gestionar revocaciones de certificados de usuarios, entre otras cosas. Generamos la CA para el servidor de VPN, simplemente seleccionamos el tamaño de clave y el nombre que le daremos a la CA. Además, hay que indicar los típicos parámetros de país, ciudad, tiempo de validez, etcétera.
Figura 6: Configuración de la Certification Authority
Damos a siguiente y nos encontramos con la generación del certificado del servidor. Seleccionamos el tamaño de clave y rellenamos los parámetros anteriores (tiempo de vida, país, ciudad, etcétera). Si alguna vez has implementado una OpenVPN a mano con el uso de OpenSSL para generar CA y certificados o con easy-RSA, verás la diferencia al instante, ya que la GUI enmascara muchos pasos manuales que, aunque necesarios, podían ser tediosos.
Figura 7: Configuración del Certificado del Servidor
Ahora nos aparece un gran número de opciones dentro de la configuración del servicio de VPN. Hay que ir analizando cada opción. Opciones como:
- Puerto: Es recomendable utilizar un puerto alto para montar el servicio, en vez de utilizar el puerto por defecto (1194).
- Descripción de la VPN: Nombre descriptivo.
- Tipo de protocolo: Sobre el que la VPN funcionará (UDP o TCP) y sobre que protocolo de red IPv4 o IPv6.
- Opciones criptográficas: TLS Auth, TLS Key, el tamaño de DH, algoritmos criptográficos que se pueden utilizar, el algoritmo de digest, etcétera.
- Configuración de red: De esto hablaremos un poco más adelante.
Figura 9: Opciones de Tunneling
Además, podemos configurar los diferentes parámetros de red que los clientes de la VPN recibirán por parte del servidor como, por ejemplo:
- Direcciones de los servidores DNS (pudiendo ser el propio PFSense el servidor DNS).
- Dirección del Gateway.
- Dirección del servidor NTP.
- Wins Server.
- Opciones NetBIOS.
Figura10: Firewall y OpenVPN
Cuando acabamos el proceso, se nos crea una nueva interfaz en el firewall. Esta interfaz es la de OpenVPN (tendremos LAN, WAN, DMZ si la tuviéramos). En la interfaz de WAN deberíamos ver la regla creada que da acceso a la OpenVPN y el puerto que hemos seleccionado. Mientras que en la interfaz OpenVPN deberíamos ver también una regla que nos permite sacar el tráfico a través del túnel.
Figura 11: Regla del tunel
Una vez finalizado el proceso, vamos con la parte de usuarios. Lo primero que hay que hacer es ir a crear un usuario o los usuarios necesarios. Vamos al apartado System -> User Manager y aquí gestionaremos el alta y baja de los diferentes usuarios. No se ha comentado, pero en el proceso de configuración también se elige cómo se autenticarán los usuarios (contraseña, certificado, contraseña más certificado…). Hemos elegido, contraseña y certificado.
Damos de alta un nuevo usuario, tendremos que darle un nombre, podemos meterlo en un grupo con privilegios en el firewall o no, y podremos configurarle una contraseña y, además, indicar que debe disponer de un certificado para la conexión con la VPN.
Bien, ahora que ya tenemos todo listo, nos vamos al apartado de VPN y OpenVPN y vamos a la aplicación que instalamos al principio para exportar perfiles. Veremos una opción que nos permite exportar el perfil en formato OVPN. Este perfil es el que utilizará el usuario concreto para conectarse a la VPN.
Figura 12: Certificado para la conexión
Bien, ahora que ya tenemos todo listo, nos vamos al apartado de VPN y OpenVPN y vamos a la aplicación que instalamos al principio para exportar perfiles. Veremos una opción que nos permite exportar el perfil en formato OVPN. Este perfil es el que utilizará el usuario concreto para conectarse a la VPN.
En cualquier instante se puede revocar el certificado o eliminar el usuario de la base de datos, por lo que el acceso quedará inhabilitado. A continuación, importamos el perfil a un cliente OpenVPN, por ejemplo, en Windows, y vemos como se realiza la conexión por la interfaz WAN. A partir de entonces, tendremos acceso a los recursos de la LAN (que es la red 10.0.0.0/24).
Figura 14: Hacking Windows: "Ataques a sistemas y redes Microsoft" de Pablo González, Carlos García y Valentín Martín. |
Sin duda, PFSense es un All-in-one que proporciona muchas posibilidades y en temas de seguridad no solo se queda con la VPN. Hay que recordar que se puede instalar un IDS, proxy, AV, ciertos elementos que fortifican la infraestructura y desde un punto de vista accesible a muchos. Es importante asegurarse que las configuraciones son realmente seguras.
Saludos,
Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root", “Pentesting con Powershell” y de "Empire: Hacking Avanzado en el Red Team", Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDCO de Telefónica. Para consultas puedes usar el Buzón Público para contactar con Pablo González
Contactar con Pablo González |
No hay comentarios:
Publicar un comentario