Certificats SSL TLS Letsencrypt

De Analyse Développement Hacking
Sauter à la navigation Sauter à la recherche
Consulter le wiki : Accueil du wiki - Objectifs - Administrateur - Bureautique - Développeur - Intégrateur - Marketing - Multimédia - Objets numériques - Jeux - We make Hack
Consulter le site : Accueil du site - Annuaire - Blog - Forum - Outils - Utilisateur     Consulter le Redmine : Accueil du Redmine

Sommaire

Certificats SSL TLS Let’s Encrypt

Le protocole TLS s’est imposé mais on parle toujours de SSL par convention.
Un certificat SSL et un certificat TLS sont une seule et même chose.
Lire cette page pour créer un Certificat SSL TLS Let’s Encrypt.
Les normes de sécurité encouragent à déclarer qu'un site Web est uniquement accessible via une connexion sécurisée (HTTPS).
Can i use Strict Transport Security : https://caniuse.com/#feat=stricttransportsecurity

Les caractéristiques du certificat Let’s Encrypt

Le logiciel Certbot propose des plugins et des assistants qui permettent d’installer automatiquement les certificats et de modifier automatiquement les configurations.
Certbot est l'outil. Let’s Encrypt est le service.
Il permet de sécuriser un serveur web, un serveur de messagerie, un serveur FTP ainsi que de sécuriser une connexion via le protocole HTTPS.
Le certificat Let’s Encrypt est reconnu et compatible avec quasiment tous les navigateurs et toutes les applications.
Le certificat est valables 90 jours, il est possible d’automatiser le renouvellement.
L’émission du certificat est automatisée et ne prend que 5 minutes.
Il est de type X.509 et utilise la fonction de hachage SHA-2.
Il est gratuit et délivré par une autorité de certification.
Il est uniquement de type validation de domaine (DV).

Déployer Certbot sur Debian

Méthode pour déployer Certbot et Let’s Encrypt

- Installer les prérequis pour le serveur web.
- Installer Certbot qui va générer les certificats.
- Attention : Cas pour une machine virtuelle.
- Générer un certificat TLS Let’s Encrypt.
- Configurer le vhost de Apache pour utiliser le certificat.
- Vérifier la configuration et la qualité du paramétrage SSL.
- Renouveler un certificat.
- Renouveler automatiquement un certificat.
- Révoquer un certificat.

Installer les prérequis pour le serveur web

Pour un serveur Apache2, les mods SSL et rewrite doivent être activés.
Vérifier si les modules sont activés :
sudo apachectl -M
Si les deux modules sont affichés, c'est qu'ils sont chargés.
Loaded Modules:
...
rewrite_module (shared)
ssl_module (shared)
Sinon, charger les modules :
sudo a2enmod ssl
sudo a2enmod rewrite
Redémarrer Apache2 pour prendre en compte les nouveaux modules :
sudo systemctl restart apache2
Vérifier également que l'hôte virtuel pour le domaine concerné soit bien renseigné dans le vhost de Apache2.

Installer Certbot qui va générer les certificats

Installer Certbot sur Debian
# Vérifier si le paquet certbot est présent sur le dépôt.
apt policy certbot
# Installer Certbot sur Debian Stretch 9.5.
sudo apt install certbot
# Fin de l'installation.
# Le dossier suivant est maintenant disponible sur le système.
cd /etc/letsencrypt/
Installer Certbot Auto depuis les paquets officiels
Télécharger Certbot et le rendre exécutable :
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
C'est un simple fichier a stocker dans un endroit approprié. Dans /opt par exemple.
Exécuter une première fois certbot-auto pour qu’il télécharge ses dépendances et s'installe.
./certbot-auto
Certbot proposera de commencer le travail de création.
Vous pouvez quitter pour y revenir plus tard.
Les fichiers principaux sont installés et se trouvent dans /etc/letsencrypt.
Trois dossiers de stockage pour les certificats sont présents :
archive : Dossier de base ou sont stockés les certificats.
live : Dossier des certificats actifs. Des liens symboliques vers le dossier archive.
renewal : Dossier qui contient les informations de renouvellement des certificats.
# Créer le certificat pour un domaine.
./certbot-auto certonly --webroot --webroot-path /var/www/domain.tld/ --domain domain.tld --domain www.domain.tld --email mon@email.com
# Créer le certificat pour plusieurs domaines, sans spécifier le webroot-path.
./certbot-auto certonly -d www.domain1.fr -d domain1.fr -d domain2.fr -d www.domain2.fr
certonly : Demande uniquement la création du certificat.
--webroot : Le plugin webroot se contente d'ajouter des fichiers dans le dossier défini dans --webroot-path.
--webroot-path : Le chemin du DocumentRoot de Apache. Certbot placera ses fichiers dans $DocumentRoot/.well-known/ pour les tests et vérifications.
--domain : Le nom de domaine à certifier.
--email : L'adresse qui recevra les notifications de Let's Encrypt principalement pour rappeler de renouveler le certificat le moment venu.

Attention : Cas pour un serveur web local sur une machine virtuelle

Sur une page HTTPS, toute demande de chargement de JavaScript à partir d’une URL HTTP sera bloquée.
Si vous développez localement en HTTP, vous pouvez ajouter un script qui fonctionne correctement mais qui ne fonctionnera pas une fois déployé en production HTTPS.
Let's Encrypt ne peut pas fournir de certificats pour «localhost» car personne ne le possède de manière unique, et, il n’est pas ancré dans un domaine de premier niveau comme «.com» ou «.net».
Vous ne pourrez pas émettre un certificat pour ce domaine à partir de la machine virtuelle sans que le domaine ne soit dirigé vers la machine virtuelle.
Vous pouvez modifier le domaine pour pointer vers l'adresse IP de la machine virtuelle et vous assurer que le port 80 de cette adresse IP est dirigé vers le client ACME sur la machine virtuelle.
Utiliser le type de requête DNS-01.
Si vous vouliez éviter DNS-01 et utiliser HTTP-01 avec un faux nom de domaine, vous pouvez suivre les instructions pour configurer une instance de développement de Boulder.
Si vous souhaitez tester sans avoir un vrai nom de domaine, vous devez exécuter votre propre version des serveurs Let's Encrypt avec lesquels vous pouvez utiliser de fausses données DNS.
Ensuite, utiliser Certbot / votre client Acme avec cette instance locale, en définissant le paramètre FAKE_DNS env. var correctement pour pointer sur votre machine virtuelle de test avec le client acme.
https://github.com/letsencrypt/boulder#working-with-a-client
https://github.com/letsencrypt/boulder#development-setup

Générer un certificat TLS Let’s Encrypt

Arrêter Apache2
systemctl stop apache2
Créer un certificat TLS 4096bits avec Cerbot :
certbot certonly --standalone -d domaine.tld --rsa-key-size 4096
Renseigner une adresse mail valide permet de recevoir les notifications de fin de validité du certificat TLS :
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel):
Accepter les termes de la licences :
(A)gree/(C)ancel:
Le certificat TLS est créé :
Congratulations!
Exemple de mise en application
Certbot certonly standalone
Créer le certificat pour visionduweb.fr
Arrêter Apache2 avant de faire la manipulation
systemctl stop apache2
sudo certbot certonly --standalone -d visionduweb.fr -d www.visionduweb.fr --rsa-key-size 4096 --email vision.du.web@free.fr
Lire https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf
Lire : https://acme-v01.api.letsencrypt.org/directory
a pour accept
Seriez-vous prêt à partager votre adresse e-mail avec Electronic Frontier
Fondation, partenaire fondateur du projet Let's Encrypt et de l'association à but non lucratif
organisation qui développe Certbot? Nous aimerions vous envoyer un email sur EFF et
notre travail pour chiffrer le Web, protéger ses utilisateurs et défendre les droits numériques.
y pour yes
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for visionduweb.fr
Cleaning up challenges
Problem binding to port 80: Could not bind to IPv4 or IPv6.
Ce message est affiché car utiliser --standalone lance un serveur Web temporaire car aucun serveur n'est en cours d’exécution.
Il aurait fallu arrêter Apache2 avant de faire la manipulation ? Arrêter Apache2 ne semble rien changer à ce message. La clé n'est pas générée avec --standalone.
Noter que j'avais aussi oublié de monter un Vhost, pour ajouter mon nom de domaine localement.
Ce premier essai a échoué, en effet, étant sur une Machine Virtuelle locale, le nom de domaine utilisé ne pointant pas vers l'adresse IP de la machine virtuelle, la création du certificat ne peut pas fonctionné et est refusé par l'autorité de certification Let's Encrypt.
Il faut s'assurer que votre nom de domaine était entré correctement et les enregistrements DNS A / AAAA pour ce domaine contient la bonne adresse IP.
Simuler la création de la clé
certbot certonly --non-interactive --email vision.du.web@free.fr \
 --preferred-challenges tls-sni-01 --standalone --agree-tos \
 --renew-by-default --webroot-path /var/www/html \
 -d visionduweb.fr -d www.visionduweb.fr --test-cert
Let's Encrypt ne gérait pas le Wildcard. Il fallait donc déclarer le domaine.ext et le sous-domaine www.domaine.ext.
Depuis, il semblerait que Let's Encrypt gère le Wildcard. À suivre.
Si tout se passe correctement, enlever l'option --test-cert pour générer le certificat.
Les fichiers générés devraient se trouver dans le répertoire /etc/letsencrypt/live/<domaine>.
Noter que lors de la création des clés, les VirtualHosts n'incluent pas encore les lignes vers le certificat, puisqu'il n'existe pas encore.
Les VirtualHosts doivent être en écoute du port 80 pour répondre aux requêtes.
Mes VirtualHosts sont peut être mal renseigné : Cette commande avec --standalone n'a pas aboutie lors de mes essais.
Il faudra vérifier par la suite si cette commande fonctionne correctement.
Générer le certificat Let's Encrypt
# Il semble conseillé d'arrêter le serveur Apache2 durant la création ou le renouvellement de certificats.
# Utiliser la commande suivante pour arrêter Apache2 le temps de la création du certificat, puis, pour redémarrer Apache2 :
sudo certbot certonly --authenticator standalone --pre-hook "systemctl stop apache2.service" --post-hook "systemctl start apache2.service" --email email@chepec.se -d git.chepec.se
# Créer le certificat pour mondomaine.com et son sous domaine www.mondomaine.com :
sudo certbot certonly --webroot --agree-tos --email votre@email.com -d mondomaine.com -d www.mondomaine.com -w /var/www/html --rsa-key-size 4096
Ajouter d'autres domaines lors de la création du certificat avec l'option -d domaine.tld.
Spécifier l'emplacement du site sur le serveur avec l'option --webroot (-w) : /var/www/html/
Utiliser l'option -d mondomaine.com -d www.mondomaine.compour ajouter un site. Le certificat créé sera multi-site.
Utiliser l'option --rsa-key-size 4096 pour améliorer le certificat en le passant en 4096 bits (2048 bits par défaut).
Pour une gestion simplifiée des certificats, ne pas intégrer tous vos sous-domaines au même certificat.
Créer 2 certificats, pour des sites différents sur des sous-domaines différents, pour blog.domaine.com et forum.domaine.com.
En cas de modification, de déplacement ou de suppression de l'un des sites, il n’y aura pas d'impacts sur les autres certificats.
# Créer le certificat pour mes propres domaines :
sudo certbot certonly --webroot --agree-tos --email vision.du.web@free.fr -d green-nrj.com -d www.green-nrj.com -d unis-pour-le-climat.com -d www.unis-pour-le-climat.com -d unis-pour-la-planete.com -d www.unis-pour-la-planete.com -w /var/www/html --rsa-key-size 4096
# Après avoir lancé la commande de création de certificat, les éléments suivants sont affichés :
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None << Je note que le plugin Authenticator webroot ne semble pas être installé !
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for www.unis-pour-la-planete.com
http-01 challenge for green-nrj.com
http-01 challenge for unis-pour-la-planete.com
http-01 challenge for unis-pour-le-climat.com
http-01 challenge for www.green-nrj.com
http-01 challenge for www.unis-pour-le-climat.com
Using the webroot path /var/www/html for all unmatched domains. << Attention : Dans mon cas, par la suite, un des domaines se trouve dans /var/www/domaine.tld
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
  /etc/letsencrypt/live/green-nrj.com/fullchain.pem
  Your key file has been saved at:
  /etc/letsencrypt/live/green-nrj.com/privkey.pem
  Your cert will expire on 2019-01-21. To obtain a new or tweaked
  version of this certificate in the future, simply run certbot
  again. To non-interactively renew *all* of your certificates, run
  "certbot renew"
Accéder aux logs de la création du certificat :
sudo cat /var/log/letsencrypt/letsencrypt.log
Consulter le dossier de Let's Encrypt qui devrait contenir les clés dans un dossier live/
sudo bash
cd /etc/letsencrypt/
Contenu du dossier si la génération des clés a échoué : accounts  cli.ini  csr  keys  renewal  renewal-hooks
Contenu du dossier si la génération des clés a fonctionné : accounts  archive  cli.ini  csr  keys  live  renewal  renewal-hooks
Note :
Que ce soit pour standalone ou webroot, le plugin ne semble pas trouver :
Plugins selected: Authenticator webroot, Installer None
Les certificats obtenus
Les certificats se trouvent dans les dossiers : /etc/letsencrypt/live/domain.tld/
Pour chaque certificat 4 fichiers ont été créés :
privkey.pem : La clé privée de votre certificat. A garder strictement confidentiel.
cert.pem : Le certificat serveur pour les versions d'Apache < 2.4.8.
chain.pem : Les certificats intermédiaires pour les versions d'Apache < 2.4.8.
fullchain.pem : L'ensemble des certificats, concaténation du cert.pem et du chain.pem, pour les versions d’Apache >= 2.4.8.
Les options de configuration pour le renouvellement
# Je change ici le path du domaine visionduweb.fr qui a changé d'emplacement après que le certificat ait été créé.
cd /etc/letsencrypt/renewal
sudo nano green-nrj.com.conf
# De
green-nrj.com = /var/www/html
www.green-nrj.com = /var/www/html
visionduweb.fr = /var/www/html
www.visionduweb.fr = /var/www/html
# Vers
green-nrj.com = /var/www/html
www.green-nrj.com = /var/www/html
visionduweb.fr = /var/www/visionduweb.fr
www.visionduweb.fr = /var/www/visionduweb.fr

Configurer le vhost de Apache pour utiliser le certificat

# Se placer dans le dossier des sites activés.
cd /etc/apache2/sites-available/
# Éditer le fichier du VirtualHost à configurer.
Configuration du VirtualHost de Apache2
Configuration minimaliste présente lors de la création du certificat
# Ajouter les lignes suivante dans le VirtualHost.
<VirtualHost *:80>
ServerName www.green-nrj.com
ServerAlias green-nrj.com
ServerAdmin mail@visionduweb.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Enregistrer la configuration et quitter l'éditeur de texte.
Tester la configuration de Apache2 :
sudo apachectl -t
Redémarrer Apache2 pour appliquer la nouvelle configuration :
sudo systemctl restart apache2
Configuration avancée pour prendre en compte le certificat qui a été créé
# Ajouter les lignes suivante à la suite des lignes présentes dans le VirtualHost.
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName www.green-nrj.com
ServerAlias green-nrj.com
ServerAdmin mail@visionduweb.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# Quatres lignes pour intégrer le certificat Let's Encrypt.
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/green-nrj.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/green-nrj.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/green-nrj.com/chain.pem
</VirtualHost>
</IfModule>
Enregistrer la configuration et quitter l'éditeur de texte.
Tester la configuration de Apache2 :
sudo apachectl -t
Redémarrer Apache2 pour appliquer la nouvelle configuration :
sudo systemctl restart apache2
Optimiser la configuration SSL
## Récupérer les infos supplémentaires depuis le fichiers options-ssl-apache.conf
## Je ne trouve pas ce fichier.
Ajouter les directives qui nous intéressent :
SSLProtocol
SSLHonorCipherOrder
SSLCompression
SSLOptions
SSLCipherSuite
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCompression off
SSLOptions +StrictRequire
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Tester la configuration de Apache2 : apachectl -t
Rediriger toutes les requêtes http vers https
# Remplacer :
## ## ## Port 80 ## ## ##
<VirtualHost *:80>
   Servername visionduweb.fr
   Redirect permanent / http://www.visionduweb.fr/
</VirtualHost>
# Par :
## ## ## Port 80 ## ## ##
<VirtualHost visionduweb.fr:80>
ServerName visionduweb.fr
ServerAlias www.visionduweb.fr 

# Le vhost du port 80 redirige de http vers https.
# Je souhaite que 100% du trafic passe sur https.
# Les informations complémentaires sont inutiles.
# Pas de documentRoot, pas de logs.

<IfModule mod_rewrite.c>
RewriteEngine on
# Redirection de http vers https.
RewriteCond %{HTTPS} off
# Le dossier .well-know doit être exclu de la réécriture d'URL.
RewriteRule (^|/)\.(?!well-known) - [F]
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</IfModule>
</VirtualHost>
Tester la configuration de Apache2 : apachectl -t
Le dossier well-known
Informations complémentaires sur le dossier .well-know créé par certbot.
Dans mon cas certbot ne m'a pas créé le dossier .well-know !
Le challenge .well-know ne peut pas fonctionner.
Todo.png
# Vérifier l’existence du dossier .well-known :
curl -I https://www.visionduweb.fr/.well-known
# Le dossier .well-know doit être exclu de la réécriture d'URL.
RewriteRule (^|/)\.(?!well-known) - [F]
Configurer le serveur web pour qu'il aille chercher .well-known là où certbot l'a créé.
Ce n'est pas obligatoire de placer le dossier .well-known dans le docroot du site concerné. Par exemple :
- un /var/www/certbot/ dans lequel certbot peut écrire (peut être n'importe où), qui peut servir pour tous les domaines
- dans la conf du serveur web, créer un alias pour que /.well-known pointe sur /var/www/certbot/
- appeler certbot en cli en lui précisant `--webroot -w /var/www/certbot`. L'option webroot-path permet de définir l'emplacement du dossier .well-known
# Le dossier ".well-known" est actuellement utilisé par Let's Encrypt, mais d'autres usages vont arriver.
# Une RFC est sortie sur ce dossier : https://tools.ietf.org/html/rfc5785
# Certain l'utilise déjà pour y stocker les favicons, robots.txt, sitemap...
https://github.com/nhoizey/nicolas-hoizey.com/tree/master/.well-known
https://github.com/nhoizey/nicolas-hoizey.com/blob/master/.htaccess#L724-L748
https://github.com/fvsch/scripts-and-snippets/blob/master/apache/rewrite-well-known.conf
# Si vous voulez utiliser un dossier commun pour tous les sites, il faut que l'alias soit sur l'adresse "/.well-known/acme-challenge".

Vérifier son certificat

Vérifier la configuration et la qualité du paramétrage SSL
Tester le score de votre certificat depuis l'outil en ligne proposé par ssllabs : https://www.ssllabs.com/ssltest/index.html
Analyser le domaine visionduweb.fr depuis SSLLabs retourne un score A+. Vous devez viser l'obtention d'un A+ pour chacun de vos domaines.
Ssllabs-visionduweb-fr-score-a.png
Vérifier les liens suivants pour étudier la qualité de son certificat
# Autres liens à consulter et à trier, pour vérifier son certificat.
Mozilla SSL Configuration Generator : https://mozilla.github.io/server-side-tls/ssl-config-generator/
https://www.ssllabs.com/ssltest/
https://tls.imirhil.fr
https://ssldecoder.org
https://www.networking4all.com/en/
https://www.htbridge.com/ssl/
https://observatory.mozilla.org
https://securityheaders.com
A installer sur sa machine : https://f4fia.wordpress.com/2015/08/16/tuto-installation-du-script-sslcheck/
Sous GNU/Linux pour tester la connexion en présentant un cipher particulier :
openssl s_client -cipher 'ECDHE-RSA-AES256-GCM-SHA384 ' -connect www.monsite.com:443
Pour tester la connexion et voir quel cipher est négocié :
openssl s_client -connect www.monsite.com:443
Lister tous les ciphers côté client :
openssl ciphers -v
Lister les ciphers côté client excepté ceux sans chiffrement (eNULL) ou sans authentification (aNULL) :
openssl ciphers -v 'ALL:!aNULL'
Tester le ciphers supportés par votre serveur :
https://github.com/drwetter/testssl.sh
Vérifier le temps restant en jours avant expiration de son certificat
Utiliser cURL pour vérifier le certificat d'un domaine
curl -L -v -s https://www.visionduweb.fr 1>/dev/null
# Retourne :
* found 598 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256
* 	 server certificate verification OK
* 	 server certificate status verification SKIPPED
* 	 common name: green-nrj.com (matched)
* 	 server certificate expiration date OK
* 	 server certificate activation date OK
* 	 certificate public key: RSA
* 	 certificate version: #3
* 	 subject: CN=green-nrj.com
* 	 start date: Thu, 20 Dec 2018 01:37:02 GMT
* 	 expire date: Wed, 20 Mar 2019 01:37:02 GMT
* 	 issuer: C=US,O=Let's Encrypt,CN=Let's Encrypt Authority X3
* 	 compression: NULL
* ALPN, server accepted to use http/1.1
> GET / HTTP/1.1
> Host: www.visionduweb.fr
> User-Agent: curl/7.47.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Mon, 25 Feb 2019 03:52:54 GMT
< Server: Apache/2.4.38 (Debian)
< Expires: Wed, 17 Aug 2005 00:00:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Pragma: no-cache
< Set-Cookie: f4e8b27a5048454220760e16fe525d93=js9viovkacg8u0cbq1ebcc8eev; path=/; HttpOnly
< Last-Modified: Mon, 25 Feb 2019 03:52:55 GMT
< Vary: Accept-Encoding
< Transfer-Encoding: chunked
< Content-Type: text/html; charset=utf-8
< 
{ [6 bytes data]
* Connection #0 to host www.visionduweb.fr left intact
Utiliser openssl pour vérifier le certificat d'un domaine
# Afficher la date d'expiration d'un certificat :
echo | openssl s_client -connect visionduweb.fr:443 2>/dev/null \
| openssl x509 -noout -enddate
# Retourne :
notAfter=Mar 20 01:37:02 2019 GMT
Monitorer la date d'expiration d'un certificat SSL avec ssl-cert-check
# Installer le paquet.
sudo apt-get install ssl-cert-check
# Monitorer un certificat SSL installé sur votre serveur.
ssl-cert-check -c /etc/letsencrypt/live/site.net/fullchain.pem
# Monitorer un certificat SSL en ligne.
ssl-cert-check -s noobunbox.net -p 443
# Monitorer plusieurs domaines à partir d'une liste.
# Créer le fichier pour accueillir la liste.
nano ssl-domains
# Ajouter les domaines dans la liste.
site.net 443
site.deux.net 443
google.com 443
# Vérifier la liste.
ssl-cert-check -f ssl-domains
# Plus d'informations sur les certificats avec le paramètre -i.
ssl-cert-check -i -f ssl-domains
# Envoyer une (-a) alerte par (-e) email si l’un des certificats listés dans le fichier (-f ssl-domains) ssl-domains expire dans (-x 60) 60 jours.
ssl-cert-check -a -f ssl-domains -q -x 60 -e adresse-email
Script pour vérifier un certificat et les domaines liés
Ajouter les lignes suivantes dans un fichier how-much-time-remaining.sh
sudo touch how-much-time-remaining.sh
sudo nano how-much-time-remaining.sh
sudo sh how-much-time-remaining.sh
cert="/etc/letsencrypt/live/green-nrj.com/cert.pem"
echo " "
echo "############"
if openssl x509 -checkend 86400 -noout -in $cert
then
  echo "Le certificat $cert fonctionnera demain !"
  today=`date +%D`
  expiredate=`openssl x509 -enddate -noout -in $cert  | awk -F'=' '{print $2}'`
  expdate="date +%D --date='$expiredate'"
  ed=`eval $expdate`
  daysleft=`echo $(($(($(date -u -d "$ed" "+%s") - $(date -u -d "$today" "+%s"))) / 86400))`

  datejourformatfr=`date -d "$today" +%d/%m/%y`
  dateexpirationformatfr=`date -d "$ed" +%d/%m/%y`

  echo "Date du jour : $datejourformatfr ; Expiration : $dateexpirationformatfr ; $daysleft jours restants avant expiration."
else
  echo "Le certificat $cert a expiré ou va expirer d'ici 24 heures !"
  echo "(Ou alors, le certifivat est invalide ou n'a pas été trouvé.)"
fi
echo "############"
echo " "
Le message suivant sera affiché pour un certificat valide :
############
Certificate will not expire
Le certificat /etc/letsencrypt/live/green-nrj.com/cert.pem fonctionnera demain !
Date du jour : 25/02/19 ; Expiration : 20/03/19 ; 23 jours restants avant expiration.
############

Renouveler un certificat

Le certificat délivré par Let’s Encrypt est valable 90 jours.
Il faut renouveler le certificat avant son expiration sinon il devient invalide.
Let’s Encrypt ne renouvellera pas le certificat avant les 30 derniers jours de validité du certificat.
# Il est bon de vérifier que cette commande fonctionnera bien le moment venu.
# Pour cela on peut lancer une simulation de renouvellement via :
certbot-auto renew --dry-run
La commande ./certbot-auto renew renouvelle l’ensemble des certificats Let’s Encrypt disponibles sur la machine.
Pour le moment il n’est pas possible de renouveler un domaine en particulier.
# IMPORTANT : Arrêter Apache2 avant de lancer la commande de renouvellement du certificat !
sudo apache2ctl stop
# Renouveler le certificat :
certbot renew
# ou bien,
# Cette commande va vérifier automatiquement tous les certificats de votre serveur et renouveler ceux qui vont expirer dans moins de 30 jours.
certbot-auto renew
# Le renouvellement peut tout de même être forcé en ajoutant le flag --force-renewal.
# La modification de la force de la clé RSA peut être demandée lors du renouvellement avec le flag --rsa-key-size 4096.
./certbot-auto renew --rsa-key-size 4096 --force-renewal
## Redémarrer Apache2.
## sudo systemctl start apache2
# Dans le cas ou le certificat ne nécessite pas encore un renouvellement, le message suivant sera affiché :
sudo certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/green-nrj.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not yet due for renewal

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The following certs are not due for renewal yet:
 /etc/letsencrypt/live/green-nrj.com/fullchain.pem expires on 2019-01-21 (skipped)
No renewals were attempted.
Erreur de renouvellement - The client lacks sufficient authorization
sudo certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/green-nrj.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator webroot, Installer None
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for visionduweb.fr
http-01 challenge for www.visionduweb.fr
Waiting for verification...
Cleaning up challenges
Attempting to renew cert (green-nrj.com) from /etc/letsencrypt/renewal/green-nrj.com.conf produced an unexpected error: Failed authorization procedure. www.visionduweb.fr (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.visionduweb.fr/.well-known/acme-challenge/euQstJaPGZ3QQ8wm2Akzp5sseWLKKvBvkAo-dW2Qfyk: "<!DOCTYPE html>\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"fr-fr\" lang=\"fr-fr\" dir=\"ltr\">\n    <head>\n        <meta htt", visionduweb.fr (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://visionduweb.fr/.well-known/acme-challenge/NqcCUIEySWiT4ATh_-yGJpXuqd2lEF-vFsaa5cYcL1c: "<!DOCTYPE html>\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"fr-fr\" lang=\"fr-fr\" dir=\"ltr\">\n    <head>\n        <meta htt". Skipping.
All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/green-nrj.com/fullchain.pem (failure)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/green-nrj.com/fullchain.pem (failure)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 renew failure(s), 0 parse failure(s)

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: www.visionduweb.fr
   Type:   unauthorized
   Detail: Invalid response from
   http://www.visionduweb.fr/.well-known/acme-challenge/euQstJaPGZ3QQ8wm2Akzp5sseWLKKvBvkAo-dW2Qfyk:
   "<!DOCTYPE html>\n<html xmlns=\"http://www.w3.org/1999/xhtml\"
   xml:lang=\"fr-fr\" lang=\"fr-fr\" dir=\"ltr\">\n    <head>\n
   <meta htt"

   Domain: visionduweb.fr
   Type:   unauthorized
   Detail: Invalid response from
   http://visionduweb.fr/.well-known/acme-challenge/NqcCUIEySWiT4ATh_-yGJpXuqd2lEF-vFsaa5cYcL1c:
   "<!DOCTYPE html>\n<html xmlns=\"http://www.w3.org/1999/xhtml\"
   xml:lang=\"fr-fr\" lang=\"fr-fr\" dir=\"ltr\">\n    <head>\n
   <meta htt"

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.
Ici, je suppose que l'erreur est du au fait que j'ai déplacé le site, après avoir créé le certificat.
De ce fait, la correspondance avec le dossier .well-known ne correspond plus.
Je me rend compte par la suite que le dossier .well-know n'existe pas.
# Proposition de résolution du problème :
# - Il faut remettre la redirection de base qui pointe vers /var/www/html cela, depuis les VirtualHosts.
# - Il faut renouveler les certificats pour voir si ça fonctionne.
# - Il faut révoquer tous les certificats.
# - Il faut alors modifier les VirtualHost pour revenir à une configuration http://
# - Il faut recréer les certificats pour les domaines hébergés sur /var/www/html
# - Il faut recréer un unique certificat pour visionduweb.fr
# - Il faut recréer un unique certificat pour wiki.visionduweb.fr
# - Il faut modifier à nouveau les VirtualHost pour prendre en compte les certificats SSL.
# - Il faut sauvegarder les certificats.
Pour résoudre ce problème, je n'ai pas eu besoin de réaliser les étapes précédentes que je proposais.
1) J'ai exclu le dossier .well-know de la réécriture d'URL dans le VirtualHost à l'écoute du port 80 : RewriteRule (^|/)\.(?!well-known) - [F]
Comme je ne trouve pas ce dossier .well-know ni dans le dossier /var/www/html/ ni dans le dossier du site :/var/www/visionduweb.fr je suppose que ce n'est pas cette configuration qui résolu le problème.
Le dossier .well-know n'a pas été trouvé pour le moment.
2) J'ai modifié la configuration depuis le dossier /etc/letsencrypt/renewal/ en éditant le fichier de configuration du certificat : sudo nano green-nrj.com.conf
Dans ce fichier, je modifie l'emplacement du site visionduweb.fr qui, depuis son VirtualHost, est configuré pour se trouver dans le dossier /var/html/visionduweb.fr
cd /etc/letsencrypt/renewal
sudo nano green-nrj.com.conf

# De
green-nrj.com = /var/www/html
www.green-nrj.com = /var/www/html
visionduweb.fr = /var/www/html
www.visionduweb.fr = /var/www/html

# Vers
green-nrj.com = /var/www/html
www.green-nrj.com = /var/www/html
visionduweb.fr = /var/www/visionduweb.fr
www.visionduweb.fr = /var/www/visionduweb.fr
Je lance la commande de renouvellement, qui fonctionne maintenant immédiatement.
Noter que j'étais en sudo bash (oups).

certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/green-nrj.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator webroot, Installer None
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for visionduweb.fr
http-01 challenge for www.visionduweb.fr
Waiting for verification...
Cleaning up challenges

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed without reload, fullchain is
/etc/letsencrypt/live/green-nrj.com/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Congratulations, all renewals succeeded. The following certs have been renewed:
  /etc/letsencrypt/live/green-nrj.com/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Si je relance la commande, la date d'expiration a été reconduite pour 90 jours.
certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/green-nrj.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not yet due for renewal

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The following certs are not due for renewal yet:
  /etc/letsencrypt/live/green-nrj.com/fullchain.pem expires on 2019-05-28 (skipped)
No renewals were attempted.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Malgré toute, même si le certificat a bien été renouvelé, je rencontre une nouvelle erreur, mes redirections pourtant bien configurées dans les VirtualHost ne fonctionnent plus.
Tous les domaines sont redirigés vers /var/www/visionduweb.fr indépendamment de la configuration des VirtualHosts qui fait pointer les autres domaines vers /var/www/html.
# Je modifie à nouveau la configuration du fichier /etc/letsencrypt/renewal/green-nrj.com.conf pour la remettre à son état initial.
Tous les domaines pointent à nouveau vers /var/www/html
# Je tente alors de forcer le renouvellement, avec la configuration initiale qui a été éditée dans le fichier /etc/letsencrypt/renewal/green-nrj.com.conf.
sudo certbot --force-renewal renew
# L'étape aboutie correctement, mais, pas de changement, le domaine visionduweb.fr est bien accessible, mais, tous les autres domaines pointent vers visionduweb.fr
J'ai donc un certificat renouvelé.
Un problème de redirection, puisque tous mes domaines pointent vers /var/www/visionduweb.fr
Un répertoire .well-know aux abonnés absents.
Finalement, je tente de modifier le VirtualHost du domaine visionduweb.fr, localisé sur le serveur dans le dossier /var/www/visionduweb.fr
Je renseigne le DocumentRoot comme étant /var/www/html, ce qui était la situation initiale. (Redémarrer le serveur Apache2.)
Je commente la redirection vers le port 443.
Je force à nouveau le renouvellement : sudo certbot --force-renewal renew
Si je consulte mes domaines multiples, ils pointent maintenant bien sur /var/www/html
Si je consulte le domaine visionduweb.fr, il pointe lui aussi vers /var/www/html
Le domaine https://visionduweb.fr pointe correctement sur le site hébergé depuis /var/www/visionduweb.fr
Résolu / Temporairement seulement.
Si je décommente la redirection vers le port 443 et modifie à nouveau le DocumentRoot du VirtualHost du site visionduweb.fr comme étant DocumentRoot /var/www/visionduweb.fr.
(Redémarrer le serveur Apache2.)
Tous les domaines pointent à nouveau vers visionduweb.fr bien que le DocumentRoot de leur VirtualHost indique /var/www/html
Je n'ai toujours pas de répertoire .well-know.
J'abandonne la !
Je pense pouvoir conclure qu'un certificat Let's Encrypt ne fonctionne que dans le cas ou les domaines pointent vers le même hébergement physique.
J'en reviens à ma proposition de résolution du problème :
OK - Il faut remettre la redirection de base qui pointe vers /var/www/html cela, depuis les VirtualHosts.
OK - Il faut renouveler les certificats pour voir si ça fonctionne.
A faire - Il faut révoquer tous les certificats.
A faire - Il faut alors modifier les VirtualHost pour revenir à une configuration http://
A faire - Il faut recréer les certificats pour les domaines hébergés sur /var/www/html
A faire - Il faut recréer un unique certificat pour visionduweb.fr
A faire - Il faut recréer un unique certificat pour wiki.visionduweb.fr
A faire - Il faut modifier à nouveau les VirtualHost pour prendre en compte les nouveaux certificats SSL.
A faire - Il faut sauvegarder les certificats.

Renouveler automatiquement un certificat Letsencrypt

# Créer le fichier de log qui va stocker les informations sur le renouvellement.
sudo touch /var/log/letsencrypt/letsencrypt-renew .log
sudo chown debian:debian /var/log/letsencrypt/letsencrypt-renew .log
sudo chmod 644 /var/log/letsencrypt/letsencrypt-renew .log
# Éditer la crontab :
crontab -e
# Cette commande ne lancera le renouvellement que si votre certificat est éligible.
# Utiliser sudo pour écrire dans les logs, ou, donner les droits en écriture aux 3 éléments notifié ici : Gestion des logs - Letsencrypt.
# Ajouter une tache cron qui va vérifier tous les jours à 2 heures 15 du matin si le certificat doit être renouvelé.
15 2 * * * sudo /usr/bin/certbot renew >> /var/log/letsencrypt/letsencrypt-renew.log
# L’idéal recommandé par certbot serrait d’automatiser une vérification deux fois par jour :
15 2/12 * * * sudo /usr/local/sbin/certbot-auto renew >> /var/log/letsencrypt-renew.log
# Pour que le renouvellement se fasse correctement, il est nécessaire de stopper le serveur Apache2 puis de le relancer pour rendre à nouveau le site disponible :
14 2 * * * sudo service apache2 stop >> /var/log/letsencrypt/letsencrypt-renew.log
15 2 * * * sudo /usr/bin/certbot renew >> /var/log/letsencrypt/letsencrypt-renew.log
16 2 * * * sudo service apache2 restart >> /var/log/letsencrypt/letsencrypt-renew.log

Révoquer un certificat

Quand on migre un hébergement vers une autre machine avec une adresse IP différente il peut être nécessaire de révoquer un certificat avant de le générer par ailleurs.
cd /etc/letsencrypt/live
certbot --text revoke --cert-path chemin/vers/cert.pem
Il sera également nécessaire de revenir à une configuration de Apache sans les lignes concernant SSL, le certificat, les ciphers.

Deployer Certbot sur Ubuntu

Ubuntu 18.04 LTS – Installation de certificats SSL/TLS avec Certbot (Let’s Encrypt) : https://howto.wared.fr/ubuntu-certificats-ssl-tls-certbot/
How to Install Let’s Encrypt with Apache on Ubuntu 16.04 : https://linuxhostsupport.com/blog/how-to-install-lets-encrypt-with-apache-on-ubuntu-16-04/

Wildcard

Aux alentours de avril 2018 (Apparemment), Let'Encrypt a intégré le wildcard.
La syntaxe de la commande ne change pas :
certbot certonly -d *.domaine.org
Pour un wildcard, le challenge acme est différent.
Au lieu du challenge http (Installer un fichier sous .well-known/acme-challenges/), il y a un challenge DNS : ajout d'un enregistrement DNS de type TXT dans la zone DNS.
Ko.png How to : Use certbot with Let’s Encrypt wildcard certificates : https://www.eigenmagic.com/2018/03/14/howto-use-certbot-with-lets-encrypt-wildcard-certificates/

Notes

Avec systemd ce /etc/cron.d/certbot ne fait rien. Il sort sans rien faire si /run/systemd/system existe.
Dans ce cas, c'est /etc/systemd/system/certbot.service qui fait le travail.

StartSSL avant LetsEncrypt

StartSSL était un service qui était largement utilisé avant la démocratisation de Let's Encrypt.
StartSSL ne semble plus être reconnu par Google Chrome ainsi que par Firefox. Il faut désormais s’orienter vers Let’s Encrypt.
Ko.png StartSSL : https://www.partage-it.com/securiser-son-site-ssl-https-gratuit-plesk/

Créer un certificat SSL autosigné pour le développement en local

Pour le local on peut utiliser un certificat dit auto-signé, ou self-signed, c'est à dire sans certification d'une autorité compétente. Let's Encrypt ou Gandi par exemple.
Un certificat auto-signé déclenche une alerte dans la plupart des navigateurs. Ce n'est évidement pas recommandé pour un serveur en production mais cela suffira très bien pour un serveur local.
Créer un certificat SSL / TLS sur Debian : https://howto.biapy.com/fr/debian-gnu-linux/serveurs/http/creer-un-certificat-ssl-sur-debian
HTTPS mise en place d’un certificat auto signé : http://webdevpro.net/https-mise-en-place-dun-certicat-auto-signe/
Source : https://kgaut.net/blog/2016/creer-un-certificat-ssl-autosigne-pour-le-developpement-en-local.html
Créer un certificat SSL autosigné pour le développement en local : https://kgaut.net/comment/6707
Source : https://blog.moncoindunet.fr/linux/openssl/openssl-creer-un-certificat-auto-signe/

Utiliser un certificat pour son site accessible via Tor

Clouflare propose un certificat gratuit pour Tor

Onion Routing est maintenant disponible pour tous les clients Cloudflare, activé par défaut pour les plans Free et Pro.
L'option est disponible dans l'onglet Crypto du tableau de bord Cloudflare.
Source : https://blog.cloudflare.com/cloudflare-onion-service/
Coupler l'option de Onion Routing de Cloudflare avec https-everywhere semble permettre une meilleure sécurité.
Source : https://www.eff.org/https-everywhere

Proton mail sur Tor

Proton mail a fait mettre en place un certificat EV pour son service sur Tor.
Un certificat EV a été mis en place pour cette occasion : https://www.sslmarket.fr/ssl/certificats-ev/

Sécurité

Failles SSL

Exploit SSL 3.0 alias POODLE : http://blogmotion.fr/internet/securite/faille-sslv3-cve-2014-3566-12180
Faille Heartbleed - Votre serveur est-il vulnérable : http://blogmotion.fr/internet/securite/exploit-ssl-11140

Bibliographie

EFF - Let’s Encrypt

Ok.png Le site officiel EFF : https://www.eff.org
Ok.png Le site officiel EFF pour le support sur Certbot : https://certbot.eff.org/support/
Ok.png Le site officiel pour devenir membre EFF : https://supporters.eff.org/donate/certbot-welcome
Ok.png Le salon #letsencrypt et #letsencrypt-dev sur le serveur irc.freenode.net
Ok.png Facebook: https://www.facebook.com/eff
Ok.png Google+: https://plus.google.com/+eff
Ok.png Twitter: https://twitter.com/eff
Ok-ko.png Le site officiel propose des supports d'installation pour différents systèmes d'exploitation : https://certbot.eff.org
Ok-ko.png Documentation officielle pour installer Let’s Encrypt sur Apache2 : https://certbot.eff.org/docs/using.html#apache
Ok-ko.png Documentation officielle des instructions Certbot : https://certbot.eff.org/all-instructions/
Ok.png Le site officiel Let's Encrypt : https://letsencrypt.org
Ok.png Le site officiel pour être aidé par la communauté : https://community.letsencrypt.org

Cacert

Ko.png Cacert - Un équivalent à Let’s Encrypt : http://www.cacert.org
Ko.png Plugins Certbot DNS : https://certbot.eff.org/docs/using.html#dns-plugins

Tutoriels complémentaires

Ok.png Créer et installer un certificat SSL Let’s Encrypt pour Apache : https://www.memoinfo.fr/tutoriels-linux/configurer-lets-encrypt-apache/
Ok.png Source : Installer Certbot sous Debian : https://memo-linux.com/installer-certbot-sous-debian/
Ok-ko.png Source : https://blog.microlinux.fr/certbot-centos/
Ok-ko.png Documentation Let’s Encrypt : https://letsencrypt.readthedocs.io/en/latest/using.html
Ok-ko.png Recommandations de sécurité relatives à TLS : https://www.ssi.gouv.fr/uploads/2016/09/guide_tls_v1.1.pdf
Ok-ko.png Documentation officielle Debian pour Let’s Encrypt : https://wiki.debian.org/LetsEncrypt
Ok-ko.png Tutoriel complémentaire : https://site.ordinatous.com/posts/2018/08/letsencrypt
Ko.png Configurer le VirtualHost : http://www.coolcoyote.net/linux-debian/configurer-un-certificat-lets-encrypt-sur-debian
Ko.png Apache2 et Letsencrypt : https://www.grafikart.fr/formations/serveur-linux/apache-ssl-letsencrypt
Ko.png https://jeanphi.net/blog/2017/03/apache-et-ssl-avec-lets-encrypt

Serveur Apache2

Ok.png Configurer Let’s Encrypt et le virtual host de Apache2 sur Debian : http://www.coolcoyote.net/linux-debian/configurer-un-certificat-lets-encrypt-sur-debian
Ko.png Configurer le SSL avec Apache 2 : https://www.it-connect.fr/configurer-le-ssl-avec-apache-2%ef%bb%bf/
Ok-ko.png Chiffrement fort : https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html
Ko.png Installer et configurer un certificat Let’s Encrypt : https://technique.arscenic.org/ssl-securisation-des-communications-serveur-client/article/installer-et-configurer-un-certificat-let-s-encrypt

Serveur Nginx

Ko.png Let’s Encrypt sur Nginx : https://actualite.housseniawriting.com/technologie/2016/01/02/letsencrypt-nginx/12348/

SSL

Ok-ko.png Qu’est-ce qu’un certificat SSL gratuit et comment l’obtenir : https://www.anthedesign.fr/hebergement-web/certificat-ssl-gratuit/
Ok-ko.png OpenSSL - Cryptography and SSL/TLS Toolkit : https://www.openssl.org/docs/manmaster/man1/ciphers.html
Ok-ko.png Configuration du SSL de Cloudflare : https://www.cloudflare.com/fr-fr/ssl/
Ko.png Source : https://zerossl.com

Ciphers

Ko.png Ciphers forts pour Apache, nginx et Lighttpd : https://cipherli.st
Ko.png Tableau Ciphers : https://tls.imirhil.fr/ciphers

Vidéos

Ok-ko.png https://confs.imirhil.fr/20141116_ubuntu-party_comprendre-https.webm
Ok-ko.png https://confs.imirhil.fr/20150620_pses_tls.webm

NAVIGATION

PARTICIPER ET PARTAGER

Vous êtes sur le wiki de Vision du Web.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Pour participer sur le wiki, créer un compte utilisateur en haut à droite.
La recherche interne du wiki permet de trouver le contenu qui vous intéresse.
Les informations présentes sur ce wiki sont issues d'une recherche personnelle.
Identifiez-vous pour poser vos questions sur la page de discussion de VisionDuWeb.
Améliorer le contenu des pages en faisant des propositions depuis l'onglet discussion.
Les informations du wiki ne doivent pas servir à nuire à autrui ou à un système informatique.
De nombreux outils gratuits sont listés et disponibles dans la boîte à outils de Vision du web.
D'autres pages du wiki peuvent correspondre à vos attentes. La liste de toutes les pages du wiki.

VALORISER LE WIKI

Valoriser le contenu partagé sur le wiki avec un don en monnaie numérique :
AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Gagner des Altcoins - Miner des Altcoins.
Consulter le miroir du wiki depuis Planet Hoster : Le miroir du wiki version du 12 Juillet 2019.