Linux:Installation d'OpenSSL

De WIKI.minetti.org
Aller à : navigation, rechercher

Principe de la certification SSL

Le principe de la certification SSL est de délivrer des certificats afin de certifier l'authenticité d'un serveur, d'un client ou autre. Cette certification est faite par une autorité de certification (dit CA, Certificate Authority) qui peut être une entité externe comme VeriSign ou interne (fait sois même).

Tous les certificats émis se font sur un serveur prévu à cet effet. Une fois créé chaque certificat est déplacé (et non copié) sur la machine qui va bien.

Installation

Pour faire de l'autorité de certification ou pour faire des demandes de certificats, nous aurons besoin d'OpenSSL qui peut s'installer sous CentOS/RedHat/Fedora par la commande:

yum install openssl

et sous ubuntu:

sudo apt-get install openssl

Configuration

Modifier le fichier openssl.cnf dans /etc/pki/tls sous CentOS/RedHat/Fedora et dans /etc/ssl sous ubuntu:

  • en rajoutant localityName dans la rubrique policy_match:
countryName             = match
stateOrProvinceName     = match
localityName            = match
organizationName        = match
organizationalUnitName  = optional
commonName              = supplied
emailAddress            = optional
  • en mettant les valeurs par défaut dans la rubrique req_distinguished_name:
[ req_distinguished_name ]
countryName                     = Country Name (2 letter code)
countryName_default             = FR
countryName_min                 = 2
countryName_max                 = 2

stateOrProvinceName             = State or Province Name (full name)
stateOrProvinceName_default     = Herault

localityName                    = Locality Name (eg, city)
localityName_default            = Saint-Jean-de-Védas

0.organizationName              = Organization Name (eg, company)
0.organizationName_default      = Minetti
  • et enfin, en rajoutant les rubriques suivantes:
[CA_ROOT]
nsComment                       = "CA Racine"
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer:always
basicConstraints                = critical,CA:TRUE,pathlen:1
keyUsage                        = keyCertSign, cRLSign

[CA_SSL]
nsComment                       = "CA SSL"
basicConstraints                = critical,CA:TRUE,pathlen:0
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer:always
issuerAltName                   = issuer:copy
keyUsage                        = keyCertSign, cRLSign
nsCertType                      = sslCA

[SERVER_RSA_SSL]
nsComment                       = "Certificat Serveur SSL"
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer:always
issuerAltName                   = issuer:copy
# subjectAltName                  = DNS:www.minetti.org, DNS:mail.minetti.org
basicConstraints                = critical,CA:FALSE
keyUsage                        = digitalSignature, keyEncipherment
nsCertType                      = server
extendedKeyUsage                = serverAuth

[CLIENT_RSA_SSL]
nsComment                       = "Certificat Client SSL"
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer:always
issuerAltName                   = issuer:copy
# subjectAltName                  = critical,email:copy,email:user-bis@minetti.org,email:user-ter@minetti.org
basicConstraints                = critical,CA:FALSE
keyUsage                        = digitalSignature, keyAgreement
nsCertType                      = client
extendedKeyUsage                = clientAuth

Emplacement des certificats sur les serveurs

CentOS/RedHat/Fedora

  • On retrouvera toujours le certificat de l'autorité de certification (CA) créé par sois même dans (ayant comme propriétaires root.root et les permissions 644):
/etc/pki/CA/cacert.pem
  • On trouvera les fichiers clés privées et publiques dans:
/etc/pki/tls/private/
  • et les certificats associés dans:
/etc/pki/tls/certs/

Debian

  • On retrouvera toujours le certificat de l'autorité de certification (CA) créé par sois même dans:
/etc/ssl/certs/minetti-ca.pem
  • On trouvera les fichiers clés privées et publiques dans:
/etc/ssl/private.<hostname>/
  • et les certificats associés dans:
/etc/ssl/certs/

Utilisation