Le blogouille de Caro et Nico

Entre famille, sport et aventures !

Renouvellement certbot pour apache debian avec http-01

Bon Let’s Encrypt met fin au support du challenge type TLS-SNI. Donc on passe à autre chose, si possible automatisé. On se tente un challenge type http-01, qui passe finalement avec

certbot certonly –webroot -w /var/www -d www.caronico.fr

Tout simplement. Possibilité de le faire un mode –dry-run pour le faire un coup à blanc, ensuite pour de vrai, possibilité de vérifier la date et les détails du certificat dans le navigateur web.

Enfin refaire un coup de certbot renew –dry-run

pour simuler un nouveau rafraichissement du certificat.

IMAP et SMTP, Proftpd en SSL

Mise à jour Mars 2017, avec l’arrivée de Let’sEncrypt

Mais que se passe-t-il en 2017 ? Les autorités de CA pètent les plombs ? Ernst & Young n’est pas capable d’auditer une autorité de certification correctement ? WhoSign n’est pas fiable, a de plus acheté StartSSL, donc voili voilou, on se retrouve avec Google v57 et Firefox qui ne font plus confiance à StartSSL, donc migration sur Let’sEncrypt. Et au passage l’autorité CA de Symantec se fait remonter les bretelles par Google…. cela doit faire plaisir à leurs clients !

Pour HTTPs, c’est un jeu d’enfant. Génération & Installation sur Apache en automatique avec Certbot pour Debian 8. Plié en 5 minutes.

Bon pour les mails en securisé SSL, on peut (doit) réutiliser les clefs de apache générées pour le serveur www.caronico.fr. On ne peut pas avoir différents hosts avec un serveur de classe 1. Par ailleurs le MX doit pointer sur www.caronico.fr. La documentation de Certbot est sur https://certbot.eff.org/docs/using.html#where-are-my-certificates

Les fichiers de certificats sont dans le dossier /etc/letsencrypt/live/www.caronico.fr

IMAP/POP3
Pour les clients IMAPs/POP3s, la configuration SSL se situe dans /etc/dovecot/dovecot.conf avec les références :

ssl_key =</etc/letsencrypt/live/www.caronico.fr/privkey.pem
ssl_cert =</etc/letsencrypt/live/www.caronico.fr/cert.pem
ssl_ca = </etc/letsencrypt/live/www.caronico.fr/chain.pem

SMTP

Pour SMTP c’est configuré dans /etc/postfix/main.cf avec les références :


smtpd_tls_cert_file = /etc/letsencrypt/live/www.caronico.fr/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/www.caronico.fr/privkey.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/www.caronico.fr/chain.pem
smtpd_use_tls = yes

PROFTPD
Pour le serveur FTP en TLS, c’est ici dans le fichier TLS.CONF

TLSRSACertificateFile /etc/letsencrypt/live/www.caronico.fr/fullchain.pem
TLSRSACertificateKeyFile /etc/letsencrypt/live/www.caronico.fr/privkey.pem

Côté client.

Note pour le côté client, il faut prendre sécurité type « SSL » server, le server www.caronico.com et les ports 25 pour SMTP et 993 pour IMAPs.

HTTPs et StartCom

Mise à jour Aout 2016.

Alors voici quelques notes sur les certificats SSL de StartCom et Apache2, maintenant à jour pour la version 2.4, et avec une chaine de certificate complète en SHA2.

Se loger par certificat sur https://startssl.com/Certificates

Générer le fichier de demande de certificat en local avec OpenSSL (instructions fournies durant le processus de création de certificat sur le site web) puis en retour on reçoit un fichier ZIP de StartSSL/StartCom.

Stocker les fichiers dans /etc/ssl/localcerts sous les noms

apache.key
apache.pem  (Renommer le fichier .crt en .pem)
bundle.crt (le fichier c'est le fichier 1_root_bundle.crt renommé en bundle.crt, fournir dans le .ZIP de StartSSL quand ils transmettent le certificat).

Télécharger sur http://www.startssl.com/certs/  les deux fichiers :

http://www.startssl.com/certs/ca-sha2.pem
et
http://www.startssl.com/certs/class1/sha2/pem/sub.class1.server.sha2.ca.pem
Et stocker le tout dans /etc/ssl/certs

Editer le fichier de config SSL de Apache2 (/etc/apache2/sites-enabled/default-ssl) et configurer le bloc SSL tel quel :

(mis à jour pour désactiver SSL v2, V3, ainsi que cipher RC4

SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLCertificateFile    /etc/ssl/localcerts/apache.pem
SSLCertificateKeyFile /etc/ssl/localcerts/apache.key
SSLCertificateChainFile /etc/ssl/localcerts/bundle.crt
SSLCACertificateFile /etc/ssl/certs/ca-sha2.pem

Le respect de cette config est importante, sinon le serveur n’est pas authentifié correctement.

Il faut supprimer la passphrase du certificate pour que Apache2 se lance sans poser de question. Pour cela.

You want to remove the passphrase from a key file. Run this:

openssl rsa -in apache.key -out newapache.key