Let’s Encrypt sécurisera les sous-domaines génériques en 2018

Nicolas Furno |

Le projet Let’s Encrypt ambitionne de sécuriser le web depuis 2015 et propose pour cela gratuitement les certificats nécessaires pour activer une connexion HTTPS. Depuis ses débuts, il fonctionnait uniquement sur un nom de domaine précis et complet et il fallait notamment un certificat par sous-domaine. Pour prendre un exemple, le certificat pour sécuriser blog.ndd.fr devait être différent que le certificat pour ndd.fr.

Sur ce serveur sécurisé avec Let’s Encrypt, tous les sous-domaines ont un certificat spécifique. Alors même qu’il n’y a qu’un seul domaine principal, et un sous-domaine, il faut quatre certificats différents. Cliquer pour agrandir

Puisque chaque certificat est gratuit et puisque l’on peut obtenir autant de certificats que l’on veut, ce n’était pas vraiment un point bloquant. Néanmoins, Let’s Encrypt restait à la traîne par rapport aux autres fournisseurs de certificats qui peuvent sécuriser des domaines « avec wildcards » capables de couvrir un domaine et tous les sous-domaines.

Dans notre exemple, on pourrait obtenir un certificat pour *.ndd.fr et il serait automatiquement valide pour blog.ndd.fr. Le passage du HTTP au HTTPS est ainsi souvent simplifié, d’autant qu’il fallait jusque-là un certificat spécifique pour sécuriser le www. que l’on trouve toujours sur de nombreux sites.

Cette option simplifiée était très demandée et la fondation Let’s Encrypt annonce son arrivée à partir de janvier 2018. Ce sera tout autant gratuit qu’aujourd'hui et ce sera la même procédure, pour les utilisateurs, rien ne changera. Si la fondation annonce le changement dès maintenant, c’est pour inciter à faire des dons, puisque c’est sa seule source de revenus avec des sponsors d’acteurs du web.

avatar Green Bull | 

Justement je viens à peine de re-générer mn certificat. C’est quand ils veulent l’automatisation du renouvellement d’ailleurs.

avatar Nicolas Furno | 

@Green Bull

Un peu de pub à ce sujet : Caddy est super pratique pour ne plus avoir à gérer tous ces problèmes. Tout dépend des besoins ensuite, mais dans la majorité des cas, il peut remplacer Apache ou Nginx.

En tout cas, je l’utilise sur mon blog WordPress sans aucun problème depuis quelques mois. Et je n’ai plus à gérer les certificats, il se débrouille.

Info ici : https://caddyserver.com

avatar deltiox | 

@nicolasf

Un tuto un tuto
Je crée mon site sous wordpress avec Caddy et j'active let's encrypt

?

avatar Nicolas Furno | 

@deltiox

C’était prévu en plus, mais j’ai jamais trouvé le temps jusque-là. ?

Cela dit, c’est beaucoup plus facile que d’autres méthodes. À part la gestion des droits et de systemd.

avatar patrick86 | 

Caddy peut s'installer sur macOS Server ?

avatar Nicolas Furno | 

@patrick86

Oui.

avatar patrick86 | 

@Nicolas Furno :

Good ?

Du coup j'y ai jeté à œil. Ça me semble assez simple à mettre en œuvre, mais j'ai un doute quant à la possibilité de le faire cohabiter avec l'Apache de macOS Server, qui utilise déjà les ports 80 et 443. Surtout pour le serveur WebDAV. ?

Le mieux serait que je puisse faire tourner Caddy sur un système indépendant, avec sa propre IP sur Internet.

avatar pepes003 | 

Franchement, je suis une bille là dedans, pourtant, j'ai un crontab qui check mon certif' tous les mois et le renouvelle si besoin.

C'est gratos et ultra efficace.

Après c'est vrai que du coup, j'ai mes 3 relaunch.sh car 3 sous-domaines. Mais pas grave.

avatar pacou | 

@Green Bull

Certbot installe le script cron qui va bien.

avatar unixorn | 

Grave. Je viens de tester avec mon site perso avant une mise en prod éventuelle pour un site que je développe et j'ai tiré la gueule quand j'ai vu qu'il fallait renouveler tous les 90 jours. Bon il y a cron mais j'ai comme dans l'idée que quelque chose va foirer quelque part régulièrement.

avatar ssssteffff | 

@unixorn

C'est au contraire une bonne chose en terme de sécurité !
Et certbot renew marche parfaitement en limitant l'indispo.

avatar Gulivert | 

@Green Bull

Tu peux déjà automatiser, le script d’install permet de le faire, suffit de mettre une tâche cron et de faire un script de quelques lignes. D’ailleurs des scripts tout fait existent sur la toile...

avatar nakooba | 

"fournisseurs de certificats qui peuvent sécurisaient"
sécuriser plutôt.

avatar Nicolas Furno | 

@ nabooka

Ouh, ça c’est moche… ?

Merci, c’est corrigé !

avatar iDanny | 

Dans l'exemple donné (voiretmanger), il n'y a pas 1 mais plusieurs sous-domaines car par exemple dans www.files.voiretmanger.fr, chaque élément est un sous-domaine du niveau précédent (fr étant le domaine de + haut niveau) ?

avatar Nicolas Furno | 

@ iDanny :

Oui, techniquement c’est vrai. Je voulais dire un seul sous-domaine de deuxième niveau…

avatar xDave | 

@nicolasf

?? donc on s'en fout.
Si on a 1 SD on en a forcément au moins 2, me trompe-je ?

avatar patrick86 | 

@Si on a 1 SD on en a forcément au moins 2, me trompe-je ? :

Non, ils ne sont pas par pair. Example tout bête : si vous réservez mondomaine.fr et voulez votre site accessible à www.mondomaine.fr, vous créez ce sous-domaine www. Pas besoin d'en créer un autre (à moins que vous ne vouliez aussi un forum à forum.mondomaine.fr, par exemple).

avatar ssssteffff | 

L'article n'est pas tout à fait exact, il est déjà possible de faire un certificat multi sous domaines avec la version actuelle de LetsEncrypt, aussi bien via le wizard que via la ligne de commande certbot (plusieurs -d mon.domaine.fr -d autre.domaine.fr).

Cette méthode fonctionne bien quand la liste des sous domaines ne bouge pas trop, mais elle a deux problèmes selon moi :
- pour ajouter un sous-domaine il faut renouveler l'ensemble du certificat en ajoutant le nouveau sous domaine,
- en regardant le certificat de mon.domaine.fr, n'importe qui voit l'ensemble des sous domaines existants portés par le certificat.

La nouveauté annoncée porte sur les certificats dits "wildcard" (*.domaine.fr). C'est plus rapide et ça permet d'adresser les deux "problèmes" évoqués ci-dessus.

avatar Nicolas Furno | 

@ssssteffff

Ah, je pensais qu’il générait plusieurs certificats, même dans ce cas. J’en prends note et je corrigerai.

avatar mathiasr | 

Comme l’indique ssssteffff il est parfaitement possible d’obtenir un seul certificat pour plusieurs domaines sous forme de SAN (Server Alternate Name) avec Let’s Encrypt, exemple visible ici : https://dev.ssllabs.com/ssltest/analyze.html?d=pcidss-256.ssl-tls.info&hideResults=on Il est à noter que d’après l’annonce la seule méthode de validation acceptée, dans un premier temps, pour les wildcards sera celle basée sur le DNS (pas nécessairement le plus évident pour tout le monde).

avatar patrick86 | 

Y'a-t-il du nouveau pour Let's Encrypt sur macOS Server ? Je n'y ai pas regardé depuis plusieurs mois et en suis resté à une solution qui fonctionne, mais n'est pas des plus rapides (créer les certificat, puis le convertir, puis l'importer dans Server pour pouvoir l'utiliser).

avatar françois bayrou | 

brew !

avatar patrick86 | 

@françois bayrou :

Homebrew ? Ça ne concerne que l'installation de Let's Encrypt. Or mon soucis porte sur la mise en place et le renouvellement des certificats eux-mêmes, qui n'est pas aussi automatisé que sur d'autres systèmes.

avatar françois bayrou | 

Je crois bien que certbot est disponible !

avatar patrick86 | 

Certbot ne gère pas la conversion des certificats ni leur import dans le trousseau de l'app Server. En fait, Certbot sur macOS est documenté et fonctionne bien dans le cas où vous utiliseriez le serveur Apache inclus dans toute copie de macOS. Mais macOS Server installe et utilise sa propre instance d'Apache, avec quelques spécificités et stocke les certificats SSL dans son propre trousseau.

On peut automatiser la conversion et l'import des certificats juste renouvelés, mais ça ne fonctionne pas toujours comme escompté.
Pour l'instant, je le fais "à la main".

En fait, avant j'utilisais des certificats DV StartCom (gratuits), mais suite à du "un peu n'importe quoi" de la part de StartCom et surtout de son nouveau propriétaire, le chinois WoSign, Mozilla, Apple et Google ne font plus confiance à ces autorités de certifications.

Dommage parce que, pour le coup, avec macOS Server, c'était plus simple qu'avec Let's Encrypt ! https://www.youtube.com/watch?v=1TUuI93F0n8#action=share

avatar xDave | 

En gros, en poussant comme un goret le https, Google a trouvé un moyen ;
- de renouvellement de Adwords
- de refourguer du gratuit payant (à terme)

les boîtes de SEO/SEA sont ravies.

Le Dev se prend le Q avec son client qui lui dit "c'est gratis".

avatar patrick86 | 

"- de refourguer du gratuit payant (à terme)"

C'est-dire ?

avatar françois bayrou | 

C'est clair qu'un wilcard classique, à 200 Euros / an parfois plus, à renouveller "à la main", c'était tellement mieux …

CONNEXION UTILISATEUR