« Installation et configuration de OpenSSL » : différence entre les versions

Aller à la navigation Aller à la recherche
 
(5 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[Category:serveur]]
[[Category:serveur]]
[[Category:debian]]
[[Category:debian]]
[[Category:security]]
Protéger les données qui transitent au travers des différents protocoles peut parfois être primordial. Le chiffrement le plus utilisé actuellement est SSL. Le principe de SSL est basé sur l'utilisation de deux clés : une clé publique qui sert à déchiffrer et une clé privée qui sert à chiffrer (on parle de chiffrement asymétrique). La clé privée doit rester confidentielle alors que la clé publique peut-être transmise sans problème à tous le monde.
Protéger les données qui transitent au travers des différents protocoles peut parfois être primordial. Le chiffrement le plus utilisé actuellement est SSL. Le principe de SSL est basé sur l'utilisation de deux clés : une clé publique qui sert à déchiffrer et une clé privée qui sert à chiffrer (on parle de chiffrement asymétrique). La clé privée doit rester confidentielle alors que la clé publique peut-être transmise sans problème à tous le monde.
La validité des clés publiques est assurée par une autorité de certification.
La validité des clés publiques est assurée par une autorité de certification.
Ligne 25 : Ligne 26 :


* basicConstraints
* basicConstraints
** <div id="pathlen"></div>pathlen : profondeur de la clé, c''est-à-dire, le nombre de certificats pouvant apparaître sous le certificat en question (on parle de chaine de certification). Cette directive est capitale si vous souhaitez mettre en place une chaine de certification avec plusieurs autorités de certification (AC). La dernière autorité de la chaine devrait avoir une profondeur de 0 (c'est l'autorité qui sera chargée de délivrer les certificats clients et serveurs).
** <div id="pathlen"></div>pathlen : profondeur de la clé, c'est-à-dire, le nombre d'autorité de certficiation (AC) pouvant apparaître sous le certificat en question (on parle de chaîne de certification). Cette directive est importante si vous souhaitez mettre en place une chaîne de certification avec plusieurs autorités de certification. Une AC avec une pathlen de 0 ne peut qu'être utilisée pour signer des certificats utilisateurs/serveurs et pas une autre AC.
** CA : TRUE pour une autorité, FALSE pour un certificat serveur ou client.
** CA : TRUE pour une autorité, FALSE pour un certificat serveur ou client.
* keyUsage
* keyUsage
Ligne 204 : Ligne 205 :
authorityKeyIdentifier          = keyid,issuer:always
authorityKeyIdentifier          = keyid,issuer:always
basicConstraints                = critical,CA:TRUE,pathlen:1
basicConstraints                = critical,CA:TRUE,pathlen:1
keyUsage                        = keyCertSign, cRLSign
keyUsage                        = critical, keyCertSign, cRLSign
nsCertType                      = sslCA, emailCA
nsCertType                      = sslCA, emailCA
subjectAltName                  = email:copy
subjectAltName                  = email:copy
Ligne 215 : Ligne 216 :
authorityKeyIdentifier          = keyid,issuer:always
authorityKeyIdentifier          = keyid,issuer:always
issuerAltName                  = issuer:copy
issuerAltName                  = issuer:copy
keyUsage                        = keyCertSign, cRLSign
keyUsage                        = critical, keyCertSign, cRLSign
nsCertType                      = sslCA, emailCA
nsCertType                      = sslCA, emailCA
subjectAltName                  = email:copy
subjectAltName                  = email:copy
Ligne 271 : Ligne 272 :
</pre>
</pre>
Puis on signe le certificat en utilisant la ca par défaut (défini dans le fichier openssl.cnf), c'est-à-dire, la ROOT_CA, et on précise qu'il faut configurer ce nouveau certificat en utilisant la section CORE_CA du fichier de configuration.<br>
Puis on signe le certificat en utilisant la ca par défaut (défini dans le fichier openssl.cnf), c'est-à-dire, la ROOT_CA, et on précise qu'il faut configurer ce nouveau certificat en utilisant la section CORE_CA du fichier de configuration.<br>
Notez qu'on génère un serial aléatoire pour le certificat intermédiaire,
Notez qu'on génère un serial aléatoire pour le certificat intermédiaire.
<pre>
<pre>
openssl ca -rand_serial -extensions CORE_CA -in core_ca.req -out core_ca.pem
openssl ca -rand_serial -extensions CORE_CA -in core_ca.req -out core_ca.pem
Ligne 280 : Ligne 281 :
openssl x509 -serial -noout -in core_ca.pem | cut -d= -f2 > serial
openssl x509 -serial -noout -in core_ca.pem | cut -d= -f2 > serial
</pre>
</pre>
'''Editez ensuite le fichier serial et incrémentez le''', sinon votre premier certificat aura le même serial que le certificat racine.
Enfin, on s'assure que la clé privée de cette nouvelle autorité est elle aussi à l'abri :
Enfin, on s'assure que la clé privée de cette nouvelle autorité est elle aussi à l'abri :
<pre>
<pre>
Ligne 357 : Ligne 361 :


=Génération de certificats ECDSA=
=Génération de certificats ECDSA=
<pre>openssl ecparam -list_curves</pre>


Les 2 courbes les plus supportées sont prime256v1 et secp384r1
Les 2 courbes les plus supportées sont prime256v1 et secp384r1
Ligne 362 : Ligne 368 :
<pre>openssl ecparam -name prime256v1 -out prime256v1.pem</pre>
<pre>openssl ecparam -name prime256v1 -out prime256v1.pem</pre>
Puis à la génération de la clé, il faudra préciser :
Puis à la génération de la clé, il faudra préciser :
<pre>-newkey param:prime256v1.pem</pre>
<pre>-newkey ec:prime256v1.pem</pre>
4 242

modifications

Menu de navigation