Nous utilisons des certificats SSL gratuits pour protéger les sites Web Azure



Depuis près de 3 ans, il existe un centre de certification Let's Encrypt qui vous permet de recevoir un certificat X.509 gratuitement (c'est-à-dire pour rien). Depuis mars de cette année, même les certificats génériques ont été pris en charge, vous permettant de protéger tous les sous-domaines à la fois, plutôt que de spécifier un nom spécifique pour chacun.

Le certificat de type DV (Validation de domaine) est délivré pour une période de 90 jours. Il est possible de renouveler le certificat (encore une fois, gratuitement - sans leurre). Les certificats de niveau supérieur (validation d'organisation ou validation étendue) ne sont pas délivrés par le service.
Let's Encrypt utilise un protocole appelé ACME (Automated Certificate Management Environment). Vous pouvez remercier les principaux sponsors pour l'opportunité de recevoir un certificat gratuit en la personne de Electronic Frontier Foundation (EFF), Mozilla Foundation, Akamai, Cisco Systems.

Sous la coupe, vous pouvez lire comment ajouter gratuitement un certificat SSL à votre site Web Azure.

Le certificat est délivré pour 3 mois et ce serait bien s'il était en quelque sorte automatiquement mis à jour. L'extension Azure que je propose d'utiliser pour vous contient une fonctionnalité intégrée qui mettra à jour le certificat à l'aide de WebJob, mais pour son fonctionnement, il est nécessaire de créer un stockage Blob. Il existe une option d'extension sans renouvellement automatique de certificat. C'est beaucoup plus facile à mettre en place. Mais je veux distinguer une option plus complexe. Après l'avoir traité, vous pouvez trouver une option simple qui ne renouvelle pas automatiquement le certificat.



L'option de réplication la moins coûteuse est LRS (ici, nous n'avons pas besoin d'une sorte de réplication sophistiquée). Le modèle d'accès est cool car l'accès aux données se produira rarement - seulement une fois tous les 3 mois.

Nous avons besoin d'une chaîne de connexion pour le stockage d'objets blob, qui peut être trouvée ici:



La valeur de cette chaîne de connexion doit être enregistrée dans les paramètres d'application de notre service d'application avec le type personnalisé et les noms suivants:



Maintenant que nous avons créé un blob, nous pouvons ajouter une extension à App Service.



En allant dans la section Extensions de votre App Service et en cliquant sur Ajouter +, vous trouverez 2 options. L'un avec WebJobs renouvelle automatiquement le certificat, l'autre non. Depuis que nous avons créé un blob, nous pouvons choisir l'option avec WebJobs.



Maintenant vous pouvez aller dans l'extension et cliquer sur Parcourir pour ouvrir l'extension



Ou l'option n'est pas pour les paresseux - entrez l'adresse https://.scm.azurewebsites.net/letsencrypt/ dans la ligne du navigateur

Une fenêtre s'ouvrira avec les paramètres suivants:



Voyons maintenant de quelles valeurs viennent. En haut du formulaire, il y a une description en anglais, mais je vais essayer de l'expliquer avec des captures d'écran et de petits commentaires.

Les valeurs Tenant et SubscriptionId peuvent être obtenues en accédant à la section facturation.



Cliquez sur abonnement



Ici, vous pouvez voir l'ID d'abonnement et le nom du répertoire par défaut juste en dessous. Le répertoire par défaut est Locataire.

Avec ClientID et ClientSecret un peu plus compliqué. Nous devons créer une sorte de compte sous lequel certaines tâches peuvent être effectuées - le principal du service. Vous ne pouvez pas vous connecter à Azure avec ce compte. Il est destiné uniquement à effectuer certaines tâches internes.

Créez-le via Azure Active Directory - Inscriptions d'applications



Cliquez sur + Nouvelle inscription d'application



À partir des données de l'application créée, vous pouvez déjà prendre l'ID d'application - il s'agit de l'ID client souhaité. Allez dans Paramètres et touches



Entrez la DESCRIPTION de la clé créée et cliquez sur Enregistrer.



Copiez la valeur VALUE - il s'agit de ClientSecret.

Un principal de service a été créé, mais il doit ajouter des droits. Pour ce faire, accédez au groupe de ressources dans lequel se trouve App Service. Allez ensuite à IAM



Et ajoutez une nouvelle autorisation pour le principal de service créé avec le rôle Contributeur



Nous avons maintenant les droits et toutes les valeurs nécessaires pour remplir le formulaire. ResourceGroupName est le nom du groupe dans lequel se trouve App Service. ServicePlanResourceGroupName est le nom du groupe dont se trouve le plan de service de votre App Service. La valeur SiteSlotName peut être omise si vous n'utilisez pas les emplacements de développement dans App Service. Mais vous devez cocher la case à côté de Mettre à jour les paramètres d'application.

Après avoir entré tout ce qui est nécessaire, cliquez sur Suivant et sur la page suivante, nous vous montrons des informations sur les certificats existants (si nous répétons soudainement le processus, il y aura quelque chose dans la liste).

Nous passons plus loin à Suivant et avons la possibilité de sélectionner des noms d'hôtes:



Après avoir terminé la demande d'un nouveau certificat, vous pouvez vérifier ses performances en allant sur le site Web et en cliquant sur le cadenas à côté du certificat



Le manuel officiel en anglais peut être trouvé ici:
Comment installer et configurer Let's Encrypt sur Azure Web Apps

Source: https://habr.com/ru/post/fr425591/


All Articles