Procédure pour générer un certificat serveur
Les serveurs extérieurs au PCC OVH (Online, Iéna...) ont besoin d'un tunnel VPN OpenVPN avec authentification via certificat
1- Se rendre sur toutatis.gorgu.net puis lancer:
Bloc de code | ||||
---|---|---|---|---|
| ||||
cd /etc/puppet/environment/production/modules/openvpn-client/files ./gen_open_vpn_key_serveur.sh hostname_du_serveur_client |
Voici pour informations les opérations effectuées étapes par étapes par le script :
Développer |
---|
#! /bin/bash #Definition des variables #Génération clé priv et demande csr #Copie csr vers charon #Signature du csr depuis charon et génération certificat #Copie certificat depuis charon vers toutatis #Copie clé privée depuis toutatis vers charon #Apply droits sur certificat et clé privée #Suppresion demande csr sur toutatis |
2- Saisir le CSR (certificat request) comme ci-dessous :
Remarque | ||
---|---|---|
| ||
laisser tous les champs vides en appuyant sur '.' à part pour le champs Common Name où il faut indiquer le hostname du server : theia dans l'exemple |
Bloc de code |
---|
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. ----- Country Name (2 letter code) [AU]:. State or Province Name (full name) [Some-State]:. Locality Name (eg, city) []:. Organization Name (eg, company) [Internet Widgits Pty Ltd]:. Organizational Unit Name (eg, section) []:. Common Name (e.g. server FQDN or YOUR name) []:theia Email Address []:. Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: |
Répondre "yes" au script à l'étape de la signature, puis saisir la pass phrase du certificat racine "/appli/vpn/server-vpn.gorgu.net/data/easyrsa3/pki/private/ca.key" situé sur le serveur charon (voir dans LastPass)
Le script recopie le certificat .crt de charon vers toutatis, et la clé privée de toutatis vers charon.
Info |
---|
Si une erreur apparaît, voir les logs syslog sur charon |
3- Il faut ensuite installer OpenVPN et le certificat de la machine via puppet, ou bien manuellement :
- installer openvpn
- recopier les fichiers : ca.crt, dh.pem, ta.key et client.conf depuis "/etc/puppet/environment/production/modules/openvpn-client" sur toutatis vers "/etc/openvpn" de la machine
- recopier les fichiers depuis "/etc/puppet/environment/production/modules/openvpn-client/file" hostname.crt et hostname.key sur toutatis en "openvpn_admin-vpn.crt" et "openvpn_admin-vpn.key" vers "/etc/openvpn" de la machine
- redémarrer OpenVPN
Si une erreur "failed to update database" apparait lors de la génération du certificat : un certificat existe déjà pour le nom de host, il faut aller sur charon, éditer le fichier "/appli/vpn/server-vpn.gorgu.net/data/easyrsa3/pki/index.txt" et supprimer la ligne correspondant au certificat puis recommencer l'opération.
Développer | ||
---|---|---|
|