Autorité de Certification Privée Easy-RSA

De NCad Wiki
Aller à la navigation Aller à la recherche

Serveur Web

Installation d'Apache2 Paramétrage courant

Certificats SSL Web | .htaccess | Authentification par certificat | Authentification par carte à puce PKI | Certificats Let's Encrypt


Archives : Ancien article sur Apache2 | Module Whois | ProFTPd


Note de version

Déploiement

Installation de Easy-RSA

  • Installation du paquet easy-rsa :

root@CA-NCAD:~# apt-get install easy-rsa -y

  • Création du répertoire hébergeant la configuration de l’autorité de certification :

root@CA-NCAD:~# mkdir /home/CA-NCAD/easy-rsa
root@CA-NCAD:~# ln –s /usr/share/easy-rsa/* /home/CA-NCAD/easy-rsa

  • Restriction d’accès au répertoire à l’utilisateur CA-NCAD uniquement :

root@CA-NCAD:~# chmod 700 /home/CA-NCAD -R

  • Initialisation de l’Infrastructure de Clés Publiques (ICP) :

root@CA-NCAD:~# cd /home/CA-NCAD/easy-rsa
root@CA-NCAD:~# ./easyrsa init-pki

  • Editer le fichier /home/CA-NCAD/easy-rsa/vars puis y insérer les lignes suivantes (adapter les éléments en rouge) :
set_var EASYRSA_REQ_COUNTRY    "FR"
set_var EASYRSA_REQ_PROVINCE   "OCCITANIE"
set_var EASYRSA_REQ_CITY       "FIGEAC"
set_var EASYRSA_REQ_ORG        "NCAD Systèmes et Réseaux"
set_var EASYRSA_REQ_EMAIL      "cert-ca@ncad.fr"
set_var EASYRSA_REQ_OU         "SYSTEMES D'INFORMATION"
set_var EASYRSA_ALGO           "ec"
set_var EASYRSA_DIGEST         "sha512"
  • Génération de la paire de clés root public et privé :

root@CA-NCAD:~# ./easyrsa build-ca

  • À la demande du prompt, renseigner une Passphrase secrète. Elle sera demandée pour toutes opérations sur L’Autorité de Certification (création de certificats, renouvellement, révocation).
  • À la demande d’un Common Name (CN) taper Entrée.

Exportation du certificat racine publique de l'AC

Le certificat racine de l’AC devra être installé sur tous les ordinateurs ou serveurs utilisant les certificats délivrés et signés par l'AC privée.

  • Exportation du certificat racine de l’AC :

root@CA-NCAD:~# cp /home/CA-NCAD/easy-rsa/pki/ca.crt /etc/ssl/certs/

Exportation de la CRL de l'AC

Définition

La CRL (Liste de Révocation des Certificats) désigne un fichier listant l'ensemble des identifiants des certificats électroniques qui ont été révoqués ou invalidés et qui ne sont donc plus dignes de confiance.

Lorsqu'un certificat est présenté, le serveur - si celui-ci a été configuré pour interroger la CRL de l'AC - va vérifier si ce dernier n'est pas listé dans la CRL. Le cas échéant, la connexion sera refusée.

Génération

  • Procéder à la génération / mise à jour de la CRL avec la commande gen-crl :

root@CA-NCAD:~# ./easyrsa gen-crl

Exportation

  • Exportation du certificat publique de l’AC :

root@CA-NCAD:~# cp /home/CA-NCAD/easy-rsa/pki/crl.pem /etc/ssl/certs/

Gestion des certificats délivrés par l'AC

Génération d’un nouveau certificat client

Ce certificat sera à délivrer à l'utilisateur pour être installer sur son terminal ou sur une carte à puce.

  • Création du répertoire spécifique pour les demandes de certificats des utilisateurs :

root@CA-NCAD:~# mkdir /home/CA-NCAD/clients-csr

  • Génération de la clé privée pour l’utilisateur NIJAAL :

root@CA-NCAD:~# cd /home/CA-NCAD/clients-csr
root@CA-NCAD:~# openssl genrsa -out NIJAAL_19052022.key

  • Génération de la demande de certificat pour l’utilisateur NIJAAL (adapter les éléments en rouge) :

root@CA-NCAD:~# openssl req –new –key NIJAAL_19052022.key –out NIJAAL_19052022.req
Country Name (2 letter code) [XX]:FR
State or Province Name (full name) []:OCCITANIE
Locality Name (eg, city) [Default City]:CAHORS
Organization Name (eg, company) [Default Company Ltd]:XENOBLADE.FR
Organizational Unit Name (eg, section) []:REDACTEUR
Common Name (eg, your name or your server's hostname) []:NIJAAL
Email Address []:NIJAAL@staff.xenoblade.fr

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:<NE_RIEN_SAISIR>
An optional company name []:<NE_RIEN_SAISIR>

  • Importation de la demande de signature par l’autorité de certification :

root@CA-NCAD:~# cd ../easy-rsa
root@CA-NCAD:~# ./easyrsa import-req ../clients-csr/NIJAAL_19052022.req NIJAAL_19052022

  • Signature du certificat (la saisie de la Passphrase de l’AC sera requise) :

root@CA-NCAD:~# ./easyrsa sign-req client NIJAAL_19052022

  • Exportation du certificat de l’utilisateur au format p12 (format exploitable par les terminaux utilisateurs) :

root@CA-NCAD:~# openssl pkcs12 -export -out pki/private/NIJAAL_19052022.p12 -in pki/issued/NIJAAL_19052022.crt -inkey ../clients-csr/NIJAAL_19052022.key

  • Copier le certificat dans le répertoire SFTP /home/CA-NCAD/clients-csr pour pouvoir être téléchargé via un client SFTP :

root@CA-NCAD:~# cp pki/private/NIJAAL_19052022.p12 /home/CA-NCAD/clients-csr
root@CA-NCAD:~# chmod 777 /home/CA-NCAD/clients-csr/*

Renouveller un certificat

Le certificat doit expirer dans moins de 30 jours pour pouvoir être renouvelé.

  • Depuis le répertoire d’installation de l’AC, utiliser l’utilitaire easyrsa suivit de la commande renew pour reconduire la validité du certificat d’un utilisateur (la saisie de la Passphrase de l’AC sera requise) :

root@CA-NCAD:~# cd /home/CA-NCAD/easy-rsa
root@CA-NCAD:~# ./easyrsa renew NIJAAL_19052022

Révocation d’un certificat

  • Depuis le répertoire d’installation de l’AC, utiliser l’utilitaire easyrsa suivit de la commande revoke pour mettre fin à la validité du certificat d’un utilisateur (la saisie de la Passphrase de l’AC sera requise) :

root@CA-NCAD:~# cd /home/CA-NCAD/easy-rsa
root@CA-NCAD:~# ./easyrsa revoke NIJAAL_19052022

  • Procéder à la régénération de la CRL depuis la commande gen-crl :

root@CA-NCAD:~# ./easyrsa gen-crl

  • Copier le fichier dans le répertoire d’exploitation /etc/ssl/private :

root@CA-NCAD:~# cp pki/crl.pem /etc/ssl/private

  • Redémarrer le service Apache2 pour la prise en compte des modifications :

root@CA-NCAD:~# /etc/init.d/apache2 restart