GNU/Linux >> Tutoriels Linux >  >> Cent OS

Sécurisez OpenVPN avec l'authentification à deux facteurs de WiKID sur Centos 7

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.


Cent OS
  1. Accéder à OpenVPN depuis un ordinateur client

  2. Configuration sécurisée du serveur ProFTPD sur CentOS 7 avec TLS

  3. Créez votre propre serveur combiné OpenVPN/WiKID pour un VPN avec une authentification à deux facteurs intégrée à l'aide de Packer.

  4. Comment sécuriser Nginx avec Letsencrypt sur Rocky Linux/Centos 8

  5. Sécurisez SSH en utilisant l'authentification à deux facteurs sur Ubuntu 16.04

Comment sécuriser ONLYOFFICE avec Lets Encrypt et l'authentification à deux facteurs

Sécurisation de SSH sur Redhat/Centos avec l'authentification WiKID à deux facteurs

Comment configurer pam-radius pour l'authentification WiKID à deux facteurs sur Centos 7

Comment sécuriser le serveur CentOS 7 avec ModSecurity

Comment sécuriser Apache avec Let's Encrypt sur CentOS 8

Comment sécuriser Nginx avec Let's Encrypt sur CentOS 8