Comment installer un certificat SSL à partir d’une autorité de certification commerciale

introduction

Ce tutoriel vous montrera comment acquérir et installer un certificat SSL auprès d’une autorité de certification commerciale et de confiance. Les certificats SSL permettent aux serveurs Web de chiffrer leur trafic et offrent également un mécanisme permettant de valider les identités du serveur auprès de leurs visiteurs. Le principal avantage de l’utilisation d’un certificat SSL acheté auprès d’une autorité de certification approuvée, par rapport aux certificats auto-signés, est que les visiteurs de votre site ne seront pas avertis de leur incapacité à vérifier l’identité de votre site.

Ce tutoriel explique comment acquérir un certificat SSL auprès des autorités de certification approuvées suivantes:

  • Allez papa

  • RapidSSL (via Namecheap)

Vous pouvez également utiliser toute autre autorité de certification de votre choix.

Une fois votre certificat SSL acquis, nous vous expliquerons comment l’installer sur les serveurs Web HTTP Nginx et Apache.

Conditions préalables

Vous devez vous assurer de plusieurs conditions préalables avant de tenter d’obtenir un certificat SSL auprès d’une autorité de certification commerciale. Cette section couvre ce dont vous aurez besoin pour recevoir un certificat SSL de la plupart des autorités de certification.

Argent

Les certificats SSL émis par des autorités de certification commerciales doivent être achetés. Les meilleurs alternatives gratuites sont les certificats émis à partir de Let’s Encrypt. Let’s Encrypt est une nouvelle autorité de certification qui émet des certificats SSL / TLS gratuits, approuvés par la plupart des navigateurs Web.

Nom de domaine enregistré

Avant d’acquérir un certificat SSL, vous devez posséder ou contrôler le nom de domaine enregistré avec lequel vous souhaitez utiliser le certificat. Si vous ne possédez pas déjà un nom de domaine enregistré, vous pouvez en enregistrer un auprès d’un des nombreux bureaux d’enregistrement de noms de domaine (par exemple, Namecheap, GoDaddy, etc.).

Droits de validation de domaine

Pour le processus de validation de domaine de base, vous devez avoir accès à l’une des adresses électroniques de l’enregistrement WHOIS de votre domaine ou à une adresse électronique de type «administrateur» sur le domaine lui-même. Les autorités de certification qui émettent des certificats SSL valident généralement le contrôle de domaine en envoyant un courrier électronique de validation à l’une des adresses de l’enregistrement WHOIS du domaine ou à une adresse électronique d’administrateur générique située sur le domaine même. Certaines autorités de certification proposent des méthodes de validation de domaine alternatives, telles que la validation basée sur DNS ou HTTP, qui sortent du cadre de ce guide.

Si vous souhaitez recevoir un certificat SSL de validation d’organisation (OV) ou Extended Validation (EV), vous devrez également fournir à l’autorité de certification des documents permettant d’établir l’identité légale du propriétaire du site Web, entre autres.

Serveur Web

En plus des points mentionnés précédemment, vous aurez besoin d’un serveur Web pour installer le certificat SSL. Il s’agit du serveur accessible via le nom de domaine pour lequel le certificat SSL sera émis. Il s’agit généralement d’un serveur Apache HTTP, Nginx, HAProxy ou Varnish. Si vous avez besoin d’aide pour configurer un serveur Web accessible via votre nom de domaine enregistré, procédez comme suit:

  1. Configurez un serveur Web de votre choix. Par exemple, un LEMP (Nginx) ou LAMP (Apache) serveur - assurez-vous de configurer le logiciel du serveur Web pour utiliser le nom de votre domaine enregistré

  2. Configurez votre domaine pour utiliser les serveurs de noms appropriés. Si votre serveur Web est hébergé sur DigitalOcean, ce guide peut vous aider à configurer: https://www.digitalocean.com/community/tutorials/how-to-point-to-digitalocean-nameservers-from-common-domain- registrars [Comment pointer vers les serveurs de noms DigitalOcean à partir de registrars de domaine commun]

  3. Ajoutez des enregistrements DNS pour votre serveur Web à vos serveurs de noms. Si vous utilisez des serveurs de noms DigitalOcean, suivez ce guide pour savoir comment ajouter les enregistrements appropriés: https://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean [Comment configurer un nom d’hôte avec DigitalOcean]

Choisissez votre autorité de certification

Si vous ne savez pas quelle autorité de certification vous allez utiliser, vous devez prendre en compte quelques facteurs importants. Au niveau de la vue d’ensemble, le plus important est que l’autorité de certification que vous choisissez fournit les fonctionnalités que vous souhaitez à un prix qui vous convient. Cette section se concentrera davantage sur les fonctionnalités que la plupart des acheteurs de certificats SSL devraient connaître, plutôt que sur les prix.

Adhésions au programme de certificat racine

Le point le plus important est que l’autorité de certification que vous choisissez est membre des programmes de certification racine des systèmes d’exploitation et des navigateurs Web les plus couramment utilisés, c.-à-d. il s’agit d’une autorité de certification «approuvée», et son certificat racine est approuvé par les navigateurs courants et d’autres logiciels. Si le certificat SSL de votre site Web est signé par une "autorité de certification" de confiance, son identité est considérée comme valide par un logiciel qui fait confiance à l’autorité de certification. Il s’agit d’une différence entre les certificats SSL auto-signés, qui fournissent également des fonctionnalités de cryptage, mais sont accompagnés d’avertissements de validation d’identité. qui rebutent la plupart des visiteurs du site.

La plupart des autorités de certification commerciales que vous rencontrerez seront membres des programmes d’autorités de certification racine courantes et indiqueront qu’elles sont compatibles avec 99% des navigateurs. Toutefois, la vérification avant d’acheter votre certificat ne fait pas de mal. Par exemple, Apple fournit sa liste de certificats racine SSL approuvés pour iOS8 here.

Types de certificat

Assurez-vous de choisir une autorité de certification proposant le type de certificat requis. De nombreuses autorités de certification proposent des variantes de ces types de certificat sous une variété de noms et de structures de tarification, souvent source de confusion. Voici une brève description de chaque type:

  • * Single Domain *: utilisé pour un seul domaine, par exemple. + exemple.com +. Notez que les sous-domaines supplémentaires, tels que + www.example.com +, ne sont pas inclus.

  • * Wildcard *: utilisé pour un domaine et l’un de ses sous-domaines. Par exemple, un certificat générique pour + *. Example.com + peut également être utilisé pour + www.example.com + et + store.example.com +

  • * Plusieurs domaines *: appelés certificats SAN ou UC, ils peuvent être utilisés avec plusieurs domaines et sous-domaines ajoutés au champ Autre nom du sujet. Par exemple, un seul certificat multi-domaine peut être utilisé avec + example.com +, + www.example.com + et + example.net +

Outre les types de certificats susmentionnés, les autorités de certification proposent différents niveaux de validation. Nous allons les couvrir ici:

  • * Validation de domaine * (DV): des certificats DV sont délivrés après que l’autorité de certification a confirmé que le demandeur possède ou contrôle le domaine en question.

  • * Organisation Validation (OV) *: les certificats OV ne peuvent être délivrés qu’après que l’autorité de certification émettrice valide l’identité légale du demandeur.

  • * Extended Validation (EV) *: les certificats EV ne peuvent être délivrés qu’après que l’autorité de certification émettrice a validé l’identité légale, entre autres choses, du demandeur, conformément à un ensemble de directives strictes. Ce type de certificat a pour but de fournir aux visiteurs de votre site une assurance supplémentaire de la légitimité de l’identité de votre organisation. Les certificats EV peuvent être un ou plusieurs domaines, mais pas de caractère générique

Ce guide vous montrera comment obtenir un certificat SSL à domaine unique ou générique auprès de GoDaddy et RapidSSL, mais l’obtention des autres types de certificats est très similaire.

Caractéristiques supplémentaires

De nombreuses autorités de certification offrent une grande variété de fonctionnalités «bonus» pour se différencier du reste des fournisseurs émettant des certificats SSL. Certaines de ces fonctionnalités peuvent vous faire économiser de l’argent. Il est donc important que vous pesiez soigneusement vos besoins par rapport aux offres avant de faire un achat. Des exemples de fonctionnalités à rechercher comprennent les réémissions de certificats gratuites ou un certificat à prix de domaine unique qui fonctionne pour + www. + Et le nom de base de domaine, par exemple. + www.example.com + avec un SAN de + example.com +

Générer une CSR et une clé privée

Une fois que vous avez défini tous vos prérequis et que vous connaissez le type de certificat que vous souhaitez obtenir, il est temps de générer une demande de signature de certificat (CSR) et une clé privée.

Si vous envisagez d’utiliser Apache HTTP ou Nginx comme serveur Web, utilisez + openssl + pour générer votre clé privée et votre CSR sur votre serveur Web. Dans ce tutoriel, nous allons simplement garder tous les fichiers pertinents dans notre répertoire personnel, mais n’hésitez pas à les stocker dans n’importe quel emplacement sécurisé sur votre serveur:

cd ~

Pour générer une clé privée, appelée + exemple.com.key +, et une CSR, appelée '+ exemple.com.csr + , exécutez cette commande (remplacez le + exemple.com + `par le nom de votre domaine):

openssl req -newkey rsa:2048 -nodes -keyout .key -out .csr

À ce stade, vous serez invité à entrer plusieurs lignes d’informations qui seront incluses dans votre demande de certificat. La partie la plus importante est le champ * Common Name * qui doit correspondre au nom avec lequel vous souhaitez utiliser votre certificat - par exemple, + example.com +, + www.example.com +, ou (pour un certificat générique requête) + *. example.com +. Si vous envisagez d’obtenir un certificat OV ou EV, assurez-vous que tous les autres champs reflètent avec exactitude les détails de votre organisation.

Par exemple:

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) []:
Email Address []:

Cela générera un fichier + .key et` + .csr`. Le fichier + .key + est votre clé privée et doit être gardé en sécurité. Le fichier + .csr + est ce que vous enverrez à l’AC pour demander votre certificat SSL.

Vous devrez copier et coller votre CSR lors de la soumission de votre demande de certificat à votre autorité de certification. Pour imprimer le contenu de votre CSR, utilisez cette commande (remplacez le nom du fichier par votre propre nom):

cat .csr

Nous sommes maintenant prêts à acheter un certificat auprès d’une autorité de certification. Nous allons montrer deux exemples, GoDaddy et RapidSSL via Namecheap, mais n’hésitez pas à vous procurer un certificat auprès de tout autre fournisseur.

Exemple CA 1: RapidSSL via Namecheap

Namecheap offre un moyen d’acheter des certificats SSL auprès de diverses autorités de certification. Nous allons suivre le processus d’acquisition d’un certificat de domaine unique auprès de RapidSSL, mais vous pouvez vous écarter si vous souhaitez un type de certificat différent.

Remarque: Si vous demandez un certificat de domaine unique à RapidSSL pour le sous-domaine + www + de votre domaine (par exemple, + www.example.com +), ils émettront le certificat avec un réseau SAN de votre domaine de base. Par exemple, si votre demande de certificat concerne «+ www.exemple.com », le certificat obtenu fonctionnera à la fois pour « www.exemple.com » et « exemple.com +».

Sélectionner et acheter un certificat

Accédez à la page de certificat SSL de Namecheap: https://www.namecheap.com/security/ssl-certificates.aspx.

Ici, vous pouvez commencer à sélectionner votre niveau de validation, votre type de certificat («Domaines sécurisés») ou votre CA («Marque»).

Pour notre exemple, nous allons cliquer sur le bouton * Comparer les produits * dans la case «Validation de domaine». Ensuite, nous allons trouver «RapidSSL» et cliquer sur le bouton * Ajouter au panier *.

À ce stade, vous devez vous inscrire ou vous connecter à Namecheap. Ensuite, terminez le processus de paiement.

Demander un certificat

Après avoir payé le certificat de votre choix, cliquez sur le lien * Gérer les certificats SSL *, dans la section «Bonjour».

image: https: //assets.digitalocean.com/articles/ssl/namecheap-ssl-menu.png [Namecheap: SSL]

Vous verrez ici une liste de tous les certificats SSL que vous avez achetés via Namecheap. Cliquez sur le lien * Activer maintenant * pour le certificat que vous souhaitez utiliser.

image: https: //assets.digitalocean.com/articles/ssl/namecheap-sslmanagement.png [Namecheap: gestion SSL]

Maintenant, sélectionnez le logiciel de votre serveur Web. Cela déterminera le format du certificat que Namecheap vous délivrera. Les options couramment sélectionnées sont «Apache + MOD SSL», «nginx» ou «Tomcat».

Collez votre CSR dans la case puis cliquez sur le bouton * Suivant *.

Vous devriez maintenant être à l’étape «Sélectionner l’approbateur» du processus, qui enverra un courrier électronique de demande de validation à une adresse de l’enregistrement WHOIS de votre domaine ou à une adresse de type administrator du domaine pour lequel vous obtenez un certificat. Sélectionnez l’adresse à laquelle vous souhaitez envoyer le courrier électronique de validation.

Fournissez les «informations de contact administratif». Cliquez sur le bouton * Soumettre la commande *.

Valider le domaine

À ce stade, un courrier électronique sera envoyé à l’adresse de «l’approbateur». Ouvrez l’email et approuvez la demande de certificat.

Télécharger les certificats

Après avoir approuvé le certificat, le certificat sera envoyé par courrier électronique au Contact technique. Le certificat émis pour votre domaine et le certificat intermédiaire de l’AC se trouvent au bas de l’e-mail.

Copiez-les et enregistrez-les sur votre serveur à l’emplacement où vous avez généré votre clé privée et votre CSR. Nommez le certificat avec le nom de domaine et une extension + .crt +, par ex. + example.com.crt +, et nommez le certificat intermédiaire + intermediate.crt +.

Le certificat est maintenant prêt à être installé sur votre serveur Web.

Exemple CA 2: GoDaddy

GoDaddy est une autorité de certification populaire et dispose de tous les types de certificats de base. Nous allons suivre le processus d’acquisition d’un certificat de domaine unique, mais vous pouvez en différer si vous souhaitez un type de certificat différent.

Sélectionner et acheter un certificat

Accédez à la page de certificat SSL de GoDaddy: https://www.godaddy.com/ssl/ssl-certificates.aspx.

Faites défiler la liste et cliquez sur le bouton * Get Started *.

image: https: //assets.digitalocean.com/articles/ssl/godaddy-getstarted.png [Go Daddy: commencez]

Sélectionnez le type de certificat SSL souhaité dans le menu déroulant: domaine unique, domaine multiple (UCC) ou caractère générique.

image: https: //assets.digitalocean.com/articles/ssl/godaddy-certtype.png [GoDaddy: type de certificat]

Sélectionnez ensuite votre type de plan: domaine, organisation ou validation étendue.

Puis sélectionnez le terme (durée de validité).

Cliquez ensuite sur le bouton * Ajouter au panier *.

Vérifiez votre commande actuelle, puis cliquez sur le bouton * Passer à la caisse *.

Terminez le processus d’inscription et de paiement.

Demander un certificat

Une fois que vous avez finalisé votre commande, cliquez sur le bouton SSL Certificates * (ou cliquez sur * Mon compte *> * Gérer les certificats SSL * dans le coin supérieur droit).

Recherchez le certificat SSL que vous venez d’acheter et cliquez sur le bouton * Configurer *. Si vous n’avez jamais utilisé GoDaddy pour les certificats SSL, vous serez invité à configurer le produit «Certificats SSL» et à associer votre commande de certificats récente au produit (cliquez sur le bouton vert * Configurer * et attendez quelques minutes avant de rafraîchir ton navigateur).

Une fois le produit «Certificats SSL» ajouté à votre compte GoDaddy, vous devriez voir votre «Nouveau certificat» et un bouton «Lancer». Cliquez sur le bouton * Lancer * à côté de votre nouveau certificat.

Fournissez votre CSR en le collant dans la boîte. L’algorithme SHA-2 sera utilisé par défaut.

Cochez la case * J’accepte *, puis cliquez sur le bouton * Demander un certificat *.

Valider le domaine

Vous devez maintenant vérifier que vous avez le contrôle du domaine et fournir quelques documents à GoDaddy. GoDaddy enverra un courrier électronique de vérification de la propriété du domaine à l’adresse indiquée dans l’enregistrement WHOIS de votre domaine. Suivez les instructions dans les courriels que vous avez reçus et autorisez l’émission du certificat.

Télécharger le certificat

Après avoir vérifié auprès de GoDaddy que vous contrôliez le domaine, vérifiez dans votre courrier électronique (celui que vous avez enregistré auprès de GoDaddy) le message indiquant que votre certificat SSL a été émis. Ouvrez-le et suivez le lien du certificat de téléchargement (ou cliquez sur le bouton * Lancer * à côté de votre certificat SSL dans le panneau de configuration de GoDaddy).

Cliquez maintenant sur le bouton * Télécharger *.

Sélectionnez le logiciel serveur que vous utilisez dans le menu déroulant * Type de serveur *. Si vous utilisez Apache HTTP ou Nginx, sélectionnez «Apache», puis cliquez sur le bouton * Télécharger le fichier Zip *.

Extrayez l’archive ZIP. Il devrait contenir deux fichiers + .crt +; votre certificat SSL (qui doit avoir un nom aléatoire) et le lot de certificats intermédiaires GoDaddy (+ gd_bundle-g2-1.crt +). Copiez les deux votre serveur Web. Renommez le certificat en nom de domaine avec une extension + .crt +, par exemple. + example.com.crt +, et renommez le groupe de certificats intermédiaire en + intermediate.crt +.

Le certificat est maintenant prêt à être installé sur votre serveur Web.

Installer le certificat sur le serveur Web

Après avoir acquis votre certificat auprès de l’autorité de certification de votre choix, vous devez l’installer sur votre serveur Web. Cela implique l’ajout de quelques lignes liées à SSL à la configuration logicielle de votre serveur Web.

Nous couvrirons les configurations de base HTTP Nginx et Apache sous Ubuntu 14.04 dans cette section.

Nous allons assumer les choses suivantes:

  • La clé privée, le certificat SSL et, le cas échéant, les certificats intermédiaires de l’autorité de certification se trouvent dans un répertoire de base à + ​​/ home / sammy +

  • La clé privée s’appelle + exemple.com.key

  • Le certificat SSL s’appelle + exemple.com.crt +

  • Le ou les certificats intermédiaires de l’autorité de certification se trouvent dans un fichier nommé + intermediate.crt +

  • Si un pare-feu est activé, assurez-vous qu’il autorise le port 443 (HTTPS).

  • Remarque: * Dans un environnement réel, ces fichiers doivent être stockés dans un emplacement accessible uniquement à l’utilisateur exécutant le processus principal du serveur Web (généralement + racine +). La clé privée doit être sécurisée.

Nginx

Si vous souhaitez utiliser votre certificat avec Nginx sur Ubuntu 14.04, suivez cette section.

Avec Nginx, si votre autorité de certification incluait un certificat intermédiaire, vous devez créer un seul fichier de certificat «chaîné» contenant votre certificat et les certificats intermédiaires de l’autorité de certification.

Accédez au répertoire contenant votre clé privée, votre certificat et les certificats intermédiaires de l’autorité de certification (dans le fichier + intermediate.crt +). Nous supposerons qu’ils sont dans votre répertoire personnel pour l’exemple:

cd ~

En supposant que votre fichier de certificat s’appelle + exemple.com.crt +, utilisez cette commande pour créer un fichier combiné appelé + exemple.com.chained.crt + (remplace la partie en surbrillance par votre propre domaine):

cat .crt intermediate.crt > .chained.crt

Allez maintenant dans le répertoire de configuration du bloc de votre serveur Nginx. En supposant que se trouve dans + / etc / nginx / sites-enabled +, utilisez cette commande pour y changer:

cd /etc/nginx/sites-enabled

En supposant que vous vouliez ajouter SSL à votre fichier de blocage de serveur + default +, ouvrez-le pour le modifier:

sudo vi default

Recherchez et modifiez la directive + listen +, et modifiez-la afin qu’elle ressemble à ceci:

   listen 443 ssl;

Recherchez ensuite la directive + nom_serveur + et assurez-vous que sa valeur correspond au nom commun de votre certificat. Ajoutez également les directives + ssl_certificate + et + + ssl_certificate_key + pour spécifier les chemins de vos fichiers de certificat et de clé privée (remplacez la partie en surbrillance par le chemin réel de vos fichiers):

   server_name ;
   ssl_certificate ;
   ssl_certificate_key ;

Pour n’autoriser que les protocoles et les chiffrements SSL les plus sécurisés, ajoutez les lignes suivantes au fichier:

   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_prefer_server_ciphers on;
   ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

Si vous souhaitez que le trafic HTTP soit redirigé vers HTTPS, vous pouvez ajouter ce bloc de serveur supplémentaire en haut du fichier (remplacez les parties en surbrillance par vos propres informations):

server {
   listen 80;
   server_name ;
   rewrite ^/(.*) https:///$1 permanent;
}

Puis enregistrez et quittez.

Maintenant, redémarrez Nginx pour charger la nouvelle configuration et activer TLS / SSL sur HTTPS!

sudo service nginx restart

Testez-le en accédant à votre site via HTTPS, par exemple. + https: // example.com +.

Apache

Si vous souhaitez utiliser votre certificat avec Apache sur Ubuntu 14.04, suivez cette section.

Faites une sauvegarde de votre fichier de configuration en le copiant. En supposant que votre serveur fonctionne sur le fichier de configuration d’hôte virtuel par défaut, + / etc / apache2 / sites-available / 000-default.conf +, utilisez ces commandes pour effectuer une copie:

cd /etc/apache2/sites-available
cp 000-default.conf 000-default.conf.orig

Puis ouvrez le fichier pour le modifier:

sudo vi 000-default.conf

Recherchez l’entrée + <VirtualHost *: 80> + et modifiez-la pour que votre serveur Web écoute le port + 443 +:

<VirtualHost *:443>

Ajoutez ensuite la directive + NomServeur +, si elle n’existe pas déjà (remplacez votre nom de domaine ici):

ServerName

Ajoutez ensuite les lignes suivantes pour spécifier votre certificat et vos chemins d’accès (remplacez vos chemins d’accès réels ici):

SSLEngine on
SSLCertificateFile
SSLCertificateKeyFile

Si vous utilisez Apache 2.4.8 ou une version ultérieure, spécifiez le groupe intermédiaire d’autorité de certification en ajoutant cette ligne (remplacez le chemin):

SSLCACertificateFile

Si vous utilisez une version antérieure d’Apache, spécifiez le groupe intermédiaire d’autorité de certification avec cette ligne (remplacez le chemin):

SSLCertificateChainFile

À ce stade, votre serveur est configuré pour écouter uniquement sur HTTPS (port 443). Par conséquent, les demandes adressées à HTTP (port 80) ne seront pas traitées. Pour rediriger les demandes HTTP vers HTTPS, ajoutez ce qui suit en haut du fichier (remplacez le nom aux deux endroits):

<VirtualHost *:80>
  ServerName
  Redirect permanent / https:///
</VirtualHost>

Sauvegarder et quitter.

Activez le module SSL Apache en exécutant cette commande:

sudo a2enmod ssl

Maintenant, redémarrez Apache pour charger la nouvelle configuration et activer TLS / SSL sur HTTPS!

sudo service apache2 restart

Testez-le en accédant à votre site via HTTPS, par exemple. + https: // example.com +. Vous voudrez également essayer de vous connecter via HTTP, par exemple. + http: // example.com + pour vous assurer que la redirection fonctionne correctement!

Conclusion

Vous devriez maintenant avoir une bonne idée de la façon d’ajouter un certificat SSL de confiance pour sécuriser votre serveur Web. Assurez-vous de rechercher un CA qui vous convient!