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:
- a2enmod ssl
- service apache2 restart