Dans un tutoriel précédent, nous avons montré comment configurer PAM-RADIUS pour prendre en charge l'authentification à deux facteurs. Maintenant, et dans de futurs didacticiels, nous ajouterons des services d'accès à distance à ce serveur qui utilisera également WiKID pour l'authentification à deux facteurs. Dans ce didacticiel, nous allons montrer comment tirer parti de cette configuration pour ajouter une authentification à deux facteurs via radius à OpenVPN sur Centos 7.
En plus de publier ce didacticiel, nous publions également des scripts packer qui peuvent créer automatiquement des appliances virtuelles comme décrit dans ce didacticiel.
Installer le logiciel.
Commencez par installer le référentiel 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
Installez maintenant openvpn et easy-rsa :
yum install openvpn easy-rsa
Configurer OpenVPN
Accédez au répertoire d'exemple et copiez l'exemple de fichier de configuration dans /etc/openvpn :
cd /usr/share/doc/openvpn-2.3.2/sample/
cp server.conf /etc/openvpn/fqdn.conf
où fqdn est le nom de votre serveur. Il n'est pas nécessaire que ce soit le nom de domaine complet. Vous l'utilisez simplement pour le démarrer via systemctl.
Créer de nouveaux certificats
mkdir -p /etc/openvpn/easy-rsa/keys/p>
cp /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
Modifiez votre fichier vars, en particulier les champs du certificat. Ensuite, exécutez les commandes de certificat.
cd /etc/openvpn/easy-rsa/
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh
Copiez les fichiers résultants dans /etc/openvpn ou modifiez le fichier fqdn.conf pour refléter leur emplacement.
Créer un certificat client :
./build-key client
Modifiez le fichier fqnd.conf et ajoutez les lignes suivantes en bas :
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so sshd client-cert-not-required username-as-common-name
Configurez Firewalld pour Openvpn :
firewall-cmd --add-service openvpn
firewall-cmd --permanent --add-service openvpn
firewall-cmd --add-masquerade
firewall-cmd --permanent --add-masquerade
Maintenant, démarrez openvpn :
systemctl start [email protected]
systemctl enable [email protected]
C'est ça. Vous devriez pouvoir télécharger le certificat client sur votre ordinateur et tester la connexion à l'aide de votre jeton WiKID. Notez que vous pouvez exécuter le serveur openvpn en utilisant 'openvpn /etc/openvpn/fqdn.conf' pour dépanner. Idem pour le client.
Configuration client
Sur le client, ajoutez simplement la ligne 'auth-user-pass' à la configuration du client pour le forcer à demander un mot de passe. Ajoutez "auth-user-pass" au fichier de configuration du client. Entrez votre nom d'utilisateur tel qu'indiqué dans WiKID et votre code d'accès à usage unique WiKID lorsque vous y êtes invité sur le client. PAM-RADIUS transmettra les identifiants d'authentification à WiKID directement ou via un serveur radius en fonction de votre configuration.
Scripts de packer
Packer est un outil qui crée des appliances virtuelles dans différents formats tels que VirtualBox, VMware, EC2, Google Compute, etc. Veuillez consulter Créer une appliance virtuelle communautaire OpenVPN compatible 2FA pour obtenir des instructions complètes.