Browse Source

brouillon de l'article openvz sous debian 9

pull/4/head
Victor 6 years ago
parent
commit
67884671f9
1 changed files with 88 additions and 0 deletions
  1. +88
    -0
      content/_drafts/serveur-openvpn-sous-debian-9-et-systemd.md

+ 88
- 0
content/_drafts/serveur-openvpn-sous-debian-9-et-systemd.md View File

@ -0,0 +1,88 @@
---
Title: Serveur Openvpn sous Debian 9 et systemd
Subtitle: : easy-rsa et systemctl inside !
date: 2017-12-08 10:25
Authors: Victor Héry
Slug: serveur-openvpn-sous-debian-9-et-systemd
Category: Réseaux
Tags: openvpn, tunnel, chiffrement, debian, systemd
keywords: openvpn, tunnel, chiffrement, debian, systemd
Status: draft
---
[TOC]
# Openvpn, Debian 9 et Systemd
Pas mal de choses ont changées dans la configuration d'un serveur openvpn avec l'arrivé de Debian 9 et la "séparation" de easy-rsa et openvpn.
Entre les services systemd et le fait qu'Openvpn ne vient plus nativement avec easy-rsa, il me fallait une petite remise au point sur le sujet !
C'est chose faite :-)
On va donc voir dans cet article comment configurer un serveur Openvpn sur Debian 9, puis comment faire en sorte qu'il se lance tout seul via les services systemd.
Normalement cette procédure devrait fonctionner pour toutes les versions de Debian supérieure à Debian 9 Stretch.
Je précise que je vais traiter la partie serveur VPN uniquement. Je pars donc du principe que vous disposez déjà d'un serveur sous Debian 9 (physique, VM, CT, ...), que ce serveur dispose d'une IP publique pour exposer le serveur Openvpn, et/ou que vous maitrisez le NAT de port pour faire en sorte qu'il le soit (exposé :-p)
J'assume totalement le fait que cet article est un bloc note rapide pour garder les infos sous la mains en cas de besoin !
Mais comme d'habitude, si vous rencontrez des difficultés ou que vous avez besoin d'aide, faites moi signe dans les commentaires !
# Préparation du serveur
## Paquets et répertoires
Sur Debian 9, il faut désormais installer 2 paquets pour gérer openvpn en mode serveur.
Ils sont disponibles par défaut, donc pas de tergiversations :
aptitude install openvpn easy-rsa
Par convention, on va poser les fichiers dans `/etc/openvpn`, c'est parti :
cd /etc/openvpn
YOURSERVER="yourserver"
make-cadir ${YOURSERVER}
Cela va permettre à easy-rsa d'initialiser un répertoire contenant tous les fichiers (binaires, configurations) pour générer et gérer les clefs, comptes et autre index qui vont servir à votre serveur openvpn.
Il faut également lui indiquer quel fichier de conf openssl on va utiliser, pas de chichi faites un lien vers le plus récent :
cd /etc/openvpn/${YOURSERVER}
ln -s openssl-1.0.0.cnf openssl.cnf
## Variables
Comme d'habitude avec Openvpn, on va utiliser le fichier vars qui contient les différentes variables utiles à la génération des clefs.
Editez donc le fichier `vars` et modifiez les valeurs suivantes pour gagner du temps par la suite :
vim /etc/openvpn/${YOURSERVER}/vars
# -----
export KEY_SIZE=4096 # Une clef de 4096 est le minimum actuellement pour un chiffrement correct
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain
"
export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="VPNServerName" # Choisissez un nom qui vous parlera, même dans 6 mois !
Bien entendu modifiez les différentes valeurs pour coller à vos propres souhaits. Cela vous permettra d'avoir une bonne configuration par défaut pour générer plus rapidement les différentes clefs.
## Clefs serveur
On est désormais prêt pour générer toutes les clefs qui vont permettre au serveur de fonctionner, avec un maximum de sécurité.
Cette partie peut être longue, selon votre CPU et le niveau d'entropie de votre serveur. Plus le CPU est costaud et le serveur est physique, plus ça ira vite, mais dans le cas contraire prenez votre mal en patience, ça va se dépiler ;-)
Je vous invite d'ailleurs à aller jeter un oeil à mon article sur l'amélioration de l'entropie pour votre serveur :
Sinon, soit vous disposez d'un bon gros serveur physique des familles, soit vous avez 2 ou 3 thermos de café prêts pour passer le temps ^^
C'est parti !
cd /etc/openvpn/${YOURSERVER}
source ./vars # On export toutes les variables qu'on a editées
# ./clean-all ## ATTENTION ne lancez cette commande que la toute première fois ou vous initialiser votre serveur, car elle va effacer TOUTES les clefs du serveur !
./build-ca # Pour construire le certificat d'authorité de votre serveur
Notre autorité est prête, on va pouvoir passer aux clefs du serveur en tant que telles :
cd /etc/openvpn/${YOURSERVER}
./build-key-server ${YOURSERVER} # ${YOURSERVER} indique le nom de la clef générée, vous pouvez bien sûr l'adapter
Attention, l'étape suivante est probablement la plus longue. Elle peut assez facilement prendre plusieurs dizaines de minutes sur un Container qui dispose d'encore moins d'entropie qu'une VM. Vous pouvez essayer de créer de l'entropie, ou bien jetter un oeil plus bas aux bonus pour accélérer la génération ;-)

Loading…
Cancel
Save