Icono del sitio Binario 0

Configurar un servidor OpenVPN y autenticar contra un Active Directory (AD) de Windows Server

Artículos Guías Manuales Sistemas Linux Windows Binario 0

Artículos Guías Manuales Sistemas Linux Windows Binario 0

FacebookEmailWhatsAppLinkedInRedditXShare

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

  1. Un servidor Linux (Ubuntu, CentOS, etc.) para instalar OpenVPN.
  2. Un Windows Server con Active Directory configurado.
  3. Acceso administrativo a ambos servidores.
  4. 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

  1. Configurar Easy-RSA

    make-cadir ~/openvpn-ca
    cd ~/openvpn-ca
  2. Editar vars

    Edita el archivo vars en el directorio openvpn-ca para 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"
  3. 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

  1. Copiar archivos necesarios

    cd ~/openvpn-ca/pki
    sudo cp ca.crt issued/server.crt private/server.key /etc/openvpn/
    sudo cp dh.pem /etc/openvpn/
    sudo cp ta.key /etc/openvpn/
  2. Crear archivo de configuración del servidor

    sudo nano /etc/openvpn/server.conf

    Contenido básico de server.conf:

    port 1194
    proto udp
    dev tun
    ca ca.crt
    cert server.crt
    key server.key
    dh dh.pem
    server 10.8.0.0 255.255.255.0
    ifconfig-pool-persist
    ipp.txt
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 8.8.8.8"
    push "dhcp-option DNS 8.8.4.4"
    keepalive 10 120
    tls-auth ta.key 0
    cipher AES-256-CBC
    user nobody
    group nogroup
    persist-key
    persist-tun
    status openvpn-status.log
    log-append /var/log/openvpn.log
    verb 3
    plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth/ldap.conf
  3. Instalar el plugin LDAP

    sudo apt-get install openvpn-auth-ldap
  4. Configurar LDAP

    Crea el archivo /etc/openvpn/auth/ldap.conf:

    <LDAP> URL ldap://your-ldap-server
    BindDN "CN=binduser,OU=users,DC=example,DC=com"
    Password "bindpassword"
    Timeout 15 TLSEnable yes
    TLSCACertFile /etc/ssl/certs/ca-certificates.crt
    FollowReferrals yes
    DerefAliases yes
    </LDAP>

    <Authorization>
    BaseDN "OU=users,DC=example,DC=com"
    SearchFilter "(sAMAccountName=%u)"
    RequireGroup false
    </Authorization>

Paso 4: Configurar el cliente OpenVPN

  1. Crear archivo de configuración del cliente

    nano ~/client.ovpn

    Contenido básico de client.ovpn:

    client
    dev tun
    proto udp
    remote your-server-ip 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    remote-cert-tls server
    tls-auth ta.key 1
    cipher AES-256-CBC
    verb 3
    auth-user-pass
    <ca>
    -----BEGIN CERTIFICATE-----
    # Certificado CA
    -----END CERTIFICATE-----
    </ca>

Paso 5: Iniciar y habilitar OpenVPN

  1. Iniciar OpenVPN

    sudo systemctl start openvpn@server
    sudo systemctl enable openvpn@server
  2. Verificar el estado

    sudo systemctl status openvpn@server

Paso 6: Probar la conexión del cliente

  1. Transferir el archivo client.ovpn al cliente y probar la conexión.

    sudo openvpn --config client.ovpn
  2. Autenticarse con las credenciales de Active Directory.

Notas adicionales

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.

Salir de la versión móvil