Table des matières

Gandi et Let's Encrypt

Gandi est un sponsor de Let's Encrypt, une Autorité de Certification gratuite, automatisée et ouverte.

Cet article vous montre comment utiliser les certificats LE sur les produits de Gandi.

Simple Hosting

Vous pouvez utiliser le plugin letsencrypt-gandi pour le client certbot pour obtenir et installer des certificats LE sur Simple Hosting.

http://github.com/Gandi/letsencrypt-gandi

Le plugin peut installer les certificats automatiquement sur les instances PHP et Ruby. Les utilisateurs des instances Python et Node.js devront ajouter une route particulière à leur application avant d'utiliser le plugin.

Serveur

Vous pouvez créer et utiliser les certificats de LE sur des Serveurs Gandi comme sur tout autre serveur.

Vous pouvez suivre les instructions fournies par Let's Encrypt, ou le tutoriel ci-dessous.

Accélérateur Web

Bien qu'il soit facile d'installer les certificats LE sur nos Accélérateurs Web, il n'existe pas encore de moyen automatisé pour le faire.

Le guide ci-dessous vous montrera en détail comment faire pour obtenir et installer un certificat sur votre Accélérateur Web.

Noms de domaine et DNS

Vous n'avez aucun changement à faire du côté de votre nom de domaine pour vous servir des certificats Let's Encrypt. Dans la plupart des cas, vous n'aurez même pas à toucher aux enregistrements DNS et vos fichiers de Zone.

De toute façon, le guide ci-dessous couvre tous les aspects liés à l'obtention et installation de certificats Let's Encrypt avec Gandi, notamment la création d'un nom de domaine et la configuration des enregistrements DNS.

Certificats

Vous pouvez également acheter des certificats Gandi en utilisant d'autres méthodes de validation, telles que via mail, par DNS ou validation manuelle. De plus, tout domaine créé chez Gandi donne droit à un certificat SSL gratuit pendant 12 mois.

Les certificats obtenus avec Let's Encrypts sont comparables aux Certificats SSL Standard fournis par Gandi. Au delà des différentes méthodes de validation, les principales différences sont dans la période de validité (3 mois pour LE, 12 mois ou plus pour Gandi) et la vitesse de livraison (immédiate pour LE, potentiellement quelques heures pour Gandi en fonction de la méthode de validation).

Gandi offre également d'autres types de certificats, comme les Wildcard ou les offre Pro et Business, qui incluent des assurances, la barre verte et d'autres bénéfices.

Tutoriel

Ce tutoriel propose un pas à pas complet de l'ensemble du processus pour installer les certificats Let's Encrypt sur les produits Gandi, de l'achat du nom de domaine à l'obtention du certificat pour une utilisation soit sur un Serveur, une instance Simple Hosting ou l'Accélérateur Web.

Vous pouvez utiliser les liens pour accéder directement à la section s'appliquant à votre utilisation et obtenir plus d'informations.

Pré-requis

1. Un compte Gandi

Vous pouvez créer un compte gratuitement à partir de notre site : https://www.gandi.net/contact/create

2. Gandi CLI, mais le site Gandi convient également

Ce tutoriel utilise des commandes de Gandi CLI dans les exemples mais vous pouvez effectuer ces opérations à partir de notre site web. http://cli.gandi.net

Vous pouvez générer votre clé API pour la plate-forme de production ici : https://www.gandi.net/admin/api_key

3. Fonds sur le compte prépayé

Certaines opérations dans les exemples suivants sont payantes, par exemple lors de l'achat d'un domaine, d'un serveur, d'un accélérateur web ou d'une instance.

La gestion la plus simple de ces achats est via le compte prépayé, vous pourrez procéder directement aux différentes commandes. https://www.gandi.net/prepaid

Instructions

1. Obtenir un nom de domaine avec la ligne de commande

Vous pouvez trouver et acheter des noms de domaine directement à partir de la ligne de commande avec Gandi CLI. Vous utiliserez un assistant simple pour l'achat de votre nom de domaine.

Vous pouvez aussi utiliser les options en ligne de commande avec Gandi CLI vous permettant d'exécuter l'ensemble, mais dans ce tutoriel elles ne seront utilisées qu'en cas d'absolu nécessité.

$ gandi domain create
> Domain: example.com      # renseigner le nom de domaine
> example.com is available
> Duration [1] : 1         # renseigner la durée en année(s).

Vous serez prêt pour l'étape suivante dès que vous serez l'heureux possesseur de votre nouveau nom de domaine.

2. Création d'un Serveur et récupération de son Adresse IP

Comme expliqué précédemment, Let's Encrypt est actuellement conçu pour délivrer des certificats aux serveurs répondant pour un nom de domaine donné.

Vous pouvez effectuer cela en quelques minutes en créant un simple serveur utilisant un système supporté par l'outil Let's Encrypt. Nous appellerons ce serveur “letsencrypt”

$ gandi vm create --hostname letsencrypt --image "Ubuntu 14.04 64 bits LTS (HVM)" --ip-version 4
$ gandi vm info
...
ip4           : 123.456.7.89
ip6           : 2001:xxxx:xxxx:xxxx
...

3. Création d'un enregistrement DNS pour chaque domaine du certificat

Vous aurez besoin de créer un enregistrement DNS pour chaque domaine que vous souhaitez couvrir avec votre certificat afin que les serveurs de Let'sEncrypt puisse utiliser cette adresse pour effectuer la validation automatique.

Une méthode pour effectuer cela est de créer des enregistrements de type A et AAAA pour example.com et www.example.com avec les adresses du serveur (IPv4 et IPv6 respectivement).

$ gandi record create example.com --name "@" --type A --value 123.456.7.89
$ gandi record create example.com --name "www" --type A --value 123.456.7.89
$ gandi record create example.com --name "@" --type AAAA --value 2001:xxxx:xxxx:xxxx
$ gandi record create example.com --name "www" --type AAAA --value 2001:xxxx:xxxx:xxxx

Il sera nécessaire de patienter durant le délai de propagation avant de pouvoir effectuer une requête à Let's Encrypt pour vos certificats.

Vous pouvez pinger régulièrement l'une des adresses pour définir si votre connexion à déjà pris en compte les modifications.

$ ping example.com

4. Connexion au serveur via SSH

$ gandi vm ssh letsencrypt

Assurez-vous d'avoir git et wget d'installé. Sur une distribution Ubuntu par exemple :

me@letsencrypt # sudo apt-get update
me@letsencrypt # sudo apt-get install -y git wget

5. Installation de certbot et création des certificats

Téléchargez et installez certbot et exécutez l'outil pour être guidé à travers les étapes ou découvrir plus d'options dans la documentation Let's Encrypt. Certains distributions Linux ont une version déjà disponible dans les gestionnaires de paquets. Si vous installez certbot depuis son dépôt GitHub, vous pouvez suivre l'exemple ci-dessous :

me@letsencrypt # git clone https://github.com/certbot/certbot.git certbot
me@letsencrypt # cd certbot
me@letsencrypt # ./certbot-auto

Hormis la sélection de domaines couverts par le certificat, vous aurez trois options de configurations: configuration automatique pour Apache ou Nginx, téléchargement automatique avec un serveur web temporaire ou configuration manuelle avec un dossier “webroot” à définir.

Pour obtenir simplement les certificats sans installer ou configurer quoique ce soit vous-même, vous pouvez choisir le mode serveur temporaire. L'outil s'occupera de la totalité du processus de validation et téléchargement des certificats vers le serveur.

Les deux autres modes sont utiles si vous souhaitez utiliser les certificats sur ce serveur spécifiquement.

Consultez la documentation de Let's Encrypt pour plus d'informations sur ce processus.

6. Téléchargement des certificats sur votre ordinateur et ajout chez Gandi

Gandi propos un service de “Certificate Store” facilitant le stockage, la récupération et l'utilisation des certificats avec les produits Gandi tels que Simple Hosting et l'Accélérateur Web.$

Nous téléchargerons les fichiers du certificats obtenus sur le serveur vers notre ordinateur local, puis nous les enverrons vers le “Certificate Store”.

$ scp -r root@123.456.7.89:/etc/letsencrypt/live/example.com .
$ gandi certstore create --pk example.com/privkey.pem --crt example.com/cert.pem

Vous pouvez également supprimer le serveur temporaire utilisé pour l'obtention du certificat si vous ne prévoyez pas de l'utiliser à nouveau.

$ gandi vm delete letsencrypt

7. Utilisation du certificat avec une instance Simple Hosting

Les instances Simple Hosting sont une solution d'hébergement de sites et applications facile à prendre en main et évolutive. Vous pouvez sélectionner la taille d'instance, votre langage de prédilection, le type de serveur bases de données ainsi que la méthode de déploiement correspondant à vos besoins.

Vous pouvez facilement héberger un site ou une application sécurisée avec un certificat Let's Encrypt sur une instance Simple Hosting.

Dans cet exemple, nous créons une instance supportant SSL puis nous associons le certificat à une des adresses déclarées sur celle-ci.

$ gandi paas create mysecuresite --size m --ssl 
$ gandi vhost create --vhost "www.example.com" --alter-zone --ssl --pk example.com/privkey.pem

Votre site web sécurisé devrait désormais être disponible à https://www.example.com

8. Utilisation du certificat avec l'Accélérateur Web

Un Accélérateur Web est un répartiteur de charge couplé à un service de cache HTTP. C'est un outil utlra-performant distribuant les requêtes entrantes jusqu'à 16 différent serveurs, conservant et délivrant des éléments du cache (html, js, css, images) afin d'enlever cette charge aux serveurs.

Vous pouvez facilement associer un domaine à un Accélérateur Web et utiliser les certificats obtenus avec Let's Encrypt pour sécuriser un service web ou une application web évolutive en taille et en ressources.

$ gandi webacc create --ssl-enable --vhost example.com --zone-alter --ssl --pk example.com/privkey.pem

Votre application web rapide et sécurisée est maintenant accessible à https://example.com.