Remarques :

Utilisation du service OCI Certificates pour émettre un certificat interne pour le site Web hébergé sur le serveur IIS

Introduction

Oracle Cloud Infrastructure (OCI) Certificates est un service permettant de créer et de gérer des certificats TLS (Transport Layer Security). Le service permet aux entreprises de créer des hiérarchies d'autorité de certification privées et des certificats TLS qui peuvent être déployés et renouvelés automatiquement dans la location client, intégrés aux services OCI tels qu'OCI Load Balancer et OCI API Gateway. Nous pouvons également utiliser ce service pour générer des certificats pour nos serveurs Web internes hébergés sur Internet Information Services (IIS), Apache ou nginx.

Objectif

Dans ce tutoriel, nous expliquons comment utiliser les certificats OCI pour émettre un certificat interne à utiliser pour héberger un site Web protégé par TLS/SSL sur un serveur IIS Windows. Nous discuterons des deux options.

Prérequis

Remarque : n'indiquez pas d'informations confidentielles.

Tâche 1 : créer une autorité de certification

Nous devons créer une autorité de certification, que nous émettions un certificat à l'aide de la CSR ou directement par l'autorité de certification des certificats OCI. Pour plus d'informations sur la configuration d'une autorité de certification, reportez-vous à Création d'une autorité de certification.

Utilisez OCI Certificates pour créer une autorité de certification racine ou subordonnée. Vous devez disposer d'une CA racine pour créer une CA subordonnée. Une hiérarchie à un seul niveau se compose d'une autorité de certification. L'autorité de certification unique est à la fois une autorité de certification racine et une autorité de certification émettrice. Une AC racine est le terme pour l'ancre de confiance de la PKI. Les applications, utilisateurs ou ordinateurs qui font confiance à l'autorité de certification racine font confiance à tous les certificats émis par la hiérarchie d'autorité de certification. L'autorité de certification émettrice est une autorité de certification qui émet des certificats pour les entités finales. Cependant, une hiérarchie à deux niveaux est une conception qui répond aux besoins de la plupart des entreprises. Dans cette conception, il existe une CA racine et une CA d'émission subordonnée. Le niveau de sécurité est augmenté car l'autorité de certification racine et les rôles d'autorité de certification émettrice sont séparés. Pour créer une autorité de certification, vous devez avoir accès à une clé de cryptage asymétrique existante protégée par matériel à partir d'OCI Vault. Pour plus d'informations, reportez-vous à Présentation d'OCI Vault.

  1. Ouvrez le menu de navigation et cliquez sur Identité et sécurité.

  2. Sous Certificats, cliquez sur Autorités de certification.

  3. Cliquez sur Créer une autorité de certification.

  4. Cliquez sur Compartiment, puis sélectionnez le compartiment dans lequel créer l'autorité de certification.

  5. Sous Type d'autorité de certification, sélectionnez le type d'autorité de certification parmi les options suivantes.

    1. Autorité de certification racine : autorité de certification située en haut de la hiérarchie dans une chaîne d'autorités de certification.

    2. Autorité de certification subordonnée : autorité de certification autre que l'autorité de certification racine dans une hiérarchie contenant d'autres autorités de certification.

  6. Entrez le nom d'affichage de l'AC. Ce nom vous aide à identifier l'AC à des fins d'administration mais il n'apparaît pas dans le certificat de l'AC.

  7. (Facultatif) Entrez une description pour identifier plus facilement l'autorité de certification. Cette description vous aide à identifier l'AC mais elle n'apparaît pas dans le certificat de l'AC.

  8. (Facultatif) pour appliquer des balises, cliquez sur Afficher le balisage. Pour plus d'informations, reportez-vous à Balises de ressource, puis cliquez sur Suivant.

  9. Saisissez les informations sur le sujet, y compris au moins un nom commun pour identifier le propriétaire du certificat de l'autorité de certification. Selon l'utilisation prévue du certificat, le sujet peut identifier une personne, une organisation ou une adresse d'ordinateur. Le format des informations sur le sujet doit être conforme aux normes RFC 5280. Vous pouvez utiliser des caractères génériques pour émettre un certificat correspondant à plusieurs noms de domaine ou de sous-domaine.

  10. (Facultatif) Entrez d'autres informations sur la matière de l'autorité de certification, puis cliquez sur Afficher les champs supplémentaires. Pour plus de détails sur chacune des valeurs d'un nom distinctif d'objet, cliquez sur Suivant.

  11. (Facultatif) Cliquez sur Non valide avant, puis indiquez l'heure et la date UTC à partir desquelles vous voulez commencer à utiliser l'autorité de certification. Si vous n'indiquez aucune date, la période de validité de l'autorité de certification commence immédiatement.

  12. Cliquez sur Non valide après, puis indiquez la date à partir de laquelle l'autorité de certification ne peut plus être utilisée pour émettre ou valider des autorités de certification subordonnées ou des certificats.

    Remarque : Vous devez indiquer une date postérieure d'au moins un jour à la date de début de la période de validité. Vous ne pouvez pas indiquer une date postérieure au 31 décembre 2037. Les valeurs sont arrondies à la seconde.

  13. Si vous créez une AC subordonnée, sous Autorité de certification de l'autorité de certification de l'autorité de certification de l'autorité de certification de l'autorité de certification de l'autorité de certification de l'autorité de certification de l'autorité de certification de l'autorité de certification de l'autorité de certification de l'autorité de certification de l'autorité de certification de l'autorité de certification subordination, indiquez l'autorité de certification parent qui émet cette AC subordonnée. Si vous créez une CA racine, passez à l'étape suivante.

  14. Sous Coffre, sélectionnez le coffre qui contient la clé de cryptage à utiliser pour le certificat d'autorité de certification. Si vous le souhaitez, cliquez sur Modifier le compartiment pour indiquer un autre compartiment.

  15. Sous Clé, sélectionnez la clé du coffre à utiliser. La liste inclut uniquement les clés asymétriques du coffre car les certificats ne prennent en charge que les clés. Vous pouvez choisir des clés RSA (Rivest-Shamir-Adleman) de 2048 ou 4096 bits. Vous pouvez également choisir des clés ECDSA (algorithme de signature numérique à courbe elliptique) avec ID de courbe elliptique NIST_P384. Plus précisément, la liste inclut uniquement les types de clé asymétrique protégée par un module de sécurité HSM. Certificates ne prend pas en charge l'utilisation de clés protégées par logiciel.

  16. Sous Algorithme de signature, sélectionnez l'une des options suivantes, en fonction de la famille d'algorithmes de clé, puis cliquez sur Suivant.

    • SHA256_WITH_RSA : clé RSA avec une fonction de hachage SHA-256

    • SHA384_WITH_RSA : clé RSA avec une fonction de hachage SHA-384

    • SHA512_WITH_RSA : clé RSA avec une fonction de hachage SHA-512

    • SHA256_WITH_ECDSA : clé ECDSA avec une fonction de hachage SHA-256

    • SHA384_WITH_ECDSA : clé ECDSA avec une fonction de hachage SHA-384

    • SHA512_WITH_ECDSA : clé ECDSA avec une fonction de hachage SHA-512

  17. Configurez la règle d'expiration. Sous Durée de validité maximale des certificats (jours), indiquez le nombre maximal de jours de validité d'un certificat émis par cette CA. Nous vous recommandons vivement de ne pas définir de période de validité de plus 90 jours.

  18. Sous Durée de validité maximale de l'autorité de certification subordonnée (jours), indiquez le nombre maximal de jours de validité d'une autorité de certification émise par celle-ci pour émettre d'autres autorités de certification ou des certificats, puis cliquez sur Suivant.

  19. Sur la page Configuration de la révocation, si vous ne voulez pas configurer de liste de certificats révoqués, cochez la case Ignorer la révocation. Pour configurer la révocation de certificat, désélectionnez la case, puis indiquez un bucket OCI Object Storage dédié dans lequel vous prévoyez de stocker la LRC.

  20. (Facultatif) Cliquez sur Modifier le compartiment pour rechercher un bucket dans un autre compartiment.

  21. Sous Format de nom d'objet, indiquez le nom de l'objet. Vous pouvez inclure des accolades dans le nom de l'objet pour indiquer l'endroit où le service peut insérer le numéro de version de l'autorité de certification émettrice. Cet ajout permet d'éviter l'écrasement d'une LRC existante chaque fois que vous créez une autre version de CA.

  22. (Facultatif) sous URL formatées personnalisées, indiquez l'URL à utiliser avec les API pour accéder à l'objet. Cette URL est désignée comme le CDP (CRL Distribution Point) dans les certificats. Vous pouvez inclure des accolades dans l'URL pour indiquer l'endroit où le service peut insérer le numéro de version de l'autorité de certification émettrice. Cet ajout permet d'éviter d'écraser une CDP existante lorsque vous créez une autre version d'autorité de certification. Vous ne pouvez spécifier une URL HTTPS que s'il n'existe aucune dépendance circulaire dans la vérification de la chaîne HTTPS.

  23. (Facultatif) Pour indiquer une autre CDP, cliquez sur + Autre URL, puis indiquez une autre URL où les utilisateurs peuvent accéder à la CRL, puis cliquez sur Suivant.

  24. Vérifiez les informations, puis cliquez sur Créer une autorité de certification.

La création des ressources associées aux certificats peut prendre un certain temps. Une fois l'autorité de certification créée, vous pouvez utiliser l'une des deux méthodes suivantes pour obtenir un certificat émis pour vos serveurs IIS.

Tâche 2 : obtenir un certificat émis à l'aide de la CSR

Créez une CSR sur le serveur IIS, qui créera également une clé privée sur le même serveur. Il s'agit d'une approche recommandée qui nous fournit un moyen standardisé d'envoyer à l'AC votre clé publique ainsi que des informations qui identifient votre entreprise et votre nom de domaine.

  1. Pour créer une CSR à l'aide d'IIS, vous devez accéder à Internet Information Services (IIS) Manager et, sous le menu Connexions, cliquez sur le nom du serveur, puis sur Certificats de serveur.

    Image  1

  2. Dans le menu Actions, cliquez sur Créer une demande de certificat..., entrez tous les détails comme indiqué ci-dessous, puis cliquez sur Suivant.

    Image  2

    Image  3

  3. Dans Propriétés du fournisseur de services cryptographiques, entrez les informations suivantes, puis cliquez sur Suivant.

    Image  4

    (Les types de fournisseurs cryptographiques sont des familles de fournisseurs de services cryptographiques qui partagent des formats de données et des protocoles cryptographiques. Les formats de données incluent les schémas de remplissage d'algorithme, les longueurs de clé et les modes par défaut.)

    Microsoft RSA SChannel Cryptographic Provider est un CSP recommandé et doit être utilisé, sauf si vous avez une raison d'utiliser une autre valeur. Il prend en charge le hachage, la signature des données et la vérification des signatures. La longueur du bit détermine la force de chiffrement du certificat : plus la longueur est grande, plus la sécurité est forte. 2048 est recommandé pour une meilleure sécurité.

  4. Sur la page Nom de fichier, sous Indiquer un nom de fichier pour la demande de certificat, cliquez sur ... pour accéder à l'emplacement d'enregistrement de votre CSR (enregistrez le fichier en tant que .pem) qui conclut la partie IIS pour le moment.

    Image  5

  5. Nous devons nous connecter à notre location OCI et importer cette CSR. En disposant du fichier CSR au format .pem, vous pouvez accéder aux services OCI Certificates, à l'autorité de certification, aux certificats, à la création de certificat, sélectionner l'option émise par une autorité de certification interne, gérée en externe et entrer les détails nécessaires comme indiqué ci-dessous.

    Image  6

  6. Sur la page Configuration de certificat, vous devez télécharger le fichier CSR créé dans la tâche 2.5 au format .pem, cliquez sur Suivant, puis sur Créer un certificat.

    Image  7

    Image  8

  7. Maintenant, nous devons créer le .cer du certificat qui peut être utilisé sur notre serveur IIS pour compléter la CSR. Le fichier .cer peut être obtenu directement à partir de la console OCI à partir de Identité et sécurité, Certificats, Certificat. Cliquez sur Afficher le contenu, téléchargez le contenu du certificat pem et certificate-chain-pem, puis créez un seul fichier en combinant le contenu des deux avec certificate-pem en haut et certificate-chain-pem en bas du fichier (veillez à enregistrer le fichier résultant en tant que .cer).

  8. Une fois que vous avez terminé, vous pouvez accéder à nouveau au serveur IIS et cliquer sur Terminer la demande de certificat, fournir le fichier .cer que vous avez créé ci-dessus et fournir un nom convivial, puis cliquer sur Suivant.

    Image  9

    Image  10

    Image  100

  9. Vous pouvez voir le certificat sous Certificats de serveur dans IIS et l'utiliser pour votre site Web hébergé sur IIS en modifiant les liaisons sur le site Web. Modifiez la liaison de site et choisissez le certificat installé.

    Image  11

Tâche 3 : créer un certificat à partir du service OCI Certificates sans CSR

Dans cette approche, vous transférez la gestion des clés privées à l'autorité de certification. En règle générale, la CSR est le moyen le plus recommandé d'obtenir un certificat de l'autorité de certification. Si, pour une raison quelconque, vous n'avez pas pu obtenir une CSR et souhaitez obtenir un certificat délivré, vous pouvez utiliser cette approche. Nous utiliserons l'autorité de certification créée ci-dessus pour délivrer un certificat à notre site Web hébergé sur IIS. Nous fournirons des informations importantes lors de l'émission du certificat comme le nom du sujet de notre site Web (iistest.com dans mon cas), le type de profil de certificat, l'algorithme de clé et l'autorité de certification à utiliser.

  1. Accédez à la console OCI et cliquez sur Identité et sécurité.

  2. Sous Certificats, cliquez sur Certificat, puis sur Créer un certificat.

  3. Sous Compartiment, sélectionnez le compartiment dans lequel créer le certificat. Le certificat peut se trouver dans le même compartiment que l'autorité de certification ou dans un autre compartiment.

  4. Sous Type de certificat, pour émettre un certificat à partir de l'autorité de certification OCI Certificates qui gère également le certificat, cliquez sur Emis par l'autorité de certification interne.

  5. Entrez le nom d'affichage du certificat.

  6. (Facultatif) Entrez une description pour identifier plus facilement le certificat.

  7. (Facultatif) Pour appliquer des balises, cliquez sur Afficher le balisage, puis sur Suivant.

  8. Saisissez les informations sur le sujet, qui comprennent un nom commun permettant d'identifier le propriétaire du certificat. Selon l'utilisation prévue du certificat, le sujet peut identifier une personne, une organisation ou une adresse d'ordinateur. Les informations sur le sujet peuvent également inclure des noms DNS ou des adresses IP en tant que noms de sujet de remplacement servant à identifier le propriétaire du certificat. Vous pouvez utiliser des caractères génériques pour émettre un certificat correspondant à plusieurs noms de domaine ou de sous-domaine. Spécifiez à la fois le nom commun et le nom DNS (sous SAN) lors de la création du certificat. (Certains navigateurs ignorent le nom commun et utilisent le nom d'objet ou le nom SAN pour évaluer les informations d'objet.)

  9. (Facultatif) Pour ajouter d'autres noms de sujet, cliquez sur + Autre nom de sujet alternatif, choisissez le type d'adresse, saisissez le nom, puis cliquez sur Suivant.

  10. Sélectionnez un type de profil de certificat parmi les profils suivants en fonction de l'utilisation prévue du certificat.

    • Serveur ou client TLS : présenté par un serveur ou un client pour les connexions TLS/SSL.

    • Serveur TLS : présenté par un serveur pour les connexions TLS/SSL.

    • Client TLS : présenté par un client lors des connexions TLS/SSL.

    • Signature de code TLS : présenté par un programme pour valider sa signature.

    Etant donné que nous émettons le certificat pour un serveur, nous devons choisir le type de profil de serveur TLS ici.

  11. Pour modifier l'autorité de certification qui émet le certificat, cliquez sur Autorité de certification d'émetteur, puis sélectionnez une autorité de certification. Si nécessaire, cliquez sur Modifier le compartiment, puis choisissez un autre compartiment si l'autorité de certification se trouve dans un autre compartiment que celui sélectionné pour le certificat.

  12. (Facultatif) Cliquez sur Non valide avant, puis entrez une date avant laquelle le certificat ne pourra pas être utilisé pour valider l'identité de son détenteur. Si vous ne spécifiez aucune date, la période de validité du certificat commence immédiatement. Les valeurs sont arrondies à la seconde.

  13. Cliquez sur Non valide après, puis modifiez la date à partir de laquelle le certificat n'est plus une preuve valide de l'identité de son titulaire. Vous devez indiquer une date postérieure d'au moins un jour à la date de début de la période de validité. La date ne doit pas être ultérieure à la date d'expiration de l'autorité de certification émettrice. Vous ne pouvez pas non plus indiquer une date postérieure au 31 décembre 2037. Les valeurs sont arrondies à la seconde. En règle générale, les certificats sont utilisés pendant toute la durée de leur validité, sauf si un événement requiert leur révocation.

  14. Pour Key Algorithm, sélectionnez la combinaison algorithme/longueur de clé requise pour la paire de clés de certificat parmi les options suivantes.

    • RSA2048 : clé RSA (Rivest-Shamir-Adleman) 2048 bits

    • RSA4096 : clé RSA (Rivest-Shamir-Adleman) 4096 bits

    • ECDSA_P256 : clé ECDSA avec un ID de courbe P256

    • ECDSA_P384 : clé ECDSA avec un ID de courbe P384

  15. (Facultatif) Cliquez sur Afficher des champs supplémentaires, puis sous Algorithme de signature, choisissez l'un des algorithmes de signature suivants, en fonction de la clé, puis cliquez sur Suivant.

    • SHA256_WITH_RSA : clé RSA (Rivest-Shamir-Adleman) avec une fonction de hachage SHA-256

    • SHA384_WITH_RSA : clé RSA avec une fonction de hachage SHA-384

    • SHA512_WITH_RSA : clé RSA avec une fonction de hachage SHA-512

    • SHA256_WITH_ECDSA : clé ECDSA avec une fonction de hachage SHA-256

    • SHA384_WITH_ECDSA : clé ECDSA avec une fonction de hachage SHA-384

    • SHA512_WITH_ECDSA : clé ECDSA avec une fonction de hachage SHA-512

  16. Pour configurer le renouvellement automatique du certificat afin d'éviter toute interruption de son utilisation, spécifiez une valeur différente de zéro pour les paramètres suivants, puis cliquez sur Suivant.

    • Intervalle de renouvellement (jours) : Fréquence de renouvellement du certificat.

    • Période de renouvellement anticipé (en jours) : nombre de jours avant l'expiration du certificat où le renouvellement a lieu.

      Pour une flexibilité suffisante, renouveler le certificat avant la fin de sa période de validité et avec suffisamment de temps de renouvellement anticipé en cas de défaillance. Un certificat qui expire avant que le service puisse être renouvelé avec succès peut entraîner des interruptions de service.

      Remarque : le certificat ne sera pas automatiquement renouvelé sur le serveur IIS. Vous devez récupérer la nouvelle version du certificat et le recharger sur le serveur IIS à l'expiration du certificat.

  17. Vérifiez toutes les informations, puis cliquez sur Créer un certificat.

  18. Une fois le certificat créé, nous devons créer le .pem du certificat qui peut ensuite être installé sur notre serveur IIS. Pour créer le fichier .pem, nous devons récupérer le fichier cert.pem et le fichier key.pem privé du certificat que nous avons créé ci-dessus. Vous pouvez obtenir cert.pem directement à partir de la console OCI à partir de Identité et sécurité, Certificats, Certificat, Visualiser le contenu, télécharger le contenu du certificat pem et certificate-chain-pem, et créer un fichier unique en combinant le contenu des deux avec certificate-pem en haut et certificate-chain-pem en bas du fichier. Pour saisir la clé privée, nous pouvons utiliser l'interface de ligne de commande OCI de notre propre instance OCI Cloud Shell et exécuter la commande ci-dessous.

    oci certificates certificate-bundle get --certificate-id=ocid1.certificate.XXXXXXX --bundle-type=CERTIFICATE_CONTENT_WITH_PRIVATE_KEY
    
  19. Vous devez copier le contenu du fichier private-key-pem sous la section Données de la sortie de commande et l'enregistrer en tant que fichier .pem (par exemple, private.pem). Une fois que nous disposons des fichiers cert.pem et private.pem, nous pouvons utiliser OpenSSL pour générer un fichier .pfx. Lors de la copie du contenu du fichier private-key-pem, vous devrez peut-être enlever le caractère \n car il crée des problèmes de formatage.

    Remarque : l'interface de ligne de commande OCI, OpenSSL et de nombreux autres outils sont préinstallés dans OCI Cloud Shell, qui peut être utilisé pour effectuer ces opérations facilement.

    Le fichier de clé privée .pem doit ressembler à ceci :

    Image  12

  20. Vous pouvez utiliser la commande suivante pour récupérer le fichier .pem. Utilisez OCI Cloud Shell natif pour exécuter toutes ces commandes et fournir un mot de passe sécurisé pour votre clé privée. Vous aurez besoin de ce mot de passe lors de l'import de .pem.

    openssl pkcs12 -inkey priv.pem -in cert.pem -export -out iis.pem
    

    Ce fichier iis.pem doit être copié sur le serveur IIS. Nous devons importer ce fichier iis.pem dans le magasin de certificats de machine local sur le serveur IIS. J'ai déjà installé IIS et créé un site de démonstration. Une fois le certificat importé, je peux accéder à mon site Web hébergé sur IIS, modifier la liaison de site et choisir le certificat installé. Nous sommes maintenant prêts à tester le site en utilisant https (http sécurisé).

    Image  13

Tâche 4 : tester le site Web hébergé par IIS à l'aide du protocole HTTP sécurisé (https)

Nous avons utilisé un site Hello World de base pour présenter cette démo et placé le certificat d'autorité de certification racine (peut être exporté à partir de Certificate-chain-pem) dans le dossier Trusted Root Certification Authority sur le magasin de certificats de machine local sur nos machines client utilisées pour accéder à ce site Web. Cette opération est effectuée car les autorités de certification créées par les certificats OCI sont des autorités de certification privées et ne sont donc pas sécurisées par les navigateurs. Nous devons donc ajouter l'autorité de certification racine et l'autorité de certification intermédiaire (si elles sont utilisées) dans la banque racine sécurisée/magasin intermédiaire sur toutes les machines locales qui tentent d'accéder au site Web.

Image  14

Remerciements

Ressources de formation supplémentaires

Parcourez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, rendez-vous sur education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.