Authentification à deux facteurs dans OpenVPN avec bot Telegram

L'article décrit comment configurer le serveur OpenVPN pour activer l'authentification à deux facteurs avec le bot Telegram, qui enverra un message de confirmation lors de la connexion.


OpenVPN est un serveur VPN open source bien connu et largement utilisé pour organiser un accès sécurisé des employés aux ressources internes de l'organisation.


En tant qu'authentification pour se connecter à un serveur VPN, une combinaison d'une clé et d'un identifiant / mot de passe utilisateur est généralement utilisée. Dans le même temps, le mot de passe stocké sur le client transforme l'ensemble complet en un seul facteur qui n'offre pas le niveau de sécurité approprié. Un attaquant, accédant à un ordinateur client, accède également à un serveur VPN. Cela est particulièrement vrai pour la connexion à partir de machines exécutant Windows.


L'utilisation du deuxième facteur de 99% réduit le risque d'accès illégal et ne complique pas le processus de connexion pour les utilisateurs.


Faites immédiatement une réservation, pour la mise en œuvre, vous devez connecter un serveur d'authentification tiers multifactor.ru, dans lequel vous pouvez utiliser un tarif gratuit pour vos besoins.


Principe d'opération


  1. OpenVPN utilise le plugin openvpn-plugin-auth-pam pour l'authentification
  2. Le plugin vérifie le mot de passe utilisateur sur le serveur et demande le deuxième facteur via le protocole RADIUS dans le service Multifactor
  3. Le multifacteur envoie un message via le bot Telegram à l'utilisateur avec confirmation d'accès
  4. L'utilisateur confirme la demande d'accès dans le chat Telegram et se connecte au VPN

Installer le serveur OpenVPN


Il existe de nombreux articles sur Internet qui décrivent le processus d'installation et de configuration d'OpenVPN, nous ne les reproduirons donc pas. Si vous avez besoin d'aide, vous trouverez plusieurs liens vers des supports de formation à la fin de l'article.


Réglage multifactoriel


Accédez au système de gestion multifactoriel , accédez à la section "Ressources" et créez un nouveau VPN.
Après la création, deux paramètres seront disponibles pour vous: NAS-IDentifier et Shared Secret , ils seront nécessaires pour la configuration suivante.



"", "All users" " ", VPN .


"VPN users", Telegram , VPN.



"" , VPN, "VPN users" . VPN .



OpenVPN


/etc/openvpn/server.conf PAM


plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn

/usr/lib/openvpn/plugins/ /usr/lib64/openvpn/plugins/ .


pam_radius_auth


$ sudo yum install pam_radius

/etc/pam_radius.conf RADIUS


radius.multifactor.ru   shared_secret   40

:


  • radius.multifactor.ru —
  • shared_secret — VPN
  • 40 —

( )

service-type openvpn


$ sudo vi /etc/pam.d/openvpn


auth    required pam_radius_auth.so skip_passwd client_id=[NAS-IDentifier]
auth    substack     password-auth
account substack     password-auth

PAM pam_radius_auth :


  • skip_passwd — RADIUS ( ).
  • client_id — [NAS-Identifier] VPN .
    .

, .


OpenVPN


$ sudo systemctl restart openvpn@server



auth-user-pass


OpenVPN, , . Telegram



, .


, OpenVPN .


-


, :


  • Sur un serveur avec OpenVPN, il y a un utilisateur avec un mot de passe défini
  • Accès depuis le serveur via le port UDP 1812 à l'adresse radius.multifactor.ru
  • Les paramètres NAS-Identifier et Shared Secret sont correctement spécifiés
  • Un système multifacteur a un utilisateur avec la même connexion et l'accès au groupe d'utilisateurs VPN
  • Méthode d'authentification configurée par l'utilisateur via Telegram

Si vous n'avez pas précédemment configuré OpenVPN, lisez l' article détaillé .


L'instruction est faite avec des exemples sur CentOS 7.

Source: https://habr.com/ru/post/undefined/


All Articles