logo openvpn notify

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 thoughts on “<span>Openvpn notify – notification email de connexion utilisateur</span>”

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">