GNU/Linux >> Tutoriales Linux >  >> Cent OS

OpenVPN seguro con autenticación de dos factores de WiKID en Centos 7

En un tutorial anterior, mostramos cómo configurar PAM-RADIUS para admitir la autenticación de dos factores. Ahora, y en futuros tutoriales, agregaremos servicios de acceso remoto a este servidor que también usará WiKID para la autenticación de dos factores. En este tutorial, demostraremos cómo aprovechar esa configuración para agregar la autenticación de dos factores a través de Radius a OpenVPN en Centos 7.

Además de publicar este tutorial, también estamos lanzando scripts de empaquetado que pueden crear automáticamente dispositivos virtuales como se describe en este tutorial.

Instalar el software.

Comience instalando el repositorio EPEL:

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-1.noarch.rpm
rpm -ivh epel-release-7-1.noarch.rpm

Ahora instale openvpn y easy-rsa:

yum install openvpn easy-rsa

Configurar OpenVPN

Cambie al directorio de muestra y copie el archivo de configuración de muestra en /etc/openvpn:

cd /usr/share/doc/openvpn-2.3.2/sample/ 
cp server.conf /etc/openvpn/fqdn.conf

donde fqdn es ese nombre de su servidor. No tiene que ser el nombre de dominio completo. Solo usa eso para iniciarlo a través de systemctl.

Crear nuevos certificados

mkdir -p /etc/openvpn/easy-rsa/keys/p> 
cp /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa

Edite su archivo vars, en particular los campos para el certificado. Luego, ejecute los comandos de certificado.

cd /etc/openvpn/easy-rsa/
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh 

Copie los archivos resultantes en /etc/openvpn o edite el archivo fqdn.conf para reflejar su ubicación.

Crear un certificado de cliente:

./build-key client

Edite el archivo fqnd.conf y agregue las siguientes líneas al final:

plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so sshd
client-cert-not-required
username-as-common-name

Configurar Firewalld para Openvpn:

firewall-cmd --add-service openvpn 
firewall-cmd --permanent --add-service openvpn
firewall-cmd --add-masquerade
firewall-cmd --permanent --add-masquerade

Ahora, inicie openvpn:

systemctl start [email protected]
systemctl enable [email protected]

Eso es todo. Debería poder descargar el certificado de cliente en su máquina y probar el inicio de sesión con su token WiKID. Tenga en cuenta que puede ejecutar el servidor openvpn usando 'openvpn /etc/openvpn/fqdn.conf' para solucionar problemas. Lo mismo para el cliente.

 Configuración del cliente

En el cliente, simplemente agregue la línea 'auth-user-pass' a la configuración del cliente para obligarlo a solicitar una contraseña. Agregue "auth-user-pass" al archivo de configuración del cliente. Ingrese su nombre de usuario como aparece en WiKID y su contraseña de un solo uso de WiKID cuando se le solicite en el cliente. PAM-RADIUS enviará las credenciales de autenticación a WiKID directamente o a través de un servidor Radius, según su configuración.

Scripts de empaquetado

Packer es una herramienta que crea dispositivos virtuales en varios formatos, como VirtualBox, VMware, EC2, Google Compute, etc. Consulte Creación de un dispositivo virtual comunitario OpenVPN listo para 2FA para obtener instrucciones completas.


Cent OS
  1. Acceda a OpenVPN desde una computadora cliente

  2. Configuración segura del servidor ProFTPD en CentOS 7 con TLS

  3. Cree su propio servidor combinado OpenVPN/WiKID para una VPN con autenticación de dos factores incorporada utilizando Packer.

  4. Cómo asegurar Nginx con Letsencrypt en Rocky Linux/Centos 8

  5. SSH seguro usando autenticación de dos factores en Ubuntu 16.04

Cómo asegurar ONLYOFFICE con Lets Encrypt y autenticación de dos factores

Protección de SSH en Redhat/Centos con la autenticación de dos factores de WiKID

Cómo configurar pam-radius para la autenticación de dos factores de WiKID en Centos 7

Cómo proteger el servidor CentOS 7 con ModSecurity

Cómo proteger Apache con Let's Encrypt en CentOS 8

Cómo proteger Nginx con Let's Encrypt en CentOS 8