OPENVPN : installation et création des certificats (partie 2)

Vous avez maintenant un serveur prêt et à jour (cf partie 1).
Installez maintenant les paquets dont vous aurez besoin en mode root :

apt-get install openvpn openssl easy-rsa

Sortez du mode root en tapant :

exit

Copiez le dossier « template » de easy-rsa. C’est ce dossier qui contient toutes les commandes et scripts nécessaires pour créer tous les certificats.
Pour cela une commande suffit :

Make-cadir ~/openvpn-ca

Tous les fichiers ont été copiés dans le dossier « openvpn-ca » qui se trouve lui-même dans le home de votre session.
Vérifiez la présence du dossier :

ls ~

Allez dans le dossier  pour voir le contenu du dossier :

cd ~/openvpn-ca
ls

Il faut d’abord définir des variables avant de pouvoir générer les certificats en modifiant le fichier « vars » :

nano vars

Modifier les lignes suivantes en mettant les valeurs désirées :

export KEY_COUNTRY="FR"
export KEY_PROVINCE="GE"
export KEY_CITY="QUELQUE_PART"
export KEY_ORG="infogee"
export KEY_EMAIL="adminvpn@infogee.fr"
export KEY_OU="AccesVPN"

On va ajouter la ligne suivante juste après celles qu’on vient de modifier :

export KEY_NAME="server" 

Sauvegardez et quittez.
Nous allons maintenant pouvoir créer les certificats à l’aide de ces valeurs.

Tapez la commande suivante pour charger les valeurs que vous venez de rentrer en mémoire :

Source vars

Pour effacer d’anciens certificats et pour initialiser la 1ere génération de certificat, vous devez taper :

./clean-all

Créer le certificat root CA avec la commande suivante :

./build-ca

La génération du certificat va vous demander de répondre à différentes questions. Faites « Entrée » à chaque fois, il prendra les valeurs par défaut que vous avez placé dans fichier « vars ». Elles apparaissent d’ailleurs entre crochets.

Créer le certificat du serveur en tapant :

./build-key-server server

Les mêmes questions vous seront alors posées, faites « entrée » à chaque fois.
Pas de mot de passe au certificat.
Répondez « Y » au 2 dernières questions.

Créez la clé de cryptage Diffie-Hellman. C’est cette clé qui crypte vos données pendant la connexion alors que les autres certificats servent à la connexion et l’authentification. Le niveau de cryptage dépend de la valeur mise dans le fichier « vars ». Plus cette valeur est importante, plus vos données seront indéchiffrables mais vous perdrez en performance étant donné que le cryptage puis le décryptage va prendre plus de ressources et de temps. Par défaut, le cryptage se fait sur 2048 bits, c’est largement suffisant.

Tapez :

./build-dh

Maintenant, nous allons générer une signature HMAC pour renforcer les capacités de vérification d’intégrité TLS du serveur :

openvpn --genkey --secret keys/ta.key 

A ce stade, tous les certificats et clés de cryptage généraux sont créés.

Reste les certificats client pour chaque connexion à établir. A mon sens, le mieux est de créer un certificat par machine. En effet, vous avez certainement plusieurs appareils à connecter (PC de bureau, portable, tablette et téléphone), si vous perdez votre tablette par exemple, par sécurité, il faudra alors supprimer le certificat qui vous sert pour tous les appareils puis en créer un nouveau à remettre sur tous vos appareils. Cela peut être fastidieux surtout avec les smartphones et tablettes. Alors qu’avec un certificat par machine, une seule installation est à refaire.

Cette méthode requiert d’être rigoureux dans la gestion de ses certificats.

Vous pouvez faire 2 types de certificats client : avec ou sans mot de passe. Si l’authentification se fait qu’avec les certificats, préférez avec mot de passe toujours pour un souci de sécurité. Si vous faites un VPN entre 2 sites (oui, on peut aussi utiliser OpenVPN pour cela) ou si votre authentification passe par votre Active Directory, choisissez sans mot de passe.

La génération se réalise comme pour le certificat serveur avec les commandes suivantes.

Pour un certificat avec mot de passe :

                ./build-key-pass portable1

Sans mot de passe :

                ./build-key portable1

Répétez la commande pour les autres appareils (tablette1, portable2,…)

Si vous avez besoin de créer un nouveau certificat plus tard, pensez à recharger le fichier « vars ». Ne surtout pas taper la commande « ./clean-all » sinon vous serez obligé de tout recréer (certificat root, DH,…).

Voici ce que vous devrez taper :

cd openvpn-ca
source vars
./build-keys tablette2 (ou ./build-keys-pass tablette2)

Tous les certificats sont créés.

Prochaine étape : la configuration du serveur OpenVPN et pare-feu.

 

 

Source principale :
https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04

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. En savoir plus sur comment les données de vos commentaires sont utilisées.