Installation de certificat SSL Gandi avec Pound

Le certificat SSL

Le Secure Sockets Layers abrégé en SSL permet de sécuriser des flux d’informations sur internet.
La norme est standardisée et fonctionne sur le principe de la  cryptographie à clé publique.
Nous travaillerons avec la version libre de SSL appelée OpenSSL.

Le certificat SSL permet d’établir la confiance entre vous (votre site internet) et vos visiteurs.
On le remarque avec l’icône active du cadenas et par le protocole https dans le navigateur.
Il existe plusieurs types de certificats SSL représentant des niveaux de confiance différents.

Pour informations chaque navigateur utilise une icône et des couleurs différentes, voir FAQ :

Un exemple : mon site internet

Mon site internet utilise par exemple un certificat vérifié, signé par l’autorité : gandi.net.
Un cadenas gris apparaît donc en haut à gauche de l’URL de mon site internet ce qui prouve que :

Si vous souhaitez posséder un certificat SSL valide chez Gandi rendez-vous ici : Gandi SSL.
J’utilise depuis le 12 août 2014 un certificat SSL standard à 14,40€ par an sur kassianoff.fr.

Pourquoi mon blog utilise un certificat SSL ?

Aujourd’hui, plusieurs facteurs m’ont motivé dans l’achat annuel d’un certificat chez Gandi.
Bien sûr il y a les raisons évoquées plus haut ainsi que ma volonté de continuer à blogger sur le site.
Le site est consulté en large partie par des internautes passionnés par le monde de la Tech, ce sont des personnes qui comprennent l’internet et les besoins actuels de chiffrement.
Dans la continuité de mon travail, il serait impensable de ne pas vous remercier par vos visites (toujours plus importantes chaque mois !) et l’achat d’un certificat SSL et mon moyen de vous dire : merci ! Gandi est un gage de confiance que j’ai sélectionné pour nous car ils sont au cœur du web français et se démarque par la qualité de leurs services liés à l’internet global ainsi que par leurs différentes missions.
Dans un second temps, je souhaite optimiser mon référencement sur le moteur de Google qui va pénaliser les sites mal sécurisés. Vous savez tout désormais !

Il est maintenant temps de passer à l’installation d’un certificat SSL Gandi sur Pound 2.6.

Achat d’un certificat SSL Gandi

Les étapes ci-dessous expliquent comment posséder un certificat SSL Gandi « une adresse ».
Gandi propose un wiki extrêmement bien conçu à cette adresse : Gandi Wiki SSL (utilisez-le ).

L’étape importante est de bien générer la clé privée RSA (.key) et la demande de certificat (.csr) :

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

Des questions apparaîssent pour la génération de notre « .csr » telles que :

Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Rhone-Alpes
Locality Name (eg, city) []: VALENCE
Organization Name (eg, company) [Internet Widgits Pty Ltd]:kassianoff
Organizational Unit Name (eg, section) []:IT
Common Name (eg, YOUR name) []: kassianoff.fr
Email Address [] [email protected]

Important : le Common Name correspond à mon domaine ou sous domaine à protéger.
Vous remarquerez, le www est forcement protégé chez Gandi et le certificat est gratuit la première année!

Nous affichons désormais le « .csr » afin de le copier/coller chez Gandi lors de la création du certificat :

cat www.kassianoff.csr
-----BEGIN CERTIFICATE REQUEST-----
...encrypted text...
-----END CERTIFICATE REQUEST-----

Maintenant rendez-vous sur l’interface Gandi et commandez votre certificat SSL « une adresse ».

Il suffit de cliquer sur Valider puis de suivre les étapes suivantes qui sont très simples.
Plusieurs méthodes de vérification sont disponibles, j’ai utilisé la méthode par mail.
Vous devez avoir une adresse mail active en « admin@votre_domaine.tld » pour valider.
Ensuite, l’email contient un lien qui redirige vers Comodo avec une clé à caractère à fournir.

Puis, il faut attendre ~1h pour la création de notre certificat pour pouvoir l’utiliser et le récupérer.
Rendez-vous dans l’interface client de Gandi dans SSL > www.kassianoff.fr puis récupérer tel que.

Visualisation du certificat

Voici le certificat actuellement en cours :

Je vous invite à récupérer les deux éléments et à les transférer vers votre serveur Linux.

Configuration du certificat Gandi sur Pound 2.6

La configuration d’un certificat sur Pound me semble intéressante car, tout est dans un « .pem ».
De plus, la souplesse de gestion des certificats avec un reverse proxy est très agréable.
J’avais présentÉ Pound sur l’article suivant : Installation des proxy inverses Pound et Varnish.

On retrouve donc dans notre serveur trois fichiers importants pour la création du certificat :

Pound ne gère pas directement les formats « .key, « .crt » et « .pem » séparément.
Il faut regrouper l’ensemble dans un unique fichier « .pem » que nous appellerons : « www.kassianoff.pem »

  1. nano /etc/pound/ssl/www/www.kassianoff.Pem
  2. -----BEGIN RSA PRIVATE KEY----
    ...encrypted text : www.kassianoff.key...
    -----END RSA PRIVATE KEY-----
    -----BEGIN CERTIFICATE-----
    ...encrypted text : certificate-62460.crt...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ...encrypted text : GandiStandardSSLCA.pem...
    -----END CERTIFICATE-----
  3. On enregistre le certificat Gandi.
  4. On configure Pound depuis le chemin : « nano /etc/pound/pound.cfg« .
  5. ListenHTTPS
            Address 192.168.0.2
            Port 443
            Cert "/etc/pound/ssl/www/www.kassianoff.pem"
            AddHeader "X-Forwarded-Proto: https"
            ## allow PUT and DELETE also (by default only GET, POST and HEAD)?:
            xHTTP           2
            Service
                    BackEnd
                            Address 127.0.0.1
                            Port    80
                    End
            End
    End
  6. Redémarrer Pound :
    /etc/init.d/pound restart
    

Le certificat SSL est correctement configuré sur Pound et votre site est accessible en https !
Vous savez désormais configurer et installer votre certificat SSL Gandi sur Pound.

Pour toutes autres remarques liées à la migration de mon site en https, laissez un commentaire !