Avoir un réseau privé virtuel (VPN) est indispensable à cette ère de la technologie. Les VPN sont devenus de plus en plus cruciaux pour un usage personnel, notamment pour les entreprises et les sociétés. Et si vous hésitez encore sur la solution VPN à choisir, pourquoi ne pas envisager OpenConnect VPN?
OpenConnect VPN est une solution VPN gratuite avec des performances et des fonctionnalités de qualité professionnelle. Et dans ce tutoriel, vous apprendrez comment configurer et vous connecter au serveur VPN OpenConnect (ocserv).
Continuez à lire et éloignez les entités malveillantes de votre réseau!
Prérequis
Ce tutoriel comprend des démonstrations pratiques. Pour suivre, assurez-vous d’avoir les éléments suivants en place:
- A Linux server running Debian- This tutorial uses a Debian 11 Bullseye with hostname ocserv-debian.
- Un utilisateur administratif ou un utilisateur non root avec des privilèges sudo/root.
- A domain name pointed to your Linux server IP address – This tutorial uses a domain name vpn.atadomain.io.
- A client machine like Windows 10 or Linux Desktop – This tutorial uses a Windows 10 machine.
Installation du Serveur VPN OpenConnect
Le Serveur VPN OpenConnect est un serveur VPN basé sur SSL et open source pour Linux, disponible sur la plupart des distributions Linux, telles que Debian, Ubuntu, RHEL/CentOS et Fedora.
Le Serveur VPN OpenConnect prend en charge la plupart des clients, du bureau/ordinateur aux appareils mobiles (Android et iOS). De même, le Serveur VPN OpenConnect prend en charge plusieurs backends d’authentification, tels que Radius, OpenID, Kerberos et Smart Card.
Mais avant de tirer parti de ces fonctionnalités, vous devez d’abord installer le Serveur VPN OpenConnect, comme suit:
1. SSH vers votre serveur, et exécutez la commande suivante apt update
pour mettre à jour et rafraîchir l’index des packages. Cette commande garantit que vous disposez des dernières informations sur les packages.

2. Ensuite, exécutez la commande apt install
suivante pour installer le package ocserv
.
Une fois l’installation terminée, le nouveau service systemd appelé ocserv
sera opérationnel et

3. Maintenant, exécutez les commandes systemctl
suivantes pour vous assurer que le service ocserv
est en cours d’exécution.
Comme vous pouvez le voir dans la sortie, le statut du service ocserv
est activé et en cours d’exécution.

Génération de certificats SSL/TLS
Avec le serveur VPN OpenConnect installé, l’étape suivante consiste à vous assurer que vous pouvez vous connecter en toute sécurité au serveur VPN OpenConnect. Comment ? La première étape consiste à générer des certificats SSL/TLS via Certbot et LetsEncrypt.
Mais avant de générer des certificats, assurez-vous d’avoir une adresse e-mail pour vous inscrire à LetsEncrypt, et que le nom de domaine est pointé vers l’adresse IP du serveur Debian.
Pour générer des certificats SSL/TLS :
1. Exécutez la commande ci-dessous pour installer certbot
sur votre serveur Linux.

2. Ensuite, exécutez la commande certbot
ci-dessous pour générer des certificats SSL/TLS. Assurez-vous de modifier l’adresse e-mail ([email protected]
) et le nom de domaine (vpn.atadomain.io
) en conséquence.

3. Enfin, exécutez la commande suivante pour vérifier que les certificats SSL/TLS générés existent dans le répertoire de votre domaine.
Si cela réussit, vous verrez les clés publique (fullchain.pem) et privée (privkey.pem), comme indiqué ci-dessous.

Configuration du serveur VPN OpenConnect
Même si vous disposez des certificats SSL/TSL, ils resteront inactifs tant que vous n’aurez pas configuré le serveur VPN OpenConnect. Vous modifierez la configuration par défaut du serveur VPN OpenConnect (/etc/ocserv/ocserv.conf) comme suit :
- Modifiez la méthode d’authentification par défaut.
- Désactivez l’UDP sur le serveur VPN OpenConnect.
- Modifiez les certificats SSL/TLS par défaut.
- Configuration du nom de domaine et d’un réseau interne ou d’une adresse IP pour les clients.
Pour configurer le serveur VPN OpenConnect, suivez les étapes ci-dessous :
1. Tout d’abord, exécutez la commande cp
ci-dessous pour sauvegarder la configuration par défaut du serveur VPN OpenConnect (ocserv.conf
) dans ocserv.conf.orig
stocké dans le répertoire /etc/ocserv
.
2. Ensuite, ouvrez la configuration du serveur VPN OpenConnect (/etc/ocserv/ocserv.conf) à l’aide de votre éditeur préféré.
3. Modifiez la valeur du paramètre auth
en plain[passwd=/etc/ocserv/ocpasswd]
, comme indiqué ci-dessous. Cela remplace l’authentification par défaut avec le fichier de mots de passe (Pluggable Authentication Modules (PAM)).
auth = "plain[passwd=/etc/ocserv/ocpasswd]"

4. Maintenant, mettez un #
devant le paramètre udp-port
pour désactiver les connexions UDP par défaut.
Vous utiliserez OpenConnect VPN en mode TCP uniquement, ce qui vous permettra d’augmenter la vitesse via les paramètres du noyau.
tcp-port = 443
#udp-port = 443

5. Remplacez le chemin du fichier de certificat dans le paramètre server-cert
par la clé publique et le paramètre server-key
par la clé privée.
server-cert = /etc/letsencrypt/live/vpn.atadomain.io/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.atadomain.io/privkey.pem

6. Changez la valeur du paramètre try-mtu-discovery
à true
pour activer la découverte de la MTU. Cela augmente la vitesse et les performances du serveur VPN OpenConnect.
try-mtu-discovery = true

7. Ensuite, saisissez le nom de domaine du serveur VPN OpenConnect dans le paramètre default-domain
et modifiez l’adresse IP interne par défaut dans le paramètre ipv4-network
.
Dans cet exemple, les clients VPN utiliseront le réseau interne 10.11.0.0/24
.
default-domain = vpn.atadomain.io
ipv4-network = 10.11.0.0

8. Commentez les paramètres de route
par défaut en ajoutant le caractère #
au début de chaque ligne pour désactiver la passerelle de route par défaut. Une fois terminé, enregistrez le fichier et quittez l’éditeur.
#route = 10.0.0.0/8
#route = 172.16.0.0/12
#route = 192.168.0.0/16
#route = fd00::/8
#route = default

9. Maintenant, exécutez les commandes suivantes pour redémarrer
le service ocserv
, appliquer les modifications et lister tous les ports ouverts (ss
) sur votre système.
Si le serveur VPN OpenConnect est en cours d’exécution, vous verrez le port 443 en état LISTEN utilisé par le service ocserv, comme indiqué ci-dessous.

Ajout d’utilisateurs au serveur VPN OpenConnect
Avec le serveur VPN OpenConnect configuré, vous avez besoin d’un moyen de vous y connecter. Comment ? En créant et en ajoutant un utilisateur VPN au serveur VPN OpenConnect.
Pour ajouter un utilisateur au serveur VPN OpenConnect, vous allez créer un utilisateur VPN et générer un fichier de mot de passe via l’utilitaire ocpasswd
comme suit :
Exécutez la commande ocpasswd
ci-dessous pour créer un nouvel utilisateur. Lorsque vous y êtes invité, saisissez un nouveau mot de passe pour l’utilisateur et répétez. Le nom d’utilisateur choisi pour ce tutoriel est atauser
, mais vous pouvez fournir le vôtre.
Une fois l’utilisateur créé, le fichier de mot de passe (/etc/ocserv/ocpasswd
) est également créé.

Maintenant, exécutez la commande cat
suivante pour vérifier les détails du fichier de mot de passe (/etc/ocserv/ocpasswd
).

Ajout de règles de pare-feu UFW pour ouvrir les ports cruciaux
Sur un système Debian, le pare-feu par défaut est IPTables, ce qui nécessite une compréhension approfondie du réseau pour être configuré. Pourquoi ne pas simplifier le processus ? Dans ce tutoriel, vous installerez et configurerez l’UFW comme pare-feu par défaut.
1. Exécutez la commande ci-dessous pour installer
UFW tout en acceptant automatiquement toutes les invites (-y
)

2. Une fois UFW installé, exécutez les commandes ufw
suivantes pour ouvrir les ports cruciaux pour que le serveur VPN OpenConnect fonctionne correctement.
Lorsqu’on vous demande, entrez Y et appuyez sur Entrée pour procéder à l’opération, comme indiqué ci-dessous.

3. Enfin, exécutez la commande suivante pour vérifier le statut d’UFW et assurez-vous qu’UFW est en cours d’exécution.
La sortie ci-dessous montre le statut actif d’UFW et toutes les règles de pare-feu ajoutées.

Activation de la redirection de port
Avec un serveur VPN en cours d’exécution, vous devez diriger le trafic depuis le monde extérieur vers votre serveur en activant la redirection de port. Vous autoriserez la redirection de port sur votre serveur Debian via les paramètres du noyau.
Pour activer la redirection de port, suivez ces étapes :
Exécutez la commande suivante, qui ne produit pas de sortie dans le terminal, mais crée un nouveau fichier appelé /etc/sysctl.d/60-ocserv.conf
. Ce fichier contient des paramètres du noyau pour activer la redirection de port sur votre système.
Maintenant, exécutez la commande sysctl
ci-dessous pour appliquer les nouveaux paramètres du noyau et activer la redirection de port.

Configuration du NAT avec UFW
Activer la redirection de port n’est que l’une des premières étapes à franchir. Cette fois, vous devez vous assurer que les clients VPN peuvent se connecter à Internet ou à des réseaux spécifiques via le serveur VPN OpenConnect. Comment ? En configurant le NAT via UFW.
Pour configurer NAT avec UFW pour le serveur OpenConnect VPN :
1. Exécutez la commande suivante pour vérifier la liste des interfaces sur votre système.
Dans cet exemple, l’interface eth1 sera la passerelle NAT pour les clients VPN.

2. Ensuite, ouvrez la configuration UFW (/etc/ufw/before.rules) à l’aide de votre éditeur préféré, et ajoutez les lignes suivantes avant l’option *filter
. Ces configurations permettront de NATer les utilisateurs VPN (spécifiez l’interface de sortie) ou le réseau interne vers l’interface eth1
.
N’oubliez pas de modifier le sous-réseau (10.11.0.0/24
) avec les réseaux des clients VPN et l’interface (eth1
) avec votre interface réseau.
# NAT pour le serveur OpenConnect VPN
# avec le réseau client 10.11.0.0/24
# vers l'interface eth1
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.11.0.0/24 -o eth1 -j MASQUERADE
COMMIT

3. Ajoutez les lignes suivantes sous la section ok icmp code for FORWARD
des options ufw-before-forward
, enregistrez le fichier et quittez l’éditeur.
Ces configurations permettent la redirection (source et destination) du réseau client VPN.
# autoriser la redirection du réseau client VPN
-A ufw-before-forward -s 10.11.0.0/24 -j ACCEPT
-A ufw-before-forward -d 10.11.0.0/24 -j ACCEPT

4. Une fois enregistré, exécutez la commande suivante pour recharger les règles UFW et redémarrer le service UFW. Cela garantit que la configuration NAT sera appliquée au système.
5. Enfin, exécutez la commande iptables
suivante pour vérifier l’état du NAT sur UFW, car le backend de UFW est IPTables.
Lorsque cela réussit, vous recevrez une sortie similaire à celle ci-dessous.

Connexion au serveur OpenConnect VPN via OpenConnect-GUI
Suivant les instructions, vous devriez maintenant avoir un serveur OpenConnect VPN entièrement fonctionnel en cours d’exécution. Mais après tout ce travail acharné, le moment de vérité est arrivé.
Le serveur OpenConnect VPN peut fonctionner, mais il n’y a qu’une seule meilleure façon de le vérifier – se connecter au serveur OpenConnect VPN.
Pour vous connecter au serveur OpenConnect VPN, vous devez installer l’application OpenConnect-GUI :
1. Ouvrez votre navigateur web préféré et visitez la page GitHub de OpenConnect-GUI.
2. Ensuite, téléchargez et installez l’application OpenConnect VPN pour Windows.

3. Ouvrez le client VPN OpenConnect-GUI et cliquez sur le menu Fichier → Profils → Nouveau profil (avancé) (ou appuyez sur Ctrl+Shift+N). Une petite fenêtre apparaît où vous pouvez remplir les détails du nouveau profil (étape quatre).

4. Maintenant, remplissez les informations du profil VPN avec les éléments suivants :
- Nom – Fournissez un nom de connexion (par exemple, testvpn).
- Passerelle – Spécifiez le nom de domaine de votre serveur OpenConnect VPN (par exemple, https://vpn.atadomain.io).
- Nom d’utilisateur – L’utilisateur ajouté (atauser) au serveur OpenConnect VPN.
Une fois rempli, cliquez sur Enregistrer pour confirmer les informations et créer le profil VPN.

5. Ensuite, configurez votre profil VPN nouvellement créé (testvpn) en tant que Serveur, et cliquez sur Connecter pour établir une connexion au serveur VPN OpenConnect.

6. Lorsque vous y êtes invité, saisissez le Mot de passe de votre utilisateur VPN et cliquez sur OK.

7. Une fois connecté, la couleur du cadenas passe au vert, comme illustré ci-dessous.

8. Enfin, cliquez sur l’onglet Info VPN pour obtenir des informations détaillées sur la connexion. Vous devriez voir l’adresse IP interne que vous avez obtenue à partir du serveur VPN, le serveur DNS et la version TLS que vous utilisez.

Conclusion
Tout au long de ce tutoriel, vous avez appris à configurer le serveur VPN OpenConnect. En même temps, vous avez appris à utiliser des certificats SSL/TSL et à ajouter des règles de pare-feu pour établir une connexion sécurisée au serveur VPN OpenConnect.
Avec cette nouvelle connaissance, pourquoi ne pas intégrer le serveur VPN OpenConnect avec plusieurs référentiels d’authentification, tels que Radius et OpenID? Ou ajouter une couche de sécurité pour l’authentification client via l’authentification à deux facteurs?