De nos jours pour échanger des informations sur internet nous utilisons le protocole https, qui n’est ni plus ni mois que le protocole http avec une couche de chiffrement supplémentaire (‘S’ecure).
Pour plus de détail : https://fr.wikipedia.org/wiki/HyperText_Transfer_Protocol_Secure
Pour comprendre comment les échanges se font entre un client et un serveur pour le passage en https, vous trouverez ici un excellent article : https://openweb.eu.org/articles/https-introduction
Maintenant que vous avez lu l’article du lien précédent, vous avez compris que le chiffrement https est basé sur un certificat. Pour obtenir un certificat vous pouvez en acheter un en ligne, il y a pléthore de vendeurs !
La difficulté est que ces certificats doivent être installés sur les serveurs et les « agents » web doivent être configuré.
Je vous propose d’automatiser l’acquisition et l’installation ainsi que le renouvellement d’un certificat sur une Web App Azure (le même principe peut être utilisé sur un serveur OnPremise)
Tout d’abord un schéma de ce que nous voulons faire :
Il faut savoir que cette automatisation est basée sur un autre protocole…ACME (Automatic Certificate Management Environment), en détails ici : https://fr.wikipedia.org/wiki/ACME_(protocole)
Parfait, …existe-t-il un outil prêt à l’emploi ?
Quel Outils ?
La réponse est oui, https://certbot.eff.org/ , mais uniquement sur MacOs et Linux. En revanche ce qui est intéressant c’est ce « bot » s’appuie sur un fournisseur de certificats gratuit et ouvert (free and open). Ce qui nous donne :
Dans le détail pour la création d’un certificat, il y a plus d’échanges. En effet votre WebApp doit être accessible depuis l’extérieur via l’url pour laquelle un certificat sera généré ( https://letsencrypt.org/how-it-works/)
Voici le workflow global pour l’obtention d’un nouveau certificat
Comment faire sous Windows ?
La encore il existe un outil, Il s’agit de “https://github.com/PKISharp/win-acme“, réalisé en C#.
Cet outil est entièrement conçu sous forme de plugins, le workflow ci-dessus est implémenté et customisable (en écrivant du code).
Les plugins sont de différentes catégories :
Par défaut cet outil, permet d’installation et de renouveler des certificats sur des machines/WM/IIS onPremise. L’idée ici pour effectuer ces actions pour Azure, serait de faire des plugins qui pilote notre tenant Azure via Api. Bien, mais on peut faire un peu plus générique....
...Faire un plugin qui exécute du powershell qui lui pilote Azure, nous avons enrichi l’outils et on pourrait le réutiliser pour piloter AWS, …
Dans le prochain article, nous verrons l’implémentation du plugin PowerShell (Stay tuned ;-))
Commentaires :
Aucun commentaires pour le moment
Laissez un commentaire :