Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
fr:https_ssl [2016/12/30 11:12] zatalyzfr:https_ssl [2022/02/26 12:04] – [Sur Nginx] zatalyz
Ligne 65: Ligne 65:
 Les certificats se retrouvent dans /etc/letsencrypt/live/ une fois que le client a fini. Il pose quelques questions, notamment un email pour recevoir des notifications, et les noms de domaines pour lesquels on veut un certificat. Les certificats se retrouvent dans /etc/letsencrypt/live/ une fois que le client a fini. Il pose quelques questions, notamment un email pour recevoir des notifications, et les noms de domaines pour lesquels on veut un certificat.
  
-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'autre à faire désormais (info valable fin août 2016). +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'autre à faire désormais pour que ça marche, mais si vous visez le A+ il y aura quelques modifications à faire (listées plus bas)
 + 
 +Pour ce qui doit apparaître dans chacun des vhosts (''/etc/apache2/site-enabled/MONSITE-le-ssl.conf''), voir la [[fr:securite_sysadmin#securiser_apache|configuration sécurisée d'Apache]]
  
 ==== 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 "https"). +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 "https"). Vous pouvez désactiver les versions non sécurisées ensuite.
  
 Let's encrypt semble repérer correctement les sous domaines dans le même fichier (nom1.mondomaine.com, nom2.mondomaine.com, etc.)((À éviter quand même, un fichier par sous-domaine c'est mieux.)), mais pas les noms de domaines différents (mondomaine.com et mondomaine2.com par exemple), qui doivent impérativement être dans deux fichiers de configuration différents.  Let's encrypt semble repérer correctement les sous domaines dans le même fichier (nom1.mondomaine.com, nom2.mondomaine.com, etc.)((À éviter quand même, un fichier par sous-domaine c'est mieux.)), mais pas les noms de domaines différents (mondomaine.com et mondomaine2.com par exemple), qui doivent impérativement être dans deux fichiers de configuration différents. 
Ligne 122: 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,4,6,8,10,12 * /root/letsencrypt/certbot-auto renew > /root/renewlets.log +  1 1 1 2,4,6,8,10,12 * /root/certbot/certbot-auto renew > /root/renewlets.log
  
 +Le log vous permettra de vérifier s'il y a eu des soucis.
 </WRAP> </WRAP>
  
 +==== Sur Nginx ====
 +Nginx est un peu moins automatique.
 +
 +Commencez par demander un certificat SSL. Il faut arrêter nginx sinon ça fait une erreur : 
 +<code>sudo service nginx stop
 +sudo certbot certonly --standalone -d monsite.mondomaine.org
 +sudo service nginx start</code>
 +
 +Voir [[fr:nginx#exemple_de_configuration|l'exemple de configuration de nginx]] et la partie sur le port "443" pour ensuite déclarer correctement le certificat généré. 
 +
 +Lors des renouvellements, éteindre à nouveau nginx (?) et renouveler avec la commande suivante :
 +  sudo certbot renew
 +
 +===== 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:acmed|page dédiée]].
  
 ===== Améliorer et tester la sécurité du site via https ===== ===== Améliorer et tester la sécurité du site via https =====
Ligne 132: Ligne 149:
   * https://www.ssllabs.com/ssltest/analyze.html : permet de voir les plus grosses erreurs   * https://www.ssllabs.com/ssltest/analyze.html : permet de voir les plus grosses erreurs
   * https://observatory.mozilla.org/ : Mozilla est plus exigeant et permet d'avoir un site bien sécurisé   * https://observatory.mozilla.org/ : Mozilla est plus exigeant et permet d'avoir un site bien sécurisé
 +  * https://cryptcheck.fr/ qui est terriblement exigeant... attention, certains paramètres qui vous vaudront un F (parce que c'est vrai, c'est pas sécu) peuvent aussi empêcher certains de vos internautes de vous voir (parce qu'ils ont des vieux navigateurs pas à jour). Mais ces clients méritent-ils de voir votre site ?
  
 +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'apache ''/etc/apache2/mods-available/ssl.conf''. Virer le protocole SSL3 qui n'est plus considéré comme "sûr" depuis la démonstration de l'attaque PODDLEd +On va donc [[https://f4fia.wordpress.com/2015/08/09/configurer-son-serveur-web-en-https/|générer de nouveaux paramètres Diffie-Hellman]].
- +
-  SSLProtocol all -SSLv2 -SSLv3 +
-( à noter le "-" devant SSLv3 ) +
- +
-Interdire la compression d'échanges cryptés (oui oui cela introduit une possibilité d'attaque) +
-  SSLCompression off +
- +
-Et finalement lister la liste des "algorithmes de crypto" autorisés : +
-  SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4" +
- +
-<WRAP center round help 60%> +
-À tester, nouvelle proposition : +
-  ALL:!aNULL:!eNULL:!LOW:!MEDIUM:!EXP:!RC4:!3DES:!MD5:!PSK:+HIGH +
-</WRAP> +
- +
- +
-<WRAP center round tip 60%> +
-Ancienne configuration, génère un A- au 11/02/2016. La nouvelle au dessus vient de [[https://www.digicert.com/ssl-support/ssl-enabling-perfect-forward-secrecy.htm]]. +
-  SSLCipherSuite 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA' +
-</WRAP> +
  
-Noter le "!" devant certains nom d'algorithme pour les interdire, par exemple : !PSK, !RC4, etc...+<code>cd /etc/letsencrypt/live/MONSITE.COM/ 
 +openssl dhparam -out dhparams.pem 4096</code>
  
-Puis imposer de négocier les protocoles dans l'ordre ci-dessus : donc du plus sûr au moins sûr +Puis ajouter cette ligne dans ''/etc/apache2/site-enabled/MONSITE-le-ssl.conf'' 
-  SSLHonorCipherOrder On+  SSLDHParametersFile /etc/letsencrypt/live/MONSITE.COM/dhparams.pem
  
-Pensez à relancer l'Apache : +Voir aussi [[fr:securite_sysadmin#module_ssl|la configuration de SSL.]]
-  /etc/init.d/apache2 restart+
  
 {{tag>Serveur Web Tutoriel Brouillon}} {{tag>Serveur Web Tutoriel Brouillon}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/https_ssl.txt · Dernière modification : 2024/05/10 13:29 de zatalyz

Licences Mentions légales Accueil du site Contact