Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
fr:https_ssl [2016/12/03 14:10] – zatalyz | fr:https_ssl [2021/12/03 19:19] – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 17: | Ligne 17: | ||
Un certificat auto-signé va générer une alerte sur tout navigateur sérieux. Le certificat installé est très basique et sert uniquement sur un serveur de test pour des tests autour de https. Il ne sera reconnu par aucune autorité. | Un certificat auto-signé va générer une alerte sur tout navigateur sérieux. Le certificat installé est très basique et sert uniquement sur un serveur de test pour des tests autour de https. Il ne sera reconnu par aucune autorité. | ||
- | Il existe à présent Let's encrypt, qui vous fournit gratuitement un certificat reconnu. À l' | + | Il existe à présent Let's encrypt, qui vous fournit gratuitement un certificat reconnu. À l' |
Le certificat auto-signé peut tout de même présenter un peu d' | Le certificat auto-signé peut tout de même présenter un peu d' | ||
Ligne 65: | Ligne 65: | ||
Les certificats se retrouvent dans / | Les certificats se retrouvent dans / | ||
- | Il demande aussi si on veut ou non une redirection automatique de http vers https. | + | Il demande aussi si on veut ou non une redirection automatique de http vers https. Permettez https partout, c'est plus sérieux. |
- | Il n'y a plus qu'a configurer apache2 avec ces certificats. Il a prévu un fichier de configuration avec ce qui existait déjà, vérifiez qu'il convient. A priori tout ceci se finalise tout seul et il n'y a rien d' | + | Il n'y a plus qu'a configurer apache2 avec ces certificats. Il a prévu un fichier de configuration avec ce qui existait déjà, vérifiez qu'il convient. A priori tout ceci se finalise tout seul et il n'y a rien d' |
+ | |||
+ | Pour ce qui doit apparaître dans chacun des vhosts (''/ | ||
==== Sous-domaines et domaines différents sur la même machine ==== | ==== Sous-domaines et domaines différents sur la même machine ==== | ||
- | Pour que Let's encrypt puisse générer un certificat pour tous les domaines hébergés sur le serveur, il vaut mieux faire un fichier par //vhost// dans Apache. Faites uniquement les versions non sécurisées (port 80), let's encrypt génère automatiquement les versions sécurisées (port 443, soit le " | + | Pour que Let's encrypt puisse générer un certificat pour tous les domaines hébergés sur le serveur, il vaut mieux faire un fichier par //vhost// dans Apache. Faites uniquement les versions non sécurisées (port 80), let's encrypt génère automatiquement les versions sécurisées (port 443, soit le " |
Let's encrypt semble repérer correctement les sous domaines dans le même fichier (nom1.mondomaine.com, | Let's encrypt semble repérer correctement les sous domaines dans le même fichier (nom1.mondomaine.com, | ||
Ligne 77: | Ligne 79: | ||
Actuellement, | Actuellement, | ||
- | Voici [[https:// | + | Voici un script inspiré |
- | <code bash check_cert.sh># | + | <code bash check_cert.sh> |
- | # | + | #!/bin/bash |
- | # check_cert.sh | + | |
- | # | + | |
- | # Boris HUISGEN < | + | |
- | # | + | |
- | if [ $# -eq 0 ]; | + | set -euo pipefail |
- | then | + | IFS=$' |
- | echo "$Usage: $0 < | + | |
- | exit 1; | + | |
- | fi | + | |
- | FILE=$1 | ||
- | if [ ! -e $FILE ] ; then | + | error() { |
- | | + | msg="$1" |
- | | + | >& |
- | fi | + | exit 1 |
+ | } | ||
- | EXPIRE_DATE=$(openssl x509 -in $FILE -noout -enddate | cut -f2 -d=); | + | test $# -eq 0 && error " |
+ | |||
+ | FILE=" | ||
+ | test ! -f " | ||
+ | |||
+ | EXPIRE_DATE=$(openssl x509 -in "$FILE" | ||
echo " | echo " | ||
echo " | echo " | ||
- | exit 0;</ | + | exit 0; |
+ | </ | ||
Copiez ça dans un fichier '' | Copiez ça dans un fichier '' | ||
Ligne 123: | Ligne 124: | ||
Dans ce cas, un cron tout les 90 jours suffirait à renouveler les certificats. Exemple de cron, avec renouvellement tous les deux mois et log de ce qui se fait : | Dans ce cas, un cron tout les 90 jours suffirait à renouveler les certificats. Exemple de cron, avec renouvellement tous les deux mois et log de ce qui se fait : | ||
- | 1 1 1 2, | + | 1 1 1 2, |
+ | Le log vous permettra de vérifier s'il y a eu des soucis. | ||
</ | </ | ||
+ | ===== Client Let's Encrypt ACMEd ===== | ||
+ | Le client ACMEd est à privilégier si vous voulez une installation sécurisée. Voir le détail dans la [[fr: | ||
===== Améliorer et tester la sécurité du site via https ===== | ===== Améliorer et tester la sécurité du site via https ===== | ||
Ligne 133: | Ligne 136: | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
+ | * https:// | ||
+ | Let's encrypt est pas mal... mais pas parfait((En tout cas, au moment où je rédige ces lignes, 30 décembre 2016.)). La taille de la clé est un peu petite ; il faut avouer que la génération d'une clé plus longue peut prendre un très long temps. | ||
- | Voir le fichier de configuration du module SSL d' | + | On va donc [[https://f4fia.wordpress.com/2015/08/09/configurer-son-serveur-web-en-https/ |
- | + | ||
- | SSLProtocol all -SSLv2 -SSLv3 | + | |
- | ( à noter le " | + | |
- | + | ||
- | Interdire la compression d' | + | |
- | SSLCompression off | + | |
- | + | ||
- | Et finalement lister la liste des " | + | |
- | SSLCipherSuite " | + | |
- | + | ||
- | <WRAP center round help 60%> | + | |
- | À tester, nouvelle proposition : | + | |
- | ALL: | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | <WRAP center round tip 60%> | + | |
- | Ancienne configuration, | + | |
- | SSLCipherSuite ' | + | |
- | </ | + | |
- | Noter le " | + | < |
+ | openssl dhparam -out dhparams.pem 4096</ | ||
- | Puis imposer de négocier les protocoles | + | Puis ajouter cette ligne dans ''/ |
- | | + | |
- | Pensez à relancer l' | + | Voir aussi [[fr:securite_sysadmin#module_ssl|la configuration de SSL.]] |
- | | + | |
{{tag> | {{tag> |