refonte partie PKI
This commit is contained in:
parent
100b86a2dc
commit
eb393b898b
|
@ -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.
|
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 :
|
* 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`)
|
* 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
|
## 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.
|
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.
|
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
|
## Configuration inline pour client OpenVPN
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue