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.