Pour l’accès à l’infrastructure numérique de l’entreprise et à des applications informatiques à distance, comme si on y est sur place, un des meilleurs moyens si on veut accroître la sécurité des échanges est d'utilser le VPN.
VPN signifie Virtual Private Network ou Réseau Privé Virtuel.
Quels sont les avantages d'utiliser un VPN?
-
- La sécurité: les données sont cryptées, d'où un niveau de protection en plus;
- L'accès à distance;
- Le chiffrement: dans des réseaux WiFi publiques, les données non cryptées peuvent être lues;
- L'anonymat: les usagers sont anonymes pendant leur navigation sur le web:
- Le changement d'adresse IP: l'usager peut changer son adresse IP et continuer de surfer;
- Eviter des restriction de bandes sur certains contenus.
De nombreux professionnels proposent ce genre de services, il suffit de taper VPN, dans votre moteur de recherche, pour découvrir les offres.
Il est existe aussi des solutions open source, comme OpenVPN par exemple qui permettent d'implémenter des réseaux privés virtuels pour des connexions site à site ou point à point sécurisées.
Comment installer son propre serveur VPN Linux en utilisant OpenVPN en dix étapes?
Pré-requis:
-
- Un serveur Ubuntu 18-04 en état de marche;
- Le parefeu devra permettre les trafics TCP sur le port 943 et UDP sur le port 1194;
- Une adresse IP privée statique pour le serveur;
- Le serveur SSH doit aussi être installé si on veut accéder à distance avec Putty par exemple;
- Avoir des privilèges root ou sudo;
Etapes de mises en place:
Voici les différentes étapes qu'on va suivre pour mettre en place le serveur VPN:
- Etape 1 : Mise à jour des paquetages Linux
- Etape 2 : Installation de OpenVPN
- Etape 3 : Téléchargement et configuration de EasyRSA
- Etape 4 : Création d’un certificat de la clé et des fichiers de chiffrement du serveur
- Etape 5 : Création d’une paire Certificat-Clé client
- Etape 6 : Configuration du service OpenVPN
- Etape 7 : Configuration réseau
- Etape 8 : Démarrage du serveur OpenVPN
- Etape 9 : Céation d’une infrastructure de configuration client
- Etape 10 : Test de connexion du client
Etape 1 : Mise à jour des paquetages Linux
Dans la fenêtre de commande, taper :
sudo apt-get update -y
Ensuite
sudo apt-get upgrade –y
Une fois que c’est fini, redémarrer le serveur avec la commande
sudo reboot
Etape 2 : Installation de OpenVPN
Par défaut OpenVPN se trouve dans le « repository » de Ubuntu 18.04. On peut l’installer en tapant la commande
sudo apt-get install openvpn –y
Lorsque l’installation est terminée, on peut maintenant passer à l’étape suivante.
Etape 3 : Téléchargement et configuration de EasyRSA
On va mettre en place une autorité de certification (CA : certificate authority), EasyRSA sera donc utilisé et configuré à cet effet.
Télécharger l’archive EasyRSA à partir du site officiel, avec la commande :
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/EasyRSA-3.0.4.tgz
Puis décompresser l’archive :
tar –xvzf EasyRSA-3.0.4.tgz
EasyRSA est à présent installé avec un fichier de configuration qui va être modifié, pour définir un certain nombre de paramètres pour l’autorité de certification (AC).
Il faut aller dans le répertoire EasyRSA-3.0.4, puis copier le fichier « vars.example », puis le nommer « vars »
cp vars.example vars
Ouvrir le fichier vars, avec l’éditeur nano
sudo nano ~/EasyRSA-3.0.4/vars
Dé commenter et changer les paramètres par défaut des champs suivants selon votre convenance. Pour ce me concerne:
set_var EASYRSA_REQ_COUNTRY "FRANCE"
set_var EASYRSA_REQ_PROVINCE "ILE-DE-FRANCE"
set_var EASYRSA_REQ_CITY "GUYANCOURT"
set_var EASYRSA_REQ_ORG "Info-elec-sie co"
set_var EASYRSA_REQ_EMAIL "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. "
set_var EASYRSA_REQ_OU "SIE"
Une fois terminé, sauver, puis fermer le fichier.
Ensuite lancer un script appelé « easyrsa » avec l’option ‘init-pki’ pour créer une infrastructure de clé publique.
Il faudra se placer dans le répertoire /EasyRSA-3.0.4 ; puis taper la commande
./easyrsa init-pki
En réponse on a ceci :
Note: using Easy-RSA configuration from: ./vars
init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /home/my_rep/EasyRSA-3.0.4/pki
Exécuter à nouveau le script easyrsa, avec l’option build-ca pour mettre en place l’AC et créer deux fichiers nommés : ca.crt et ca.key, dont l’un (ca.crt) constitue le certificat public de l’AC, pour que les deux parties client et serveur VPN, puissent s’informer mutuellement qu’ils font partie du même réseau de confiance ; et l’autre (ca.key) constitue la clé privée que l’AC utilise pour signer les certificats des serveurs et des clients.
Juste une remarque avant de poursuivre; un attaquant peut s’introduire dans votre AC et récupérer le fichier ca.key ensuite signer les certificats puis avoir accès au VPN. Le VPN devient alors vulnérable; pour éviter cela il conseillé de ne pas utiliser la même machine pour l’AC et le serveur VPN. L’AC devra être isolé lorsqu’il n’y a pas des demandes de signature des certificats.
Continuons l'installation. Si on ne souhaite pas à chaque fois saisir un mot de passe lorsqu’on va interagir avec l’AC, il faudra donc exécuter le script easyrsa build-ca avec l’option nopass :
./easyrsa build-ca nopass
En réponse on a:
Note: using Easy-RSA configuration from: ./vars
Generating a RSA private key
..........................................+++
......+++
writing new private key to '/home/jtbb/EasyRSA-3.0.4/pki/private/ca.key.LnIXFpbh5X'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:
Il sera demandé de donner un nom commun à votre AC, par souci de simplicité, laisser le nom proposé par défaut, taper la touche ENTRER.
L’AC est à présent en place et prête à signer des certificats.
Etape 4 : Création d’un certificat de la clé et des fichiers de chiffrement du serveur
A présent le serveur AC est prêt ; on va générer une clé de chiffrement et une demande de certificat depuis ce même serveur, et ensuite transférer la demande à l’AC pour être signée.
Aller dans le répertoire EasyRSA-3.0.4 ; puis exécuter le script « easyrsa » avec les commandes « gen-req » « server » avec l’option « nopass »:
./easyrsa gen-req server nopass
On obtient en réponse:
Note: using Easy-RSA configuration from: ./vars
Generating a RSA private key
...................................................................................................................................+++
.........+++
writing new private key to '/home/bidj/EasyRSA-3.0.4/pki/private/server.key.UQrnlgk7EG'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [server]:
On peut laisser le nom par défaut « server », puis taper ENTRER.
La clé privée du serveur et la demande de certificat sont crées.
Keypair and certificate request completed. Your files are:
req: /home/bidj/EasyRSA-3.0.4/pki/reqs/server.req
key: /home/bidj/EasyRSA-3.0.4/pki/private/server.key
Maintenant copier cette clé dans le répertoire /etc/openvpn/
sudo cp ~/EasyRSA-3.0.4/pki/private/server.key /etc/openvpn/
Puisque votre AC et OpenVPN sont sur la même machine, on peut à présent signer la demande.
./easyrsa sign-req server server
Taper « yes » puis sur la touche ENTRER. On a le résultat suivant:
Using Easy-RSA configuration from: ./openssl-easyrsa.cnf
# D’autres messages ici ….
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
commonName :ASN.1 12:’serevr’
Certificate is to be certified until Mar 21 18:54:40 2031 GMT (3650 days)
Write out database with 1 new entries
Data Base Updated
Certificate created at: /home/bidj/EasyRSA-3.0.4/pki/issued/server.crt
Copier à présent les fichiers ca.crt et server.crt dans le répertoire /etc/openvpn/
Taper :
sudo cp ~/EasyRSA-3.0.4/pki/ca.crt /etc/openvp/
Puis
sudo cp ~/EasyRSA-3.0.4/pki/issued/server.crt /etc/openvpn/
A présent on va créer une clé robuste DIFFIE-HELMAN, pour cela exécuter le script:
./easyrsa gen-dh
On devra obtenir ceci :
Note: using Easy-RSA configuration from: ./vars
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
...........................................+...........+.......+....................................................................................................................................................................................................+....................+......+....................................................................................................................................................................................+...................+................................................................+.............................................................+.......................................................................................................+............++*++*++*++*
DH parameters of size 2048 created at /home/jtbb/EasyRSA-3.0.4/pki/dh.pem
Ensuite on va générer une signature HMAC pour renforcer les vérifications TLS du serveur.
openvpn --genkey --secret ta.key
Ensuite copier les fichiers ta.key et dh.pem dans le répertoire /etc/openvpn/ à l’aide des commandes suivantes:
sudo cp ~/EasyRSA-3.0.4/ta.key /etc/openvpn/
Puis
sudo cp ~/EasyRSA-3.0.4/pki/dh.pem /etc/openvpn/
A présent les certificats et les clés ont été générés.
Etape 5 : Création d’une paire Certificat-Clé client
On va maintenant générer une clé privée et un certificat pour un client que nous allons appeler « pierre » sur le serveur. Créer un répertoire où seront stockés les fichiers de certificat et de clé du client.
mkdir –p ~/client/keys
Aller dans le répertoire /EasyRSA-3.0.4
cd EasyRSA-3.0.4
Puis exécuter le script easyrsa ; générer une demande client
./easyrsa gen-req pierre nopass
Taper sur la touche ENTRER ; on aura le résultat suivant:
Note: using Easy-RSA configuration from: ./vars
Can't load /home/bidj/EasyRSA-3.0.4/pki/.rnd into RNG
140163723592128:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/home/bidj/EasyRSA-3.0.4/pki/.rnd
Generating a RSA private key
..................................................+++++
.........+++++
writing new private key to '/home/bidj/EasyRSA-3.0.4/pki/private/pierre.key.EbdX3MJa3R'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [pierre]:
Keypair and certificate request completed. Your files are:
req: /home/bidj/EasyRSA-3.0.4/pki/reqs/pierre.req
key: /home/bidj/EasyRSA-3.0.4/pki/private/pierre.key
Les paires certificats-clés et fichiers de configuration des clients seront stockés dans le répertoire /client crée précédemment. Avant toute chose, il faut verrouiller les autorisations de ce répertoire par mesure de sécurité. Taper:
chmod –R 700 ~/client
Copier la clé du client pierre dans le répertoire /client
sudo cp /home/bidj/EasyRSA-3.0.4/pki/private/pierre.key /home/bidj/client/keys/
Ensuite signer le certificat à l’aide de la commande suivante
./easyrsa sign-req client pierre
Confirmer la demande en tapant yes; En réponse on a:
You are about to sign the following certificate.
Please check over the details shown below for accuracy. Note that this request
has not been cryptographically verified. Please be sure it came from a trusted
source or that you have verified the request checksum with the sender.
Request subject, to be signed as a client certificate for 3650 days:
subject=
commonName = pierre
Type the word 'yes' to continue, or any other input to abort.
Confirm request details: yes
Using configuration from ./openssl-easyrsa.cnf
Can't load /home/bidj/EasyRSA-3.0.4/pki/.rnd into RNG
140126491890112:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/home/bidj/EasyRSA-3.0.4/pki/.rnd
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName :ASN.1 12:'pierre'
Certificate is to be certified until Mar 21 21:10:48 2031 GMT (3650 days)
Write out database with 1 new entries
Data Base Updated
Certificate created at: /home/bidj/EasyRSA-3.0.4/pki/issued/pierre.crt
Ensuite copier le fichier du certificat client pierre dans le répertoire /client/keys/
sudo cp ~/EasyRSA-3.0.4/pki/issued/pierre.crt ~/client/keys/
Ensuite copier les fichiers ca.crt et ta.key dans le répertoire /client/keys/
sudo cp ~/EasyRSA-3.0.4/ta.key ~/client/keys/
Puis
sudo cp /etc/openvpn/ca.crt ~/client/keys/
Les fichiers clients et serveur ont été crées.
Etape 6 : Configuration du service OpenVPN
Les clés et les certificats du client et du serveur ont été générées au cours des étapes précédentes. On va à présent configurer le service OpenVPN pour utiliser ces informations d’identification.
On va utiliser un fichier nommé server.conf, qui est proposé avec l’installation de OpenVPN. Ce fichier servira de base pour créer notre fichier de configuration.
Copier ce fichier dans le répertoire /etc/openvpn/, pour cela taper la commande:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
Ensuite décompresser l’archive:
sudo gzip –d /etc/openvpn/server.conf.gz
Editer le fichier:
sudo nano /etc/openvpn/server.conf
Puis effectuer les modifications suivantes :
Dans section HMAC, trouver la directive tls-auth ; dé commenter si nécessaire cette ligne (en supprimant le « ; »):
tls-auth key 0 #this file is secret
Rajouter la ligne
key-direction 0
Puis vérifier que la ligne qui suit est aussi dé commentée
cipher AES-256-CBC
Ensuite ajouter une directive auth pour sélectionner l’algorithme de synthèse des messages HMAC. On pourra choisir comme algorithme SHA256
auth SHA256
Trouver la ligne dh, puis supprimer 2048, pour avoir ceci :
dh dh.pem
Trouver ensuite les paramètres user et group, puis dé commenter les lignes correspondantes:
user nobody
group nogroup
Si on souhaite utiliser le VPN pour acheminer l’ensemble du trafic, on peut aussi diriger les paramètres DNS sur les ordinateurs clients.
Dé commenter les lignes suivantes:
push ‘’redirect-gateway def1 bypass-dhcp’’
push ‘’dhcp-option DNS 208.67.222.222’’
push ‘’dhcp-option DNS 208.67.220.220’’
Le port VPN par défaut est 1194 ; vous pouvez aussi utiliser le port 443 comme port VPN à la place du port 1194. Dans ce cas il faudra aussi changer le protocole en TCP. Ce choix sera restrictif, car il ne sera pas utilisé, si vous avez aussi un serveur WEB hébergé dans la même machine que votre serveur VPN.
Pour cet exemple on va conserver les paramètres par défaut pour le port, ainsi que le protocole.
Enregistrer et fermer le fichier une fois terminé.
Etape 7 : Configuration réseau
Ajuster le paramètre de transfert IP par défaut du serveur. Modifier pour cela le fichier :
/etc/sysctl.conf
Ouvrir ce fichier
sudo nano /etc/sysctl.conf
Dé commenter la ligne
net .ipv4.ip_forward = 1
Enregistrer et fermer le fichier.
Ajuster la valeur pour la session en cours. Pour cela taper:
sudo sysctl -p
A présent on va configurer le parefeu et ajouter des règles de masquage. Avant cela on doit d’abord trouver l’interface réseau public de la machine ; taper la directive:
ip route | grep default
Pour la machine de cet exemple on a:
default via 192.168.5.1 dev enp0s25 proto static
L’interface ici s’appelle enp0s25.
Editer le fichier before.rules, en tapant la commande
sudo nano /etc/ufw/before.rules
Les règles du parefeu sont généralement ajoutées à l’aide de la commande ufw
Rajouter modifier le fichier en ajoutant les directives comprises entre #BEGIN OPENVPN RULES et #END OPENVPN RULES; sans oublier de faire figurer la bonne interface réseau. On devra obtenir ceci:
#
# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
# ufw-before-input
# ufw-before-output
# ufw-before-forward
# BEGIN OPENVPN RULES
*nat
:POSTROUTING ACCEPT [0:0]
# Allow traffic from OpenVPN client to enp0s25 change to your interface name
-A POSTROUTING -s 10.8.0.0/8 -o enp0s25 -j MASQUERADE
COMMIT
# END OPENVPN RULES
# Don't delete these required lines, otherwise there will be errors
*filter
Enregistrer et fermer le fichier.
Indiquer ensuite au pare feu d’accepter les paquets transmis par défaut. Pour cela ouvrir le fichier ufw :
sudo nano /etc/default/ufw
Puis changer la directive
DEFAULT_FORWARD_POLICY= ‘’ACCEPT’’
Enregistrer et fermer le fichier
Ajouter aussi le port 1194 du VPN au pare feu, ainsi que le port 22 du SSH si celui-ci n’a pas été rajouté avant.
sudo ufw allow 1194/udp
Puis :
sudo ufw allow OpenSSH
Redémarrer le parefeu en tapant les commandes suivantes :
sudo ufw disable
sudo ufw enable
Etape 8 : Démarrage du serveur OpenVPN
Taper la commande
sudo systemctl start openvpn@server>
On peut vérifier que le service a bien démarré en tapant :
sudo systemctl status openvpn@server>
On devrait voir affiché l’état du serveur,
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. - OpenVPN connection to server
Loaded: loaded (/lib/systemd/system/openvpn@.service; disabled; vendor preset
Active: active (running) since Wed 2021-03-24 10:00:34 UTC; 2min 58s ago
Docs: man:openvpn(8)
https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
https://community.openvpn.net/openvpn/wiki/HOWTO
Main PID: 2385 (openvpn)
Status: "Initialization Sequence Completed"
Tasks: 1 (limit: 4617)
CGroup: Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
└─2385 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/s
Mar 24 10:00:34 servertest ovpn-server[2385]: Could not determine IPv4/IPv6 prot
Mar 24 10:00:34 servertest ovpn-server[2385]: Socket Buffers: R=[212992->212992]
Mar 24 10:00:34 servertest ovpn-server[2385]: UDPv4 link local (bound): [AF_INET
Mar 24 10:00:34 servertest ovpn-server[2385]: UDPv4 link remote: [AF_UNSPEC]
Mar 24 10:00:34 servertest ovpn-server[2385]: GID set to nogroup
Mar 24 10:00:34 servertest ovpn-server[2385]: UID set to nobody
Mar 24 10:00:34 servertest ovpn-server[2385]: MULTI: multi_init called, r=256 v=
Mar 24 10:00:34 servertest ovpn-server[2385]: IFCONFIG POOL: base=10.8.0.4 size=
Mar 24 10:00:34 servertest ovpn-server[2385]: IFCONFIG POOL LIST
Mar 24 10:00:34 servertest ovpn-server[2385]: Initialization Sequence Completed
On peut également vérifier que l’interface tun0 est disponible en tapant
ip addr show tun0
On devra obtenir ceci :
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
link/none
inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::a290:c4c7:4f33:2ab1/64 scope link stable-privacy
valid_lft forever preferred_lft forever
Activer le service OpenVPN afin qu’il puisse démarrer automatiquement après la mise sous tension de la machine. Taper la commande :
sudo systemctl enable openvpn@sever>
Le serveur est maintenant opérationnel.
Etape 9 : Céation d’une infrastructure de configuration client
La création des fichiers de configuration clients est assez lourde, à chaque client qu’on doit créer, il faudra se conformer aux fichiers de configuration du serveur. Il sera plutôt intéressant de créer un fichier de configuration qui servira de base pour tous les clients, puis un script qui permettra de générer les fichiers de configuration , les certificats et les clés uniques.
Créer un nouveau répertoire dans lequel seront stockés les fichiers de configuration client :
mkdir –p client/files
Puis copier un exemple de fichier de configuration client dans le répertoire /client, qu’on va renommer base.conf :
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client/base.conf
Puis éditer le fichier base.conf
sudo nano ~/client/base.conf
Modifier l’adresse IP avec celle de votre serveur, chercher pour cela la ligne remote :
S’assurer aussi que le protocole choisi est bien proto udp
Décommenter en supprimant le « ; » les directives user et group :
user nobody
group nogroup
Commenter les directives ca, cert, key et tls-auth.
Utiliser les mêmes paramètres cipher et auth utilisés précédemment dans le fichier server.conf.
cipher AES-256-CBC
auth SHA256
Ajouter
tls-auth ta.key 1
Ensuite ajouter le directive « key-direction 1 »
key-direction 1
Pour les clients linux ayant un fichier /etc/openvpn/update-resolv-conf
Vous pouvez rajouter les lignes suivantes :
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Créer un script qui compilera le fichier de base avec les fichiers de certificat, de clé, et de chiffrement adéquate puis on pourra ainsi placer la configuration générée dans le répertoire /client/files
Ouvrir un fichier appelé make_config.sh dans le répertoire /client :
sudo nano ~/client/make_config.sh
Puis ajouter un contenu semblable à celui-ci :
#!/bin/bash
# First argument: Client identifier
KEY_DIR=~/client/keys
OUTPUT_DIR=~/client/files
BASE_CONFIG=~/client/base.conf
cat \({BASE_CONFIG} \
<(echo -e '') \
\){KEY_DIR}/ca.crt \
<(echo -e '\n') \
\({KEY_DIR}/\){1}.crt \
<(echo -e '\n') \
\({KEY_DIR}/\){1}.key \
<(echo -e '\n') \
\({KEY_DIR}/ta.key \
<(echo -e '') \
> \){OUTPUT_DIR}/${1}.ovpn
Enregistrer et fermer le fichier.
Configurer ce fichier ; pour cela exécuter la commande :
sudo chmod 700 ~/client/make_config.sh
Ainsi au lieu de gérer séparément tous les fichiers de configuration de certificats, de clés des clients toutes les informations seront stockées au même endroit. Ainsi pour créer un nouveau client, il suffira d’exécuter ce script.
Exemple, on va créer deux clients appelés maitre2 et pierre2:
Il faut d’abord créer une paire certificat-clé pour le client maitre2 et le client pierre2; comme cela a été crée pour le client pierre à l’étape 5.
Puis se placer dans le répertoire /client :
cd ~/client
puis exécuter le script make_config.sh pour maitre2 :
sudo ./make_config.sh maitre2
Et pour pierre2 :
sudo ./make_config.sh pierre2
On peut aller voir si les clients maitre2 et pierre2 ont été crées dans le répertoire /client/files/
Etape 10 : Test de connexion du client
Ayant sous la main deux tablettes android, on va donc les utiliser pour les tests. On commence par télécharger puis installer, depuis Google Play Store le client OpenVPN pour android, dans les tablettes.
Le client maitre2 sera installé dans la Tablette A. Il faudra d’abord faire une copie de maitre2.ovpn sur un clé USB, puis le transférer sur une carte SD puis sur la tablette. Vous pouvez aussi utiliser la commande scp.
Lancer le client OpenVPN sur la tablette, puis créer un profil vpn.
Utiliser la flèche pour importer le profil depuis une carte SD.
Puis valider.
On reprendra les mêmes opérations sur la tablette B avec pierre2.
L'image ci-dessous (de mauvaise qualité) atteste que le VPN fonctionne, à en juger avec la clé qui apparail en haut à droite de la tablette.
Ayant sous la main deux tablettes android, on va donc les utiliser pour les tests. On commence par télécharger puis installer, depuis Google Play Store le client OpenVPN pour android, dans les tablettes.
Le client maitre2 sera installé dans la Tablette A. Il faudra d’abord faire une copie de maitre2.ovpn sur un clé USB, puis le transférer sur une carte SD puis sur la tablette. Vous pouvez aussi utiliser la commande scp.
Lancer le client OpenVPN sur la tablette, puis créer un profil vpn.
Utiliser la flèche pour importer le profil depuis une carte SD.
Puis valider.
On reprendra les mêmes opérations sur la tablette B avec pierre2.
L'image ci-dessous atteste que le VPN fonctionne, à en juger avec la clé qui apparail en haut à droite de la tablette.
Révocation des clients
Pour empêcher tout accès à un client déjà crée, on procède par la révocation de son certificat.
Exemple, supposons qu’on désire révoquer le client pierre2 :
Aller dans le répertoire /EasyRSA-3.0.4,
cd ~/EasyRSA-3.0.4
Puis taper :
./easyrsa revoke pierre2
Confirmer la révocation en tapant sur yes
Ensuite créer une liste de révocation sinon le client pourrait toujours se connecter :
./easyrsa gen-crl
Ensuite copier le fichier crl.pem dans le répertoire /etc/openvpn/
sudo cp ~/EasyRSA-3.0.4/pki/crl.pem /etc/openvpn/
Puis,
sudo nano /etc/openvpn/server.conf
Puis ajouter à la fin du fichier "crl-verify".
Enregistrer puis fermer le fichier.
Redémarrer le serveur OpenVPN
Conclusion :
Beaucoup de sites marchands proposent des offres pour des VPN. En ce qui nous concerne, on peut enregistrer un grand nombre de clients dans notre serveur VPN, mais c’est travail fastidieux qui demande beaucoup de patience. Il existe des solutions commerciales proposant une interface graphique afin de créer rapidement des clients, on peut citer la solution OpenVPN-as qui peut aussi être utilisée gratuitement, si on n’a que deux clients ; mais au de là, c’est un coût par licence que l’éditeur demandera.
Ce serveur VPN open source et gratuit, nous offre la possibilité de naviger tout en assurant une protection supplémentaire pour nos données.
B.T.