Soutenir Vision du Web dans son partage de logiciels et de ressources libres

Ce mineur crée de la monnaie numérique Monero pour soutenir Vision du web.
Merci de désactiver votre bloqueur de publicité.
Aucune publicité ne sera affichée.
Le mineur utilise les ressources de votre machine pour créer gratuitement de la monnaie numérique.
Le montant des donations pour Vision du web est de 0.068851051984958 Monero.

Certificats SSL TLS Letsencrypt : Différence entre versions

De Wiki. Analyse, Communication, Développement, Hacking.
Aller à : navigation, rechercher
m
m (EFF)
(2 révisions intermédiaires par le même utilisateur non affichées)
Ligne 276 : Ligne 276 :
  
 
  [[Fichier:ok-ko.png]] Documentation officielle Debian pour Let’s Encrypt : https://wiki.debian.org/letsencrypt
 
  [[Fichier:ok-ko.png]] Documentation officielle Debian pour Let’s Encrypt : https://wiki.debian.org/letsencrypt
 +
[[Fichier:ok-ko.png]] Recommandations de sécurité relatives à TLS : https://www.ssi.gouv.fr/uploads/2016/09/guide_tls_v1.1.pdf
  
 
==Serveur Apache2==
 
==Serveur Apache2==
Ligne 284 : Ligne 285 :
  
 
==SSL==
 
==SSL==
 +
[[Fichier:ok-ko.png]] Qu’est-ce qu’un certificat SSL gratuit et comment l’obtenir : https://www.anthedesign.fr/hebergement-web/certificat-ssl-gratuit/
 +
[[Fichier:ok-ko.png]] OpenSSL - Cryptography and SSL/TLS Toolkit : https://www.openssl.org/docs/manmaster/man1/ciphers.html
 +
[[Fichier:ok-ko.png]] Configuration du SSL de Cloudflare : https://www.cloudflare.com/fr-fr/ssl/
 
  [[Fichier:ko.png]] Source : https://zerossl.com
 
  [[Fichier:ko.png]] Source : https://zerossl.com
  
Ligne 294 : Ligne 298 :
 
  [[Fichier:ok-ko.png]] https://confs.imirhil.fr/20150620_pses_tls.webm
 
  [[Fichier:ok-ko.png]] https://confs.imirhil.fr/20150620_pses_tls.webm
  
==Tutoriels complémentaires==
 
 
Qu’est-ce qu’un certificat SSL gratuit et comment l’obtenir : https://www.anthedesign.fr/hebergement-web/certificat-ssl-gratuit/
 
Configuration du SSL de Cloudflare : https://www.cloudflare.com/fr-fr/ssl/
 
Recommandations de sécurité relatives à TLS : https://www.ssi.gouv.fr/uploads/2016/09/guide_tls_v1.1.pdf
 
OpenSSL - Cryptography and SSL/TLS Toolkit : https://www.openssl.org/docs/manmaster/man1/ciphers.html
 
  
 
{{Transclusion_Navigation}}
 
{{Transclusion_Navigation}}

Version du 21 septembre 2018 à 16:48

Naviguer sur le site : Accueil du site - Les annuaires - Les éditoriaux - Le forum - Les outils - Les projets
 
Consulter le contenu en étant déconnecté du réseau : Exporter le sommaire de cette page vers un document PDF

Certificats SSL TLS Let’s Encrypt

Créer un Certificats SSL TLS Let’s Encrypt.

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).

Deployer 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.
- 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 :
apachectl -M
Loaded Modules:
...
rewrite_module (shared)
ssl_module (shared)
Si les deux modules sont affichés, c'est qu'ils sont chargés.
Sinon, charger les modules:
a2enmod ssl
a2enmod rewrite
Si des modules sont chargés, redémarrer Apache2 pour prendre les nouveaux modules en compte.
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 Stretch 9.5.
sudo apt install certbot
À la fin de l'installation des paquets, la ligne suivante s'affiche, notifiée ici "si nécessaire par la suite" :
Created symlink /etc/systemd/system/timers.target.wants/certbot.timer → /lib/systemd/system/certbot.timer.
Le dossier suivant est maintenant disponible sur le système.
cd /etc/letsencrypt/

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 www.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
Créer le certificat pour www.visionduweb.fr
arrêter Apache2 avant de faire la manipulation
systemctl stop apache2
sudo certbot certonly --standalone -d www.visionduweb.fr --rsa-key-size 4096
Le mail utilisé : [email protected]
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 www.visionduweb.fr
Cleaning up challenges
Problem binding to port 80: Could not bind to IPv4 or IPv6.
Cela s'est produit parce que vous avez utilisé --standalone.
L’objectif de cette option est de lancer un serveur Web temporaire car vous n’en avez pas un en cours d’exécution.
La prochaine fois, utilisez la méthode --webroot et vous pourrez utiliser votre serveur déjà en cours d’exécution.
Il aurait donc fallu arrêter Apache2 avant de faire la manipulation.
Il faudra donc également arrêter Apache2 pour renouveler le certificat.
systemctl stop apache2
sudo bash pour devenir root et consulter le dossier de Let’s Encrypt qui devrait contenir les clés.
cd /etc/letsencrypt/
accounts  cli.ini  csr  keys  renewal  renewal-hooks
Le fichier de clé est de cette forme dans le dossier keys :
/etc/letsencrypt/keys# 0000_key-certbot.pem
Comment identifier les bonnes clés, sachant que j'ai eu une erreur de port 80 à la création.
Je ne sais pas si la création a aboutie.
Je n'ai eu aucun mail de confirmation.
Noter que j'avais aussi oublié de monter un Vhost, pour ajouter mon nom de domaine localement.
Accéder aux logs de la création du certificat : sudo cat /var/log/letsencrypt/letsencrypt.log
################
En réponse à cette erreur, j'avance de la façon suivante :
Il faut voir à révoquer, et, recommencer. Je ne peux pas révoquer, je ne trouve pas de dossier live/
Depuis un serveur web en place, utiliser --webroot pour générer la clé.
sudo certbot certonly --webroot -d www.visionduweb.fr --rsa-key-size 4096
Avec --webroot : Plugins selected: Authenticator webroot, Installer None
Avec --standalone
Pour corriger ces erreurs, veuillez vous 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é, c'est toujours mieux que de planter le truc directement.
certbot certonly --non-interactive --email [email protected] \
 --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
Si tout s’est passé comme prévu, on peut réitérer la commande ci-dessus en omettant l’option --test-cert pour générer le certificat pour de vrai.
Sauf que la procédure n’aboutis pas.
Les fichiers générés devraient se trouver dans le répertoire /etc/letsencrypt/live/<domaine> (Ce n'est pas mon cas.)
#################
sudo certbot certonly --webroot -d www.visionduweb.fr --rsa-key-size 4096
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for www.visionduweb.fr
Input the webroot for www.visionduweb.fr: (Enter 'c' to cancel): /var/www/html/
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. www.visionduweb.fr (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.visionduweb.fr/.well-known/acme-challenge/qeKwQ7M6jgcNA4_gfXDXaabpuydEXga7GbrqN-q02YE: q%!(EXTRA string=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<meta http-eq)

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/qeKwQ7M6jgcNA4_gfXDXaabpuydEXga7GbrqN-q02YE:
  q%!(EXTRA string=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
  <html lang="fr">
  <head>
  <meta http-eq)

  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.
Tutoriel
Autre tutoriel pour créer le certificat Let’s Encrypt : https://www.memoinfo.fr/tutoriels-linux/configurer-lets-encrypt-apache/
Documentation Let’s Encrypt : https://letsencrypt.readthedocs.io/en/latest/using.html

Configurer le vhost de Apache pour utiliser le certificat

.

Vérifier la configuration et la qualité du paramétrage SSL

.

Renouveler un certificat

service apache2 stop
certbot renew
service apache2 start

Renouveler automatiquement un certificat

Renouvellement automatique du certificat :
Éditer crontab :
contab -e
Ajouter une tache planifiée, par exemple vérifier tous les jours à 2 heures du matin si le certificat doit être renouvelé :
00 2 * * * /usr/bin/certbot renew

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

Sources utilisées pour ce tutoriel

Source : https://blog.microlinux.fr/certbot-centos/
Ok.png Source : Installer Certbot sous Debian : https://memo-linux.com/installer-certbot-sous-debian/

Deployer Certbot sur Ubuntu

https://howto.wared.fr/ubuntu-certificats-ssl-tls-certbot/
https://www.eigenmagic.com/2018/03/14/howto-use-certbot-with-lets-encrypt-wildcard-certificates/

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/
L'extension Firefox suivante peut être utilisée directement depuis Firefox mais ne fonctionne pas sur Firefox Quantum.
https://addons.mozilla.org/en-US/firefox/addon/ssleuth/
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

Forcer la redirection automatique vers https

Ce qui peut être intéressant, c’est de forcer l’accès aux pages en https uniquement, pour faire ceci on va utiliser le mode rewrite. Ajouter ce qui suit au fichier httpd.conf (préfèrable) ou dans un fichier .htaccess :
RewriteEngine On
 RewriteCond %{SERVER_PORT} !^443$
 RewriteRule ^(.*)$  https://%{SERVER_NAME}/admin/? [R=301,L]

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

Ok-ko.png Le site officiel EFF : https://www.eff.org
Ok-ko.png Le site officiel EFF pour le support : https://certbot.eff.org/support/
Ok-ko.png Le site officiel EFF pour devenir membre : https://supporters.eff.org/donate/certbot-welcome
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 Twitter: https://twitter.com/eff
Ok.png Facebook: https://www.facebook.com/eff
Ok.png Google+: https://plus.google.com/+eff
Ok.png IRC depuis le salon #letsencrypt et #letsencrypt-dev sur le serveur irc.freenode.net
Ok-ko.png Documentation officielle Debian pour Let’s Encrypt : https://wiki.debian.org/letsencrypt
Ok-ko.png Recommandations de sécurité relatives à TLS : https://www.ssi.gouv.fr/uploads/2016/09/guide_tls_v1.1.pdf

Serveur Apache2

Ko.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

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.
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.
Pour écrire en Markdown : Éditeur - Générateur de tableau 1 - Générateur de tableau 2.
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 (BTC) - Bitcoins Cash - Bitcoins Gold - Bitcore (BTX) - Blackcoins - Bytecoins - Clams - Dash - Monero - Dogecoins - 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.