Déploiement de HTTPS (SSL) avec un Certificat

Les utilisateurs de Budget, Standard, Avancé et Corporatif peuvent rendre leur domaines accessibles via https:// en installant un certificat SSL sous ~/ssl/. Ce guide s'applique tant aux certificat émis par des CAs commerciaux (comme Thawte ou GoDaddy) que aux certificats auto-signés (« self-signed »).

Une méthode alternative gratuite est disponible avec le service de LetsEncrypt. Pour plus de détails, voyez l'article Déploiement de SSL/HTTPS avec LetsEncrypt. Note: Ce guide ne s'applique pas aux utilisateurs de Let's Encrypt.

Générer une clé RSA privée

Vous devez tout d'abord générer une clé RSA privée et la placer sous ~/ssl/key. Ce fichier doit demeurer privé.

  $ mkdir -m 0700 ~/ssl
  $ cd ~/ssl
  $ openssl genrsa -out key 2048
Le Formulaire de Demande de Signature (CSR)

La commande suivante génère un formulaire de demande de signature, (ou « CSR ») qui peut être soumis à un organisme de certification (sauf si vous voulez publier un certificat auto-signé). Le champ « CN » (Common Name) doit correspondre exactement au domaine principal de votre compte (vous pouvez sélectionner celui-ci depuis l'Interface Web).

$ openssl req -new -key key -out csr
Using configuration from /etc/ssl/openssl.cnf
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): (your country code)
State or Province Name (full name): (state / province)
Organization Name (eg, company): (company name)
Organizational Unit Name (eg, section): (hit enter)
Common Name (eg, YOUR name): example.com
Email Address: webmaster@example.com
Please enter the following 'extra' attributes to be sent with your certificate request
A challenge password: (hit enter)
An optional company name:(hit enter)
Signature du certificat

Vous pouvez enfin soumettre le formulaire de demande de signature (CSR) généré à un organisme de certification tel Thawte GoDaddy. Sinon, il est toujours possible de publier un certificat auto-signé avec la commande:

  $ openssl x509 -req -days 365 -in csr -signkey key -out cert

L'argument -days se réfère à la période de validité (365 jours dans cet exemple).

Activer le service HTTPS
Une fois les fichiers cert, key (et optionnellement pp si une passphrase est définie) placés dans votre répertoire ~/ssl/, vous pouvez activer le service HTTPS depuis csoftadm. Si vous utilisez l'Interface Web, l'option se trouve dans Préférences. Si vous utilisez l'Interface Shell, la commande est conf set ssl.
Problèmes communs

L'ajout du nouveau certificat à la configuration de serveur web peut prendre jusqu'à 30 minutes. Si le certificat pose un problème, un message d'erreur apparaîtra dans /var/log/users/votrenom et le fichier cert sera renommé cert.rej.

Avant d'inclure votre hôte virtuel dans le fichier de configuration du httpd, csoftadm effectue quelques vérifications au niveau du certificat et des clés. Vous pouvez vérifier manuellement à l'aide des commandes:

  # For RSA keys:
  $ openssl rsa -in key
  
  # For DSA keys:
  $ openssl dsa -in key
  
  # For keys which require a passphrase:
  $ openssl dsa -in key -passin file:pp
  
  # To read a X.509 certificate fingerprint:
  $ openssl x509 -in cert -fingerprint

La commande suivante permet de lire le CN (Common Name) d'un certificat. Ce champs doit correspondre exactement à votre nom de domaine principal.

  # To read a X.509 certificate subject field:
  $ openssl x509 -in cert -subject

Tip: For the more adventurous, here is a little script that will read off lots of data, like above, on both a cert and a key. -nekhbet@
Liens

Articles en français:


Csoft.net
© 2024 Communications CubeSoft
Tous Droits Réservés.