Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
Configurar un servidor OpenVPN que use el mismo certificado para todos los usuarios y autenticar contra un Active Directory (AD) de Windows Server implica varios pasos. Aquí te dejo una guía paso a paso para lograrlo:
Prerrequisitos
- Un servidor Linux (Ubuntu, CentOS, etc.) para instalar OpenVPN.
- Un Windows Server con Active Directory configurado.
- Acceso administrativo a ambos servidores.
- Conocimiento básico de la terminal y configuraciones de red.
Paso 1: Instalar OpenVPN en el servidor Linux
Ubuntu
sudo apt-get update
sudo apt-get install openvpn easy-rsa
CentOS
sudo yum install epel-release
sudo yum install openvpn easy-rsa
Paso 2: Configurar Easy-RSA para generar los certificados
- Configurar Easy-RSA
make-cadir ~/openvpn-cacd ~/openvpn-ca - Editar
vars
Edita el archivovarsen el directorioopenvpn-capara establecer los parámetros de tu CA.nano vars
Cambia las siguientes líneas según tus necesidades:set_var EASYRSA_REQ_COUNTRY "US"set_var EASYRSA_REQ_PROVINCE "California"set_var EASYRSA_REQ_CITY "San Francisco"set_var EASYRSA_REQ_ORG "MyOrg"set_var EASYRSA_REQ_EMAIL "email@example.com"set_var EASYRSA_REQ_OU "MyOrgUnit" - Construir la CA y generar certificados
./easyrsa init-pki./easyrsa build-ca nopass./easyrsa gen-req server nopass./easyrsa sign-req server server./easyrsa gen-dh openvpn --genkey --secret ta.key./easyrsa build-client-full client1 nopass
Paso 3: Configurar el servidor OpenVPN
- Copiar archivos necesarios
cd ~/openvpn-ca/pkisudo cp ca.crt issued/server.crt private/server.key /etc/openvpn/sudo cp dh.pem /etc/openvpn/sudo cp ta.key /etc/openvpn/ - Crear archivo de configuración del servidor
sudo nano /etc/openvpn/server.conf
Contenido básico deserver.conf:port 1194proto udpdev tunca ca.crtcert server.crtkey server.keydh dh.pemserver 10.8.0.0 255.255.255.0ifconfig-pool-persistipp.txtpush "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 8.8.8.8"push "dhcp-option DNS 8.8.4.4"keepalive 10 120tls-auth ta.key 0cipher AES-256-CBCuser nobodygroup nogrouppersist-keypersist-tunstatus openvpn-status.loglog-append /var/log/openvpn.logverb 3plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth/ldap.conf - Instalar el plugin LDAP
sudo apt-get install openvpn-auth-ldap - Configurar LDAP
Crea el archivo/etc/openvpn/auth/ldap.conf:<LDAP> URL ldap://your-ldap-serverBindDN "CN=binduser,OU=users,DC=example,DC=com"Password "bindpassword"Timeout 15 TLSEnable yesTLSCACertFile /etc/ssl/certs/ca-certificates.crtFollowReferrals yesDerefAliases yes</LDAP><Authorization>BaseDN "OU=users,DC=example,DC=com"SearchFilter "(sAMAccountName=%u)"RequireGroup false</Authorization>
Paso 4: Configurar el cliente OpenVPN
- Crear archivo de configuración del cliente
nano ~/client.ovpn
Contenido básico declient.ovpn:clientdev tunproto udpremote your-server-ip 1194resolv-retry infinitenobindpersist-keypersist-tunremote-cert-tls servertls-auth ta.key 1cipher AES-256-CBCverb 3auth-user-pass<ca>-----BEGIN CERTIFICATE-----# Certificado CA-----END CERTIFICATE-----</ca>
Paso 5: Iniciar y habilitar OpenVPN
- Iniciar OpenVPN
sudo systemctl start openvpn@serversudo systemctl enable openvpn@server - Verificar el estado
sudo systemctl status openvpn@server
Paso 6: Probar la conexión del cliente
- Transferir el archivo
client.ovpnal cliente y probar la conexión.sudo openvpn --config client.ovpn - Autenticarse con las credenciales de Active Directory.
Notas adicionales
- Asegúrate de que los puertos necesarios estén abiertos en el firewall.
- Verifica que el servidor LDAP y el servidor OpenVPN puedan comunicarse.
- Puedes ajustar configuraciones adicionales según tus necesidades específicas de seguridad y rendimiento.
Con estos pasos, deberías tener un servidor OpenVPN configurado para autenticar usuarios contra un Active Directory de Windows Server usando el mismo certificado para todos los usuarios.