======Mise en place de SSL====== ==== Ressources ==== * [[http://forum.ovh.com/showthread.php?78092-Quel-SSL-pour-un-d%E9di%E9-kimsufi|Discussion sur Kimsufi et SSL]] * [[https://letsencrypt.org/|Utilisation de Letsencryp]] * [[https://certbot.eff.org/|Certbot]] * [[https://technique.arscenic.org/ssl-securisation-des/article/startssl-utiliser-un-certificat|Mise en place d'un certificat avec Startssl]] ==== Principes avec Letsencrypt ==== * Letsencrypt est une autorité de certification qui permet d'obtenir des certificats gratuitement et de manière automatisée. * Pour faciliter l'installation d'un certificat pour un domaine donné, Letsencrypt conseille d'utiliser Certbot : * Pour Debian 8 (Jessie) : * Ajouter cette ligne dans // /etc/apt/sources.list // : '' deb http://debian.mirrors.ovh.net/debian/ jessie-backports main '' * Installer Certbot pour Ngninx : '' sudo apt-get install certbot -t jessie-backports '' * Lancer Certbot en mode "interactif" et suivre les indications : '' certbot certonly '' * Sinon, il est possible de passer directement les instructions. Ex. : '' certbot certonly --webroot -w /home/git/gitlab/public -d git.clapas.org '' * Renouveler automatiquement les certificats Letsencryp (car ils ont une durée de validité de 90 jours) : * Faire un test de renouvellement : '' certbot renew --dry-run '' * Tester en s’arrêtant pour vérifier le fichier créé pour le "challenge" : '' certbot certonly --webroot -w /home/admin/.letsencrypt/ -d sql.clapas.ovh --dry-run --debug-challenges '' * Si le navigateur à mémoriser la redirection 301 de HTTP vers HTTPS, utiliser wget pour vérifier qu'il est possible de récupérer le fichier : '' wget http://sql.clapas.ovh/.well-known/acme-challenge/ '' * Commande effectuant le renouvellement si nécessaire (à mettre dans un cron) : '' certbot renew --quiet --standalone --pre-hook "service nginx stop" --post-hook "service nginx start" '' * Sous Debian Jessie, un cron a été installé automatiquement dans // /etc/cron.d/certbot // : * modifier le fichier pour ajouter les hooks permettant à Nginx de redémarrer et l'utilisation du mécanisme "standalone" pour gérer le cas de Gogs (si les certificats sont renouvelés uniquement) : 0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --standalone --pre-hook "service nginx stop" --post-hook "service nginx start" ==== Erreur sec_error_expired_certificate ==== Si l'erreur **sec_error_expired_certificate**, apparait dans Firefox, essayer de redémarrer Nginx, surtout si vous êtes sûr que le certificat est valide. ==== HSTS, Header HTTP et Firefox ==== Dans Firefox, la suppression de l'envoie de l'entête HTTP sur le serveur puis du cache du navigateur ne suffit pas à supprimer la redirection vers HTTPS induite par le header HSTS. Pour supprimer un tel comportement, il faut éteindre son navigateur. Puis, ouvrir le dossier de son profil Firefox à la recherche du fichier **SiteSecurityServiceState.txt**. Une fois trouvé, supprimer la ligne correspondant au nom du domaine du site ayant le problème et enregistrer la modification. Au prochain redémarrage de Firefox le problème sera réglé. ==== Principes avec Startssl ==== A des fins de test, le certificat gratuit fournit par https://www.startssl.com fera l'affaire. Suivre les indications fournis pour [[https://technique.arscenic.org/ssl-securisation-des/article/startssl-utiliser-un-certificat|créer le certificat]] et le [[https://technique.arscenic.org/ssl-securisation-des/article/creation-d-un-certificate-signing|Certificate Signing Request (CSR)]]. ==== Utilisationde S/MIME avec Gmail ==== Avec Firefox, installer [[https://www.penango.com/products|le module Gmail S/MIME]] sous Chrome c'est [[http://prometheusx.net/|le module Mymail-Crypt for Gmail™]]. ==== Notes ==== * **CSR : ** message envoyé par le client à l’autorité de certification pour demander un certificat électronique. * **S/MIME : ** (Secure / Multipurpose Internet Mail Extensions) norme de cryptographie et de signature numérique de courriel encapsulés en format MIME. Elle assure l'intégrité, l'authentification, la non-répudiation et la confidentialité des données. (Source : [[https://fr.wikipedia.org/wiki/S/MIME|Wikipedia]])