Utilisation de SSL - AWS OpsWorks

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de SSL

Important

Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur AWS Re:Post ou via le AWS Support Premium.

Pour utiliser SSL avec votre application, vous devez obtenir un certificat de serveur numérique auprès d'une autorité de certification. Pour simplifier, cette procédure crée un certificat, qu'elle signe elle-même. Les certificats signés automatiquement sont utiles à des fins d'apprentissage et de test, mais vous devez toujours utiliser un certificat signé par une autorité de certification pour les piles en production.

Dans cette procédure, vous allez exécuter les actions suivantes :

  1. Installer et configurer OpenSSL.

  2. Créer une clé privée.

  3. Créer une demande de signature de certificat.

  4. Générer un certificat signé automatiquement.

  5. Modifier l'application avec les informations de votre certificat.

Important

Si votre application utilise SSL, nous vous recommandons de désactiver, si possible, SSLv3 dans vos couches serveur d'applications pour traiter les vulnérabilités décrites dans CVE-2014-3566. Si votre stack inclut une couche Ganglia, vous devez également désactiver SSL v3 pour cette couche. Les détails dépendent de la couche particulière ; pour plus d'informations, consultez les éléments suivants.

Étape 1 : Installer et configurer OpenSSL.

La création et le chargement de certificats de serveur nécessitent un outil qui prend en charge les protocoles SSL et TLS. OpenSSL est un outil open source qui fournit les fonctions cryptographiques de base requises pour créer un jeton RSA et vous connecter avec votre clé privée.

La procédure suivante suppose que votre ordinateur n'ait pas déjà OpenSSL installé.

Pour installer OpenSSL sous Linux et Unix
  1. Accédez à OpenSSL : source, tarballs.

  2. Téléchargez la source la plus récente.

  3. Créez le package.

Pour installer OpenSSL sous Windows
  1. Si le package redistribuable Microsoft Visual C++ 2008 n'est pas déjà installé sur votre système, téléchargez-le.

  2. Exécutez le programme d'installation et suivez les instructions fournies par l'Assistant d'installation Microsoft Visual C++ 2008 Redistributable pour installer le redistribuable.

  3. Accédez à OpenSSL : distributions binaires, cliquez sur la version appropriée des fichiers binaires OpenSSL pour votre environnement et enregistrez le programme d'installation localement.

  4. Exécutez le programme d'installation et suivez les instructions de l'assistant de configuration d'OpenSSL pour installer les fichiers binaires.

Créez une variable d'environnement qui pointe sur le point d'installation OpenSSL en ouvrant une fenêtre de terminal ou de commande, puis en utilisant les lignes de commande suivantes.

  • Sous Linux et Unix

    export OpenSSL_HOME=path_to_your_OpenSSL_installation
  • Sous Windows

    set OpenSSL_HOME=path_to_your_OpenSSL_installation

Ajoutez le chemin d'accès des fichiers binaires OpenSSL à la variable path de votre ordinateur en ouvrant une fenêtre de terminal ou de commande, puis en utilisant les lignes de commande suivantes.

  • Sous Linux et Unix

    export PATH=$PATH:$OpenSSL_HOME/bin
  • Sous Windows

    set Path=OpenSSL_HOME\bin;%Path%
Note

Les modifications apportées aux variables d'environnement à l'aide de ces lignes de commande sont valides uniquement pour la session de ligne de commande actuelle.

Étape 2 : Créer une clé privée

Vous avez besoin d'une clé privée unique pour créer votre demande de signature de certificat (CSR). Créez la clé à l'aide de la ligne de commande suivante :

openssl genrsa 2048 > privatekey.pem

Étape 3 : Créer une demande de signature de certificat

Un fichier de demande de signature de certificat (CSR) est un fichier envoyé à une autorité de certification pour demander un certificat de serveur numérique. Créez le fichier CSR à l'aide de la ligne de commande suivante.

openssl req -new -key privatekey.pem -out csr.pem

La sortie de la commande doit se présenter comme suit :

You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank.

Le tableau suivant peur vous aider à créer votre propre demande de certificat.

Données de la demande de certificat
Name (Nom) Description Exemple
Nom du pays Abréviation ISO de deux lettres de votre pays. US = États-Unis
État ou Province Nom de l’état ou de la province où votre organisation se situe. Ce nom ne peut pas être abrégé. Washington
Nom de la localité Nom de la ville où votre organisation se situe. Seattle
Nom de l’organisation Nom légal complet de votre organisation. N’abrégez pas le nom de votre organisation. CorporationX
Unité d'organisation (Facultatif) Pour des informations supplémentaires sur l'organisation. Marketing
Nom commun Nom de domaine complet de votre CNAME. Vous recevrez un avertissement de vérification du nom du certificat si la correspondance n'est pas exacte. www.exemple.com
Adresse e-mail Adresse électronique de l'administrateur du serveur. quelquun@exemple.com
Note

Le champ Nom commun est souvent mal compris et rempli de manière incorrecte. Le nom commun est généralement votre hôte plus le nom du domaine. Il se présente comme « www.exemple.com » ou « exemple.com ». Vous devez créer une demande CSR qui utilise votre nom commun correct.

Étape 4 : Envoyer la demande de signature de certificat à une autorité de certification

Pour une utilisation en production, vous obtenez un certificat de serveur en soumettant votre demande CSR à une autorité de certification, ce qui peut nécessiter d'autres informations d'identification ou preuves d'identité. En cas de réussite, l'autorité de certification renvoie un certificat d'identité signé numériquement et, éventuellement, un fichier de chaîne de certificat. AWS ne recommande pas de CA spécifique. Pour obtenir des listes partielles de CA disponibles, consultez Autorité de certification - Fournisseurs sur Wikipédia.

Vous pouvez également générer un certificat signé automatiquement, qui peut être utilisé à des fins de test uniquement. Pour cet exemple, utilisez la ligne de commande suivante pour générer un certificat signé automatiquement.

openssl x509 -req -days 365 -in csr.pem -signkey privatekey.pem -out server.crt

La sortie sera similaire à l'exemple suivant :

Loading 'screen' into random state - done Signature ok subject=/C=us/ST=washington/L=seattle/O=corporationx/OU=marketing/CN=example.com/emailAddress=someone@example.com Getting Private key

Étape 5 : Modifier l'application

Une fois que vous avez généré et signé votre certificat, mettez à jour votre application pour activer le protocole SSL et fournissez les informations sur votre certificat. Sur la page Apps (Applications), choisissez une application pour ouvrir la page des détails, puis cliquez sur Edit App (Modifier l'application). Pour activer la prise en charge SSL, définissez Enable SSL (Activer SSL) sur Yes (Oui). Les options de configuration suivantes s'affichent.

SSL Certificate (Certificat SSL)

Collez le contenu du fichier de certificat de clé publique (.crt) dans la zone. Le certificat doit ressembler à ce qui suit :

-----BEGIN CERTIFICATE----- MIICuTCCAiICCQCtqFKItVQJpzANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMC dXMxEzARBgNVBAgMCndhc2hpbmd0b24xEDAOBgNVBAcMB3NlYXR0bGUxDzANBgNV BAoMBmFtYXpvbjEWMBQGA1UECwwNRGV2IGFuZCBUb29sczEdMBsGA1UEAwwUc3Rl cGhhbmllYXBpZXJjZS5jb20xIjAgBgkqhkiG9w0BCQEWE3NhcGllcmNlQGFtYXpv ... -----END CERTIFICATE-----
Note

Si vous utilisez Nginx et que vous avez un fichier de chaîne de certificat, vous devez ajouter le contenu au fichier de certificat de clé publique.

Si vous mettez à jour un certificat existant, procédez comme suit :

  • Choisissez Update SSL certificate (Mettre à jour le certificat SSL) pour mettre à jour le certificat.

  • Si le nouveau certificat ne correspond pas à la clé privée existante, choisissez Update SSL Certificate Key (Mettre à jour la clé de certificat SSL).

  • Si le nouveau certificat ne correspond pas à la chaîne de certificat existante, choisissez Update SSL certificates (Mettre à jour les certificats SSL).

SSL Certificate Key (Clé de certificat SSL)

Collez le contenu du fichier de clé privé (fichier .pem) dans la zone. Elles doivent se présenter comme suit :

----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQC0CYklJY5r4vV2NHQYEpwtsLuMMBhylMrgBShKq+HHVLYQQCL6 +wGIiRq5qXqZlRXje3GM5Jvcm6q0R71MfRIl1FuzKyqDtneZaAIEYniZibHiUnmO /UNqpFDosw/6hY3ONk0fSBlU4ivD0Gjpf6J80jL3DJ4R23Ed0sdL4pRT3QIDAQAB AoGBAKmMfWrNRqYVtGKgnWB6Tji9QrKQLMXjmHeGg95mppdJELiXHhpMvrHtpIyK ... -----END RSA PRIVATE KEY-----
SSL certificates of Certification Authorities (Certificats SSL des autorités de certification)

Si vous avez un fichier de chaîne de certificats, collez le contenu dans la zone.

Note

Si vous utilisez Nginx, vous devez laisser cette zone vide. Si vous avez un fichier de chaîne de certificats, ajoutez-le au fichier de certificat de clé publique dans SSL Certificate (Certificat SSL).

Après avoir cliqué sur Save (Enregistrer), redéployez l'application pour mettre à jour vos instances en ligne.

Pour les couches de serveur d'applications intégrées, AWS OpsWorks Stacks met automatiquement à jour la configuration du serveur. Une fois que le déploiement est terminé, vous pouvez vérifier que votre installation OpenSSL a fonctionné, comme suit.

Pour vérifier une installation OpenSSL
  1. Accédez à la page Instances.

  2. Exécutez l'application en cliquant sur l'adresse IP de l'instance du serveur d'applications ou, si vous utilisez un équilibreur de charge, son adresse IP.

  3. Modifiez le préfixe de l'adresse IP de http:// en https:// et actualisez le navigateur pour vérifier que la page se charge correctement avec SSL.

Les utilisateurs qui ont configuré des applications pour qu’elles s’exécutent dans Mozilla Firefox obtiennent parfois le certificat d'erreur suivant : SEC_ERROR_UNKNOWN_ISSUER. Cette erreur peut être provoquée par une fonctionnalité de remplacement de certificat dans les programmes antivirus et anti-logiciels malveillants de votre entreprise, par certains types de logiciels de surveillance et de filtrage du trafic réseau, ou par des logiciels malveillants. Pour plus d'informations sur la façon de résoudre cette erreur, consultez Que faire devant l'erreur « SEC_ERROR_UNKNOWN_ISSUER » sur des sites web sécurisés sur le site web du support de Mozilla Firefox.

Pour toutes les autres couches, y compris les couches personnalisées, AWS OpsWorks Stacks ajoute simplement les paramètres SSL aux attributs deploy de l'application. Vous devez implémenter une recette personnalisée pour extraire les informations de l'objet nœud et configurer le serveur correctement.