22
0
Fork 0

refonte partie PKI

This commit is contained in:
Daniel Jakots 2017-11-09 15:36:50 -05:00
parent 100b86a2dc
commit eb393b898b
1 changed files with 30 additions and 37 deletions

View File

@ -207,11 +207,13 @@ Enfin on installe les dépendances du check
~~~
## Mise en place d'une PKI avec shellPKI (OpenBSD et Debian)
## PKI avec shellPKI (OpenBSD et Debian)
OpenVPN s'appuye par défaut sur des certificats, il est donc nécessaire de mettre en place une PKI.
OpenVPN s'appuie par défaut sur des certificats, il est donc nécessaire de mettre en place une PKI.
On utilisera [shellPKI](https://forge.evolix.org/projects/shellpki) permettant de gérer une PKI très simplement en ligne de commande.
### Mise en place
* Créer le répertoire `/etc/openvpn/ssl`, et cloner le dépôt shellpki :
~~~
@ -237,6 +239,32 @@ On utilisera [shellPKI](https://forge.evolix.org/projects/shellpki) permettant d
* Confirmer l'initialisation, et choisir la passphrase qui sera demandée à chaque création de nouveaux certificats, puis le `Common Name` des futurs certificats créés (ex : `vpn.example.com`)
### Créer un nouveau certificat
~~~
# cd /etc/openvpn/ssl
# sh shellpki.sh create
~~~
* Choisir un CN unique pour la machine (ex : `client1.vpn.example.com`)
* Récupérer le certificat et la clé dans `/var/www/htdocs/vpn/ssl`
* Dans la conf client, rajouter la directive _nobind_. Par défaut le client se bind sur l'ip locale et le port 1194, _nobind_ force l'utilisation d'un port aléatoire.
### Renouveller un certificat
Il faut le révoquer, puis en recréer un :
~~~
# cd /etc/openvpn/ssl
# sh shellpki.sh revoke
# sh shellpki.sh create
# cp /etc/openvpn/ssl/crl.pem /var/empty/
~~~
Si c'est le certificat, du serveur OpenVPN, il faut en plus modifier
la configuration puis relancer le démon.
## Permettre aux clients de conserver la même IP au fil de connexions
@ -253,41 +281,6 @@ ifconfig-pool-persist /etc/openvpn/ipp.txt 0
Cela rend le fichier _ipp.txt_ en lecture seule pour OpenVPN.
Il faudra donc ajouter une nouvelle ligne de la forme CN,IP à chaque ajout d'un nouveau client.
## Créer les paramètres pour un nouveau client VPN
* Exécuter :
~~~
# cd /etc/openvpn/ssl
# sh shellpki.sh create
~~~
* Choisir un CN unique pour la machine (ex : `client1.vpn.example.com`)
* Récupérer le certificat et la clé dans `/var/www/htdocs/vpn/ssl`
* Dans la conf client, rajouter la directive _nobind_. Par défaut le client se bind sur l'ip locale et le port 1194, _nobind_ force l'utilisation d'un port aléatoire.
## Renouveller le certificat principal du VPN
Si le certificat indiqué au niveau de la configuration OpenVPN expire lui-même :
~~~
cert /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.crt
key /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.key
~~~
Il faut le révoquer, puis en recréer un :
~~~
# cd /etc/openvpn/ssl
# sh shellpki.sh revoke
# sh shellpki.sh create
# cp /etc/openvpn/ssl/crl.pem /var/empty/
~~~
Enfin, on ajuste les lignes dans la configuration OpenVPN et on relance le daemon.
## Configuration inline pour client OpenVPN