Ldfa Posté(e) le 30 décembre 2019 Partager Posté(e) le 30 décembre 2019 Vraiment, vous aurez votre petit cadenas vert Let’s Encrypt en 2 minutes Difficile pour un geek d’avoir éviter la vague Let’s Encrypt. Pendant longtemps, faire signer son site web en HTTPS par une autorité de certification était à la fois couteux et complexe. Le résultat : pendant des années, les sites en HTTPS ont été autosignés et des entreprises se sont fait du gras sur le dos des professionnels qui souhaitaient « faire les choses bien ». Il y a bien eu quelques initiatives pour essayer de libérer les Internautes de ce système, mais rien qui n’ait vraiment percé… Jusqu’à Let’s Encrypt : Let’s Encrypt is a free, automated, and open certificate authority brought to you by the non-profit Internet Security Research Group (ISRG). Cool, on peut maintenant obtenir simplement un certificat reconnu dans tous les navigateurs, et suffisament simplement pour que des gens commencent à automatiser le processus (certbot de l’EFF par exemple) ! Et le moins qu’on puisse dire, c’est que l’effet a été massif. regardez par vous même l’évolution des sites certifiés : Et ProxMox VE alors ? Depuis la version 4 de ProxMox, il existe un script qui permet d’ajouter un certificat avec Let’s Encrypt de manière triviale. Vous n’aurez qu’à taper ces quelques commandes dans votre terminal (soit depuis la console web, soit en SSH) #Renseignez votre email pour être au courant en cas d'échec EMAIL=admin@example.com #Installez git apt-get install git -y #Copiez le script sur le compte github Neilpang git clone https://github.com/Neilpang/acme.sh.git acme.sh-master #Creez un dossier dans le répertoire de configuration de ProxMox mkdir /etc/pve/.le #Exécutez le script cd /root/acme.sh-master ./acme.sh --install --accountconf /etc/pve/.le/account.conf --accountkey /etc/pve/.le/account.key --accountemail "$EMAIL" #On vérifie que la configuration est bonne dans le fichier de configuration account.conf Généré cat /etc/pve/.le/account.conf #On vérifie que la commande suivante renvoie bien le FQDN que l'on souhaite certifier et avec lequel on voudra se connecter (ici, l'adresse sera https://proxmox.example.com) hostname -f proxmox.example.com Pour que ça fonctionne, vous devrez cependant avoir le port 80 ouvert vers votre ProxMox. A priori c’est une des limitations de Let’s Encrypt encore présente, on ne peut pas être en « full HTTPS ». N’oubliez pas de l’ouvrir pour que le client puisse demander à Let’s Encrypt de se connecter chez vous pour générer le certificat. Maintenant que tout est prêt, on peut maintenant créer le certificat avec cette commande : ./acme.sh --issue --standalone --keypath /etc/pve/local/pveproxy-ssl.key --fullchainpath /etc/pve/local/pveproxy-ssl.pem --reloadcmd "systemctl restart pveproxy" -d `hostname -f` A noter : Si la commande hostname -f ne renvoie pas le même FQDN que celui que vous souhaitez certifier, remplacez juste « -d `hostname -f` » par « -d proxmox.example.com » ; mais si vous ne savez pas pourquoi vous faites ça, c’est probablement une mauvaise idée ;-). TA-DAHMais un certificat, ça expire… Et oui, les certificats ça expire ! C’est notamment une des raisons pour lesquelles les certificats avaient parfois « mauvaise presse » auprès des admins systèmes. Il fallait faire très attention que les certificats soient renouvelés et livrés dans l’application dans les temps, au risque de se retrouver avec une erreur sur le site web pouvant effrayer les utilisateurs. Ici, si je ne me trompe pas, le certificat Let’s Encrypt expire au bout de 90 jours. Ça parait très court et ça serait très pénible à renouveler à la main. Heureusement, tout est prévu ;-). En réalité, le script vérifie au lancement si le certificats est sur le point d’expirer ou pas. On peut donc le lancer régulièrement, sans risque ! Le plus simple est bien entendu de l’ajouter en crontab. crontab -e 45 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null On peut tester à la main pour voir : "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" [lundi 20 février 2017, 22:55:29 (UTC+0100)] Renew: 'proxmox.example.com' [lundi 20 février 2017, 22:55:29 (UTC+0100)] Skip, Next renewal time is: vendredi 21 avril 2017, 21:55:01 (UTC+0000) [lundi 20 février 2017, 22:55:29 (UTC+0100)] Add '--force' to force to renew. [lundi 20 février 2017, 22:55:29 (UTC+0100)] Skipped proxmox.example.com Aller plus loin sur Let’s Encrypt Quelques articles beaucoup plus poussés sur le sujet, certains peut être un peu outdated mais c’est toujours intéressant : Partager : A propos de l'auteur zwindler Sysadmin, Technophile, Ami de l'Internet. Ce blog est mon moyen de rendre la pareille à la communauté Internet lorsque je tombe sur un sujet peu/pas traité par d'autre blogueurs. Afficher l’article complet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.