OpenVPN : authentification par user:pwd et non certificat pour simplifier l'utilisation sur NAS Synology

chiffrement 11 oct. 2015

Le DMS de Synology permet très simplement de configurer un compte client OpenVPN mais hélas ne propose que l’authentification par un couple user:pwd. On peut tout à fait bidouiller sur le NAS pour passer outre mais ça nécessite de mettre les mains dedans aussi dans un souci de simplicité voici comment modifier votre serveur VPN (OpenVPN) afin d’y ajouter une authentification via login:pwd.

Évidemment vous ne pouvez modifier votre serveur OpenVPN que si vous l’administrez vous-mêmes. Pour ceux qui seraient intéressés mais pas enclins à vous y mettre j’installe vos serveurs VPN (clairs/anonymes/1-X utilisateurs) pour quelques Euros. Je gagne de quoi me payer des cafés et vous gagnez en sérénité ;)

 

Le but est de servir de PAM, plugin d’authentification en général installé sur toute distribution Linux, pour gérer un accès au serveur OpenVPN via user:pwd et non certificat. Donc utiliser un compte existant sur la machine Linux hébergeant votre serveur OpenVPN.
Pour vérifier si vous avez PAM, un petit ls /etcsuffira (vous devez voir pam.d/ en l’occurrence).
Si vous ne l’avez pas installez-le.

Sur votre serveur il vous faut éditer le fichier de configuration d’OPenVPN :
sudo nano /etc/openvpn/openvpn.conf (ou server.conf selon vos installations)

Vous pouvez avoir différents contenus selon votre installation, voici un exemple

# Serveur UDP/907
mode server
proto udp
port 907
dev tun
sndbuf 0
rcvbuf 0
# Cles et certificats
crl-verify crl.pem
ca Testing.crt
cert Testing.crt
key Testing.key
dh dh4096.pem
tls-auth ta.key 1
key-direction 0
# Reseau
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 84.200.69.80"
push "dhcp-option DNS 84.200.70.40"
keepalive 10 120
# Securite
user nobody
group nogroup
chroot /etc/openvpn/jail
persist-key
persist-tun
comp-lzo
# Log
verb 3
mute 20
status openvpn-status.log
log-append /var/log/openvpn.log

 

A la fin ajoutez ceci

# No cert use, prefer user:pwd
lugin /usr/lib/openvpn/openvpn-auth-pam.so login
client-cert-not-required
username-as-common-name

 

Puis relancez votre serveur OpenVPN
sudo /etc/init.d/openvpn restart

 

Vous pouvez maintenant ajouter votre compte VPN sur un serveur Synology en utilisant un user:pwd. Et ce sera votre user:pwd du serveur Linux sur lequel tourne votre serveur OpenVPN.

 

 

Mots clés