Openvpn notify – notification email de connexion utilisateur

Lorsque l’on souhaite mettre à disposition des employés un VPN, il est important de savoir qui l’utilise. Il existe évidement le log habituel, mais pas très pratique dans la majorité des cas.

Pour savoir qui est connecté en temps réel, on peut déjà utiliser cette option dans la configuration serveur l’OpenVPN :

Mais c’est encore mieux d’être averti par mail en live que quelqu’un se connecte à notre VPN OpenVPN !

Il faut ajouter ces 2 lignes dans le fichier de configuration serveur OpenVPN :

Cela permet à OpenVPN de faire appel à ces scripts lors d’une connexion ou déconnexion d’un client. Dans mon cas, c’est le même script, car des variables d’environnement permettent d’obtenir l’action (connect ou disconnect) et de gérer l’action désirée dans le script.

Les variables d’environnement servent à passer les paramètres d’OpenVPN dont on a besoin dans notre script. Il existe une liste liste impressionnante, voir le man d’openvpn à la section Environmental Variables.

Celles que j’ai utilisées :

  • $script_type : permet de récupérer l’action client-connect ou client-disconnect
  • $config : permet de récupérer le chemin absolut de la configuration vpn (pratique si on dispose de plusieurs VPN afin de les distinguer)
  • $common_name : le nom du client openvpn afin de savoir qui s’y connecte
  • $trusted_ip : l’IP publique par laquelle le client se connecte au VPN
  • $ifconfig_remote : l’IP interne du VPN obtenue par le client

Je vous livre mon script “tout fait qui va bien” dans la suite de cet article, il est personnalisable et sous licence GPLv3.

Dans ce script les fonctions connect-action et disconnect-action sont personnalisables.

Dans mon cas je n’utilise que la notification mail appelée dans une autre fonction. openvpn-notify.sh.

On fait un reload d’openvpn pour les options serveur rajoutées et voilà.

 

 

1 réponse

  1. 13 août 2016

    […] script de Belgotux utilisé par les directives client-connect et client-disconnect permet de notifier par un email les […]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Apprenez comment les données de vos commentaires sont utilisées.

En continuant à utiliser le site, vous acceptez l’utilisation des cookies. Plus d’informations

Les paramètres des cookies sur ce site sont définis sur « accepter les cookies » pour vous offrir la meilleure expérience de navigation possible. Si vous continuez à utiliser ce site sans changer vos paramètres de cookies ou si vous cliquez sur "Accepter" ci-dessous, vous consentez à cela.

Fermer