đź“° [Dehydrated] : le nouveau let's Encrypt

📅 February 15th, 2017 ⏲️ 2 mins 31 secs

En Tunisie, les certificats SSL sont coĂ»teux et compliquĂ©s Ă  installer et Ă  intĂ©grer dans les site web.  Avec Let’s Encrypte il est possible d’obtenir et d’automatiser la crĂ©ation et le renouvellement du certificat SSL, plus facile Ă  installer, ces certificats peuvent ĂŞtre utilisĂ©s par le protocole SSL et avoir la https verte sur votre site Web. On peut aussi l’utiliser avec le protocole TLS, SMTP / IMAP, etc donc partout oĂą on a besoin d’utiliser un certificat SSL.
LancĂ©e le 3 dĂ©cembre 2015, Let’s Encrypt est une autoritĂ© de certification qui vise Ă  gĂ©nĂ©raliser l’usage de connexions sĂ©curisĂ©es sur l’internet ce qui signifie que tous les certificats gĂ©nĂ©rĂ©s sont considĂ©rĂ©s comme vĂ©rifiĂ©s et seront reconnus par les diffĂ©rents clients (navigateur, client de messagerie, etc …). C’est l’un des principaux avantages des certificats auto-signĂ©s. Les utilisateurs ne devront pas contourner un avertissement de sĂ©curitĂ© ou ajouter une exception de sĂ©curitĂ© qu’on peut le voir sur des sites web de la gouvernement.
Une fois que le certificat gĂ©nĂ©rĂ© est validĂ©, le cryptage est entièrement automatisĂ©, il n’est plus nĂ©cessaire d’interagir avec lui. Donc, pour crĂ©er et renouveler le certificat, tout ce dont nous avons besoin est un client compatible avec le protocole ACME, et c’est lĂ  que Dehydrated entre dans le jeu.

 

Installation:

Dans notre cas on utilise un serveur Ă©quipĂ© par Debian Jessie donc pour l’installer il faut tout d’abord ajouter la source:

deb http://ftp.us.debian.org/debian/ jessie-backports main

Après un apt-get update on peut l’installer par cette commande:

apt-get install letsencrypt.sh-apache2

Et après on peut lancer la commande letsencrypt.sh
On accède après dans ce fichier /etc/dehydrated/domains.txt pour l’Ă©diter et ajouter nos nom de domaines. Finalement, on lance la commande

dehydrated -c

Cette commande génère les certificats avec les clés auto générés et regroupés dans un seul dossier sous le nom du nom de domaine.
Dans ce cas il faut créer un virtualhost avec cette configuration:

<VirtualHost *:443>
	# ...
	SSLEngine On
	SSLCertificateFile /etc/letsencrypt/certs/nomdedomaine.com/cert.pem
	SSLCertificateKeyFile /etc/letsencrypt/certs/nomdedomaine.com/privkey.pem
	SSLCertificateChainFile /etc/letsencrypt/certs/nomdedomaine.com/chain.pem
	SSLCACertificateFile /etc/letsencrypt/certs/nomdedomaine.com/fullchain.pem
	SSLProtocol all -SSLv2 -SSLv3
	SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
	SSLHonorCipherOrder on
	Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
	Header always set X-Content-Type-Options "nosniff"
	Header always set X-Frame-Options DENY
	Header always set X-XSS-Protection "1; mode=block"
</VirtualHost>

On n’oublie surtout pas d’activer le http par ces commandes:

  1. a2enmod ssl
  2. service apache2 restart