AWS CloudHSM SSL/TLSdécharger sous Linux en utilisant NGINX ou Apache avec Open SSL - AWS CloudHSM

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.

AWS CloudHSM SSL/TLSdécharger sous Linux en utilisant NGINX ou Apache avec Open SSL

Cette rubrique fournit des step-by-step instructions pour configurerSSL/TLSoffload with AWS CloudHSM sur un serveur Web Linux.

Présentation

Sous Linux, le logiciel du HTTPserveur Web NGINXet Apache Server s'intègrent à Open SSL pour le supportHTTPS. Le moteur AWS CloudHSM dynamique d'Open SSL fournit une interface qui permet au logiciel du serveur Web d'utiliser le contenu de votre cluster pour le HSMs déchargement cryptographique et le stockage de clés. Le SSL moteur Open est le pont qui connecte le serveur Web à votre AWS CloudHSM cluster.

Pour terminer ce didacticiel, vous devez d'abord choisir d'utiliser le logiciel de serveur Web Apache NGINX ou le logiciel de serveur Web Apache sous Linux. Ce didacticiel vous montre ensuite comment effectuer les opérations suivantes :

  • Installez le logiciel du serveur Web sur une EC2 instance Amazon.

  • Configurez le logiciel du serveur Web pour qu'il prenne en charge HTTPS une clé privée stockée dans votre AWS CloudHSM cluster.

  • (Facultatif) Utilisez Amazon EC2 pour créer une deuxième instance de serveur Web et Elastic Load Balancing pour créer un équilibreur de charge. L'utilisation d'un équilibreur de charge peut accroître les performances en répartissant la charge sur plusieurs serveurs. Elle peut également assurer la redondance et une meilleure disponibilité en cas de défaillance d'un ou plusieurs serveurs.

Lorsque vous êtes prêt à commencer, consultez Étape 1 : Configurer les prérequis.

Étape 1 : Configurer les prérequis

Les différentes plateformes ont des prérequis différents. Utilisez la section des prérequis ci-dessous qui correspond à votre plateforme.

Prérequis pour le client 5 SDK

Pour configurer le serveur SSL TLS Web/Offload avec le Client SDK 5, vous avez besoin des éléments suivants :

  • Un AWS CloudHSM cluster actif avec au moins deux modules de sécurité matériels (HSM)

    Note

    Vous pouvez utiliser un seul HSM cluster, mais vous devez d'abord désactiver la durabilité des clés client. Pour plus d'informations, voir Gérer les paramètres de durabilité des clés client et Outil de configuration du client SDK 5.

  • Une EC2 instance Amazon exécutant un système d'exploitation Linux avec les logiciels suivants installés :

    • Un serveur Web (NGINXou Apache)

    • Le moteur SSL dynamique ouvert pour le client SDK 5

  • Un utilisateur cryptographique (CU) qui possède et gère la clé privée du serveur Web sur leHSM.

Pour configurer une instance de serveur Web Linux et créer une CU sur HSM
  1. Installez et configurez l'Open SSL Dynamic Engine pour AWS CloudHSM. Pour plus d'informations sur l'installation d'Open SSL Dynamic Engine, consultez Open SSL Dynamic Engine pour Client SDK 5.

  2. Sur une instance EC2 Linux ayant accès à votre cluster, installez l'un NGINX ou l'autre serveur Web Apache :

    Amazon Linux
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd24 mod24_ssl
    Amazon Linux 2
    • Pour plus d'informations sur le téléchargement de la dernière version d'NGINXAmazon Linux 2, consultez le NGINXsite Web.

      La dernière version NGINX disponible pour Amazon Linux 2 utilise une version d'Open plus récente SSL que la version système d'OpenSSL. Après l'installationNGINX, vous devez créer un lien symbolique depuis la bibliothèque AWS CloudHSM Open SSL Dynamic Engine vers l'emplacement attendu par cette version d'SSLOpen

      $ sudo ln -sf /opt/cloudhsm/lib/libcloudhsm_openssl_engine.so /usr/lib64/engines-1.1/cloudhsm.so
    • Apache

      $ sudo yum install httpd mod_ssl
    CentOS 7
    Red Hat 7
    • Pour plus d'informations sur le téléchargement de la dernière version de NGINX Red Hat 7, consultez le NGINXsite Web.

      La dernière version NGINX disponible pour Red Hat 7 utilise une version d'Open plus récente SSL que la version système d'OpenSSL. Après l'installationNGINX, vous devez créer un lien symbolique depuis la bibliothèque AWS CloudHSM Open SSL Dynamic Engine vers l'emplacement attendu par cette version d'SSLOpen

      $ sudo ln -sf /opt/cloudhsm/lib/libcloudhsm_openssl_engine.so /usr/lib64/engines-1.1/cloudhsm.so
    • Apache

      $ sudo yum install httpd mod_ssl
    CentOS 8
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd mod_ssl
    Red Hat 8
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd mod_ssl
    Ubuntu 18.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
    Ubuntu 20.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
    Ubuntu 22.04

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  3. Utilisez Cloud HSM CLI pour créer une CU. Pour plus d'informations sur la gestion des HSM utilisateurs, consultez la section Gestion des HSM utilisateurs avec le cloud HSM CLI.

    Astuce

    Conservez le nom d'utilisateur et le mot de passe du CU. Vous en aurez besoin ultérieurement lors de la génération ou de l'importation de la clé HTTPS privée et du certificat pour votre serveur Web.

Une fois que vous avez terminé ces étapes, consultez Étape 2 : générer ou importer une clé privée et/ou SSL un TLS certificat.

Remarques
  • Pour utiliser Security-Enhanced Linux (SELinux) et les serveurs Web, vous devez autoriser les TCP connexions sortantes sur le port 2223, qui est le port utilisé par le Client SDK 5 pour communiquer avec le. HSM

  • Pour créer et activer un cluster et donner à une EC2 instance l'accès au cluster, suivez les étapes décrites dans Getting Started with AWS CloudHSM. La section Getting Started propose des step-by-step instructions pour créer un cluster actif avec un cluster HSM et une instance EC2 client Amazon. Vous pouvez utiliser cette instance client comme serveur web.

  • Pour éviter de désactiver la durabilité des clés client, ajoutez-en plusieurs HSM à votre cluster. Pour de plus amples informations, veuillez consulter Ajouter un HSM à un AWS CloudHSM cluster.

  • Pour vous connecter à votre instance client, vous pouvez utiliser SSH ou PuTTY. Pour plus d'informations, consultez Connexion à votre instance Linux en utilisant SSH ou Connexion à votre instance Linux depuis Windows en utilisant Pu TTY dans la EC2 documentation Amazon.

Prérequis pour le client 3 SDK

Pour configurer le serveur SSL TLS Web/Offload avec le client SDK 3, vous avez besoin des éléments suivants :

  • Un AWS CloudHSM cluster actif avec au moins unHSM.

  • Une EC2 instance Amazon exécutant un système d'exploitation Linux avec les logiciels suivants installés :

    • Le AWS CloudHSM client et les outils de ligne de commande.

    • L'application de serveur Web NGINX ou Apache.

    • Le moteur AWS CloudHSM dynamique d'OpenSSL.

  • Un utilisateur cryptographique (CU) qui possède et gère la clé privée du serveur Web sur leHSM.

Pour configurer une instance de serveur Web Linux et créer une CU sur HSM
  1. Suivez les étapes de Premiers pas. Vous aurez alors un cluster actif avec un HSM et une instance EC2 client Amazon. Votre EC2 instance sera configurée à l'aide des outils de ligne de commande. Utilisez cette instance client comme serveur web.

  2. Connectez-vous à votre instance client . Pour plus d'informations, consultez Connexion à votre instance Linux en utilisant SSH ou Connexion à votre instance Linux depuis Windows en utilisant Pu TTY dans la EC2 documentation Amazon.

  3. Sur une instance EC2 Linux ayant accès à votre cluster, installez l'un NGINX ou l'autre serveur Web Apache :

    Amazon Linux
    • NGINX

      $ sudo yum install nginx
    • Apache

      $ sudo yum install httpd24 mod24_ssl
    Amazon Linux 2
    • NGINXla version 1.19 est la dernière version NGINX compatible avec le moteur Client SDK 3 sur Amazon Linux 2.

      Pour plus d'informations et pour télécharger la NGINX version 1.19, consultez le NGINXsite Web.

    • Apache

      $ sudo yum install httpd mod_ssl
    CentOS 7
    • NGINXla version 1.19 est la dernière version NGINX compatible avec le moteur Client SDK 3 sur CentOS 7.

      Pour plus d'informations et pour télécharger la NGINX version 1.19, consultez le NGINXsite Web.

    • Apache

      $ sudo yum install httpd mod_ssl
    Red Hat 7
    • NGINXla version 1.19 est la dernière version NGINX compatible avec le moteur Client SDK 3 sur Red Hat 7.

      Pour plus d'informations et pour télécharger la NGINX version 1.19, consultez le NGINXsite Web.

    • Apache

      $ sudo yum install httpd mod_ssl
    Ubuntu 16.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
    Ubuntu 18.04
    • NGINX

      $ sudo apt install nginx
    • Apache

      $ sudo apt install apache2
  4. (Facultatif) Ajoutez-en HSMs d'autres à votre cluster. Pour de plus amples informations, veuillez consulter Ajouter un HSM à un AWS CloudHSM cluster.

  5. Utilisez cloudhsm_mgmt_util pour créer un CU. Pour de plus amples informations, veuillez consulter HSMutilisateurs. Conservez le nom d'utilisateur et le mot de passe du CU. Vous en aurez besoin ultérieurement lors de la génération ou de l'importation de la clé HTTPS privée et du certificat pour votre serveur Web.

Une fois que vous avez terminé ces étapes, consultez Étape 2 : générer ou importer une clé privée et/ou SSL un TLS certificat.

Étape 2 : générer ou importer une clé privée et/ou SSL un TLS certificat

Pour l'activerHTTPS, votre application de serveur Web (NGINXou Apache) a besoin d'une clé privée et d'un SSL/TLS certificate. To use web server SSL/TLS déchargement correspondant. Vous devez stocker la clé privée HSM dans un AWS CloudHSM cluster. AWS CloudHSM Vous pouvez effectuer cette opération de différentes manières :

  • Si vous n'avez pas encore de clé privée et de certificat correspondant, générez une clé privée dans unHSM. Vous utilisez la clé privée pour créer une demande de signature de certificat (CSR), que vous utilisez pour créer le TLS certificatSSL/.

  • Si vous possédez déjà une clé privée et le certificat correspondant, importez la clé privée dans unHSM.

Quelle que soit la méthode choisie ci-dessus, vous exportez une fausse clé PEM privée à partir duHSM, qui est un fichier de clé privée au PEM format contenant une référence à la clé privée stockée sur le HSM (il ne s'agit pas de la véritable clé privée). Votre serveur Web utilise le faux fichier de clé PEM privée pour identifier la clé privée HSM lors du SSL TLS déchargement.

Générer une clé privée et un certificat

Générer une clé privée

Cette section explique comment générer une paire de clés à l'aide de l'utilitaire de gestion des clés (KMU) à partir du client SDK 3. Une fois qu'une paire de clés est générée dans le fichierHSM, vous pouvez l'exporter sous forme de faux PEM fichier et générer le certificat correspondant.

Les clés privées générées à l'aide de l'utilitaire de gestion des clés (KMU) peuvent être utilisées à la fois avec le client SDK 3 et le client SDK 5.

Installation et configuration de l'utilitaire de gestion des clés (KMU)
  1. Connectez-vous à votre instance client .

  2. Installation et configuration du client SDK 3.

  3. Exécutez la commande suivante pour démarrer le AWS CloudHSM client.

    Amazon Linux
    $ sudo start cloudhsm-client
    Amazon Linux 2
    $ sudo service cloudhsm-client start
    CentOS 7
    $ sudo service cloudhsm-client start
    CentOS 8
    $ sudo service cloudhsm-client start
    RHEL 7
    $ sudo service cloudhsm-client start
    RHEL 8
    $ sudo service cloudhsm-client start
    Ubuntu 16.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 18.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 20.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  4. Exécutez la commande suivante pour démarrer l'outil de ligne de commande key_mgmt_util.

    $ /opt/cloudhsm/bin/key_mgmt_util
  5. Exécutez la commande suivante pour vous connecter auHSM. Remplacez <user name> and <password> avec le nom d'utilisateur et le mot de passe de l'utilisateur cryptographique (CU).

    Command: loginHSM -u CU -s <user name> -p <password>>

Générer une clé privée

Selon votre cas d'utilisation, vous pouvez générer une paire de clés EC RSA ou une paire de clés EC. Effectuez l’une des actions suivantes :

  • Pour générer une clé RSA privée sur un HSM

    Utilisez la genRSAKeyPair commande pour générer une paire de RSA clés. Cet exemple génère une paire de RSA clés avec un module de 2048, un exposant public de 65537 et une étiquette de tls_rsa_keypair.

    Command: genRSAKeyPair -m 2048 -e 65537 -l tls_rsa_keypair

    Si la commande est réussie, vous devriez voir le résultat suivant indiquant que vous avez correctement généré une paire de RSA clés.

    Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 7 private key handle: 8 Cluster Status: Node id 1 status: 0x00000000 : HSM Return: SUCCESS
  • Pour générer une clé privée EC sur un HSM

    Utilisez la commande genECCKeyPair pour générer une paire de clés EC. Cet exemple génère une paire de clés EC avec un ID de courbe de 2 (correspondant à la NID_X9_62_prime256v1 courbe) et une étiquette de tls_ec_keypair.

    Command: genECCKeyPair -i 2 -l tls_ec_keypair

    Si la commande s'est correctement déroulée, vous devriez voir le résultat suivant indiquant que vous avez correctement généré une paire de clés EC.

    Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 7 private key handle: 8 Cluster Status: Node id 1 status: 0x00000000 : HSM Return: SUCCESS

Exporter un faux fichier de clé PEM privée

Une fois que vous avez une clé privée sur leHSM, vous devez exporter un faux fichier de clé PEM privée. Ce fichier ne contient pas les données clés réelles, mais il permet à Open SSL Dynamic Engine d'identifier la clé privée sur leHSM. Vous pouvez ensuite utiliser la clé privée pour créer une demande de signature de certificat (CSR) et la signer CSR pour créer le certificat.

Note

Les faux PEM fichiers générés à l'aide de l'utilitaire de gestion des clés (KMU) peuvent être utilisés à la fois avec le client SDK 3 et le client SDK 5.

Identifiez le descripteur de clé correspondant à la clé que vous souhaitez exporter en tant que faussePEM, puis exécutez la commande suivante pour exporter la clé privée dans un faux PEM format et l'enregistrer dans un fichier. Remplacez les valeurs suivantes par vos propres valeurs :

  • <private_key_handle> — Identifiant de la clé privée générée. Ce handle a été généré par l’une des commandes de génération de clé de l'étape précédente. Dans l'exemple précédent, le handle de la clé privée est 8.

  • <web_server_fake_PEM.key> — Nom du fichier dans lequel sera écrite votre fausse PEM clé.

Command: getCaviumPrivKey -k <private_key_handle> -out <web_server_fake_PEM.key>

Quitter

Exécutez la commande suivante pour arrêter le key_mgmt_util.

Command: exit

Vous devriez maintenant avoir un nouveau fichier sur votre système, situé sur le chemin spécifié par <web_server_fake_PEM.key> dans la commande précédente. Ce fichier est le faux fichier de clé PEM privée.

Générer un certificat signé automatiquement.

Une fois que vous avez généré une fausse clé PEM privée, vous pouvez utiliser ce fichier pour générer une demande de signature de certificat (CSR) et un certificat.

Dans un environnement de production, vous utilisez généralement une autorité de certification (CA) pour créer un certificat à partir d'unCSR. L'autorité de certification n'est pas nécessaire pour un environnement de test. Si vous utilisez une autorité de certification, envoyez-lui le CSR fichier et utilisez le TLS certificat signéSSL/qu'elle vous a fourni sur votre serveur WebHTTPS.

Au lieu d'utiliser une autorité de certification, vous pouvez utiliser l' AWS CloudHSM Open SSL Dynamic Engine pour créer un certificat auto-signé. Les certificats auto-signés ne sont pas approuvées par les navigateurs et ne doivent pas être utilisés dans les environnements de production. Ils peuvent cependant être utilisés dans les environnements de test.

Avertissement

Les certificats auto-signés doivent uniquement être utilisés dans un environnement de test. Pour un environnement de production, utilisez une méthode plus sécurisée telle qu'une autorité de certification pour créer un certificat.

Installation et configuration de l'Open SSL Dynamic Engine
  1. Connectez-vous à votre instance client .

  2. Pour installer et configurer, réalisez l’un des éléments suivants :

Générez un certificat
  1. Obtenez une copie de votre faux PEM fichier généré lors d'une étape précédente.

  2. Création d'un CSR

    Exécutez la commande suivante pour utiliser le moteur SSL dynamique AWS CloudHSM ouvert afin de créer une demande de signature de certificat (CSR). Remplacez <web_server_fake_PEM.key> avec le nom du fichier contenant votre fausse clé PEM privée. Remplacez <web_server.csr> avec le nom du fichier qui contient votreCSR.

    La commande req est interactive. Renseignez chaque champ. Les informations du champ sont copiées dans votre TLS certificat SSL /.

    $ openssl req -engine cloudhsm -new -key <web_server_fake_PEM.key> -out <web_server.csr>
  3. Créer un certificat auto-signé

    Exécutez la commande suivante pour utiliser l' AWS CloudHSM Open SSL Dynamic Engine afin de signer CSR avec votre clé privée sur votreHSM. Cette opération crée un certificat auto-signé. Remplacez les valeurs suivantes par vos propres valeurs dans la commande :

    • <web_server.csr> — Nom du fichier contenant leCSR.

    • <web_server_fake_PEM.key> — Nom du fichier contenant la fausse clé PEM privée.

    • <web_server.crt> — Nom du fichier qui contiendra le certificat de votre serveur Web.

    $ openssl x509 -engine cloudhsm -req -days 365 -in <web_server.csr> -signkey <web_server_fake_PEM.key> -out <web_server.crt>

Une fois que vous avez terminé ces étapes, consultez Étape 3 : Configurer le serveur web.

Importer une clé privée et un certificat existants

Vous disposez peut-être déjà d'une clé privée et d'un TLS certificatSSL/correspondant que vous utilisez HTTPS sur votre serveur Web. Si tel est le cas, vous pouvez importer cette clé dans un HSM en suivant les étapes décrites dans cette section.

Note

Quelques remarques sur les importations de clés privées et la SDK compatibilité avec le client :

  • L'importation d'une clé privée existante nécessite le client SDK 3.

  • Vous pouvez utiliser les clés privées du client SDK 3 avec le client SDK 5.

  • Open SSL Dynamic Engine pour Client SDK 3 ne prend pas en charge les dernières plateformes Linux, contrairement à l'implémentation d'Open SSL Dynamic Engine pour Client SDK 5. Vous pouvez importer une clé privée existante à l'aide de l'utilitaire de gestion des clés (KMU) fourni avec le client SDK 3, puis utiliser cette clé privée et l'implémentation d'Open SSL Dynamic Engine avec le client SDK 5 pour prendre en SSL charge ou TLS décharger sur les dernières plateformes Linux.

Pour importer une clé privée existante dans un client HSM with SDK 3
  1. Connectez-vous à votre instance EC2 client Amazon. Si nécessaire, copiez votre clé privée et le certificat sur l'instance.

  2. Installation et configuration du client SDK 3

  3. Exécutez la commande suivante pour démarrer le AWS CloudHSM client.

    Amazon Linux
    $ sudo start cloudhsm-client
    Amazon Linux 2
    $ sudo service cloudhsm-client start
    CentOS 7
    $ sudo service cloudhsm-client start
    CentOS 8
    $ sudo service cloudhsm-client start
    RHEL 7
    $ sudo service cloudhsm-client start
    RHEL 8
    $ sudo service cloudhsm-client start
    Ubuntu 16.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 18.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 20.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  4. Exécutez la commande suivante pour démarrer l'outil de ligne de commande key_mgmt_util.

    $ /opt/cloudhsm/bin/key_mgmt_util
  5. Exécutez la commande suivante pour vous connecter auHSM. Remplacez <user name> and <password> avec le nom d'utilisateur et le mot de passe de l'utilisateur cryptographique (CU).

    Command: loginHSM -u CU -s <user name> -p <password>
  6. Exécutez les commandes suivantes pour importer votre clé privée dans unHSM.

    1. Exécutez la commande suivante pour créer une clé d'encapsulage symétrique valable uniquement pour la session en cours. La commande et la sortie sont affichées.

      Command: genSymKey -t 31 -s 16 -sess -l wrapping_key_for_import Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 6 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
    2. Exécutez la commande suivante pour importer votre clé privée existante dans unHSM. La commande et la sortie sont affichées. Remplacez les valeurs suivantes par vos propres valeurs :

      • <web_server_existing.key> — Nom du fichier contenant votre clé privée.

      • <web_server_imported_key> — Libellé de votre clé privée importée.

      • <wrapping_key_handle> — Poignée clé d'encapsulation générée par la commande précédente. Dans l'exemple précédent, le handle de clé d'encapsulage est 6.

      Command: importPrivateKey -f <web_server_existing.key> -l <web_server_imported_key> -w <wrapping_key_handle> BER encoded key length is 1219 Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Private Key Unwrapped. Key Handle: 8 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
  7. Exécutez la commande suivante pour exporter la clé privée dans un faux PEM format et l'enregistrer dans un fichier. Remplacez les valeurs suivantes par vos propres valeurs :

    • <private_key_handle> — Identifiant de la clé privée importée. Ce handle a été généré par la deuxième commande de l'étape précédente. Dans l'exemple précédent, le handle de la clé privée est 8.

    • <web_server_fake_PEM.key> — Nom du fichier contenant votre fausse clé PEM privée exportée.

    Command: getCaviumPrivKey -k <private_key_handle> -out <web_server_fake_PEM.key>
  8. Exécutez la commande suivante pour arrêter key_mgmt_util.

    Command: exit

Une fois que vous avez terminé ces étapes, consultez Étape 3 : Configurer le serveur web.

Étape 3 : Configurer le serveur web

Mettez à jour la configuration du logiciel de votre serveur Web pour utiliser le HTTPS certificat et la fausse clé PEM privée correspondante que vous avez créés à l'étape précédente. N'oubliez pas de sauvegarder vos certificats et clés existants avant de commencer. Cela terminera la configuration de votre logiciel de serveur Web Linux pour SSL TLS /offload with AWS CloudHSM.

Complétez les étapes de l'une des sections suivantes.

Configuration du serveur NGINX Web

Utilisez cette section pour effectuer la configuration NGINX sur les plateformes prises en charge.

Pour mettre à jour la configuration du serveur Web pour NGINX
  1. Connectez-vous à votre instance client .

  2. Exécutez la commande suivante pour créer les répertoires requis pour le certificat du serveur Web et la fausse clé PEM privée.

    $ sudo mkdir -p /etc/pki/nginx/private
  3. Exécutez la commande suivante pour copier votre certificat de serveur web à l'emplacement requis. Remplacez <web_server.crt> avec le nom du certificat de votre serveur Web.

    $ sudo cp <web_server.crt> /etc/pki/nginx/server.crt
  4. Exécutez la commande suivante pour copier votre fausse clé PEM privée à l'emplacement requis. Remplacez <web_server_fake_PEM.key> avec le nom du fichier contenant votre fausse clé PEM privée.

    $ sudo cp <web_server_fake_PEM.key> /etc/pki/nginx/private/server.key
  5. Exécutez la commande suivante pour modifier la propriété des fichiers afin que l'utilisateur nommé nginx puisse les lire.

    $ sudo chown nginx /etc/pki/nginx/server.crt /etc/pki/nginx/private/server.key
  6. Exécutez la commande suivante pour sauvegarder le fichier /etc/nginx/nginx.conf.

    $ sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
  7. Mettez à jour la NGINX configuration.

    Note

    Chaque cluster peut prendre en charge un maximum de 1 000 NGINX processus de travail sur tous les serveurs NGINX Web.

    Amazon Linux

    Utilisez un éditeur de texte pour modifier le fichier /etc/nginx/nginx.conf. Ceci nécessite des autorisations racine Linux. En haut du fichier, ajoutez les lignes suivantes :

    • Si vous utilisez le client SDK 3

      ssl_engine cloudhsm; env n3fips_password;
    • Si vous utilisez le Client SDK 5

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Ajoutez ensuite ce qui suit à la TLS section du fichier :

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Amazon Linux 2

    Utilisez un éditeur de texte pour modifier le fichier /etc/nginx/nginx.conf. Ceci nécessite des autorisations racine Linux. En haut du fichier, ajoutez les lignes suivantes :

    • Si vous utilisez le client SDK 3

      ssl_engine cloudhsm; env n3fips_password;
    • Si vous utilisez le Client SDK 5

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Ajoutez ensuite ce qui suit à la TLS section du fichier :

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    CentOS 7

    Utilisez un éditeur de texte pour modifier le fichier /etc/nginx/nginx.conf. Ceci nécessite des autorisations racine Linux. En haut du fichier, ajoutez les lignes suivantes :

    • Si vous utilisez le client SDK 3

      ssl_engine cloudhsm; env n3fips_password;
    • Si vous utilisez le Client SDK 5

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Ajoutez ensuite ce qui suit à la TLS section du fichier :

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    CentOS 8

    Utilisez un éditeur de texte pour modifier le fichier /etc/nginx/nginx.conf. Ceci nécessite des autorisations racine Linux. En haut du fichier, ajoutez les lignes suivantes :

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Ajoutez ensuite ce qui suit à la TLS section du fichier :

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Red Hat 7

    Utilisez un éditeur de texte pour modifier le fichier /etc/nginx/nginx.conf. Ceci nécessite des autorisations racine Linux. En haut du fichier, ajoutez les lignes suivantes :

    • Si vous utilisez le client SDK 3

      ssl_engine cloudhsm; env n3fips_password;
    • Si vous utilisez le Client SDK 5

      ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Ajoutez ensuite ce qui suit à la TLS section du fichier :

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Red Hat 8

    Utilisez un éditeur de texte pour modifier le fichier /etc/nginx/nginx.conf. Ceci nécessite des autorisations racine Linux. En haut du fichier, ajoutez les lignes suivantes :

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Ajoutez ensuite ce qui suit à la TLS section du fichier :

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 16.04 LTS

    Utilisez un éditeur de texte pour modifier le fichier /etc/nginx/nginx.conf. Ceci nécessite des autorisations racine Linux. En haut du fichier, ajoutez les lignes suivantes :

    ssl_engine cloudhsm; env n3fips_password;

    Ajoutez ensuite ce qui suit à la TLS section du fichier :

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 18.04 LTS

    Utilisez un éditeur de texte pour modifier le fichier /etc/nginx/nginx.conf. Ceci nécessite des autorisations racine Linux. En haut du fichier, ajoutez les lignes suivantes :

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Ajoutez ensuite ce qui suit à la TLS section du fichier :

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 20.04 LTS

    Utilisez un éditeur de texte pour modifier le fichier /etc/nginx/nginx.conf. Ceci nécessite des autorisations racine Linux. En haut du fichier, ajoutez les lignes suivantes :

    ssl_engine cloudhsm; env CLOUDHSM_PIN;

    Ajoutez ensuite ce qui suit à la TLS section du fichier :

    # Settings for a TLS enabled server. server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html; ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA"; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

    Enregistrez le fichier.

  8. Sauvegardez le fichier de configuration systemd, puis définissez le chemin d'accès à EnvironmentFile.

    Amazon Linux

    Aucune action requise.

    Amazon Linux 2
    1. Sauvegardez le fichier nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Ouvrez le fichier /lib/systemd/system/nginx.service dans un éditeur de texte, puis sous la section [Service], ajoutez le chemin d'accès suivant :

      EnvironmentFile=/etc/sysconfig/nginx
    CentOS 7

    Aucune action requise.

    CentOS 8
    1. Sauvegardez le fichier nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Ouvrez le fichier /lib/systemd/system/nginx.service dans un éditeur de texte, puis sous la section [Service], ajoutez le chemin d'accès suivant :

      EnvironmentFile=/etc/sysconfig/nginx
    Red Hat 7

    Aucune action requise.

    Red Hat 8
    1. Sauvegardez le fichier nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Ouvrez le fichier /lib/systemd/system/nginx.service dans un éditeur de texte, puis sous la section [Service], ajoutez le chemin d'accès suivant :

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 16.04
    1. Sauvegardez le fichier nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Ouvrez le fichier /lib/systemd/system/nginx.service dans un éditeur de texte, puis sous la section [Service], ajoutez le chemin d'accès suivant :

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 18.04
    1. Sauvegardez le fichier nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Ouvrez le fichier /lib/systemd/system/nginx.service dans un éditeur de texte, puis sous la section [Service], ajoutez le chemin d'accès suivant :

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 20.04 LTS
    1. Sauvegardez le fichier nginx.service.

      $ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
    2. Ouvrez le fichier /lib/systemd/system/nginx.service dans un éditeur de texte, puis sous la section [Service], ajoutez le chemin d'accès suivant :

      EnvironmentFile=/etc/sysconfig/nginx
    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  9. Vérifiez si le fichier /etc/sysconfig/nginx existe, puis effectuez l'une des actions suivantes :

    • Si le fichier existe, sauvegardez le fichier en exécutant la commande suivante :

      $ sudo cp /etc/sysconfig/nginx /etc/sysconfig/nginx.backup
    • Si le fichier n'existe pas, ouvrez un éditeur de texte et créez un fichier nommé nginx dans le dossier /etc/sysconfig/.

  10. Configurez NGINX l'environnement.

    Note

    Le client SDK 5 introduit la variable d'CLOUDHSM_PINenvironnement pour stocker les informations d'identification de la CU.

    Amazon Linux

    Ouvrez le fichier /etc/sysconfig/nginx dans un éditeur de texte. Ceci nécessite des autorisations racine Linux. Ajoutez les informations d'identification de l'utilisateur de chiffrement (CU) :

    • Si vous utilisez le client SDK 3

      n3fips_password=<CU user name>:<password>
    • Si vous utilisez le Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Enregistrez le fichier.

    Amazon Linux 2

    Ouvrez le fichier /etc/sysconfig/nginx dans un éditeur de texte. Ceci nécessite des autorisations racine Linux. Ajoutez les informations d'identification de l'utilisateur de chiffrement (CU) :

    • Si vous utilisez le client SDK 3

      n3fips_password=<CU user name>:<password>
    • Si vous utilisez le Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Enregistrez le fichier.

    CentOS 7

    Ouvrez le fichier /etc/sysconfig/nginx dans un éditeur de texte. Ceci nécessite des autorisations racine Linux. Ajoutez les informations d'identification de l'utilisateur de chiffrement (CU) :

    • Si vous utilisez le client SDK 3

      n3fips_password=<CU user name>:<password>
    • Si vous utilisez le Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Enregistrez le fichier.

    CentOS 8

    Ouvrez le fichier /etc/sysconfig/nginx dans un éditeur de texte. Ceci nécessite des autorisations racine Linux. Ajoutez les informations d'identification de l'utilisateur de chiffrement (CU) :

    CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Enregistrez le fichier.

    Red Hat 7

    Ouvrez le fichier /etc/sysconfig/nginx dans un éditeur de texte. Ceci nécessite des autorisations racine Linux. Ajoutez les informations d'identification de l'utilisateur de chiffrement (CU) :

    • Si vous utilisez le client SDK 3

      n3fips_password=<CU user name>:<password>
    • Si vous utilisez le Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Enregistrez le fichier.

    Red Hat 8

    Ouvrez le fichier /etc/sysconfig/nginx dans un éditeur de texte. Ceci nécessite des autorisations racine Linux. Ajoutez les informations d'identification de l'utilisateur de chiffrement (CU) :

    CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Enregistrez le fichier.

    Ubuntu 16.04 LTS

    Ouvrez le fichier /etc/sysconfig/nginx dans un éditeur de texte. Ceci nécessite des autorisations racine Linux. Ajoutez les informations d'identification de l'utilisateur de chiffrement (CU) :

    n3fips_password=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Enregistrez le fichier.

    Ubuntu 18.04 LTS

    Ouvrez le fichier /etc/sysconfig/nginx dans un éditeur de texte. Ceci nécessite des autorisations racine Linux. Ajoutez les informations d'identification de l'utilisateur de chiffrement (CU) :

    CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Enregistrez le fichier.

    Ubuntu 20.04 LTS

    Ouvrez le fichier /etc/sysconfig/nginx dans un éditeur de texte. Ceci nécessite des autorisations racine Linux. Ajoutez les informations d'identification de l'utilisateur de chiffrement (CU) :

    CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Enregistrez le fichier.

    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  11. Démarrez le serveur NGINX Web.

    Amazon Linux

    Ouvrez le fichier /etc/sysconfig/nginx dans un éditeur de texte. Ceci nécessite des autorisations racine Linux. Ajoutez les informations d'identification de l'utilisateur de chiffrement (CU) :

    $ sudo service nginx start
    Amazon Linux 2

    Arrêtez tout NGINX processus en cours

    $ sudo systemctl stop nginx

    Rechargez la configuration systemd pour récupérer les dernières modifications

    $ sudo systemctl daemon-reload

    Démarrez le NGINX processus

    $ sudo systemctl start nginx
    CentOS 7

    Arrêtez tout NGINX processus en cours

    $ sudo systemctl stop nginx

    Rechargez la configuration systemd pour récupérer les dernières modifications

    $ sudo systemctl daemon-reload

    Démarrez le NGINX processus

    $ sudo systemctl start nginx
    CentOS 8

    Arrêtez tout NGINX processus en cours

    $ sudo systemctl stop nginx

    Rechargez la configuration systemd pour récupérer les dernières modifications

    $ sudo systemctl daemon-reload

    Démarrez le NGINX processus

    $ sudo systemctl start nginx
    Red Hat 7

    Arrêtez tout NGINX processus en cours

    $ sudo systemctl stop nginx

    Rechargez la configuration systemd pour récupérer les dernières modifications

    $ sudo systemctl daemon-reload

    Démarrez le NGINX processus

    $ sudo systemctl start nginx
    Red Hat 8

    Arrêtez tout NGINX processus en cours

    $ sudo systemctl stop nginx

    Rechargez la configuration systemd pour récupérer les dernières modifications

    $ sudo systemctl daemon-reload

    Démarrez le NGINX processus

    $ sudo systemctl start nginx
    Ubuntu 16.04 LTS

    Arrêtez tout NGINX processus en cours

    $ sudo systemctl stop nginx

    Rechargez la configuration systemd pour récupérer les dernières modifications

    $ sudo systemctl daemon-reload

    Démarrez le NGINX processus

    $ sudo systemctl start nginx
    Ubuntu 18.04 LTS

    Arrêtez tout NGINX processus en cours

    $ sudo systemctl stop nginx

    Rechargez la configuration systemd pour récupérer les dernières modifications

    $ sudo systemctl daemon-reload

    Démarrez le NGINX processus

    $ sudo systemctl start nginx
    Ubuntu 20.04 LTS

    Arrêtez tout NGINX processus en cours

    $ sudo systemctl stop nginx

    Rechargez la configuration systemd pour récupérer les dernières modifications

    $ sudo systemctl daemon-reload

    Démarrez le NGINX processus

    $ sudo systemctl start nginx
    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  12. (Facultatif) Configurez votre plate-forme pour qu'elle démarre NGINX au démarrage.

    Amazon Linux
    $ sudo chkconfig nginx on
    Amazon Linux 2
    $ sudo systemctl enable nginx
    CentOS 7

    Aucune action requise.

    CentOS 8
    $ sudo systemctl enable nginx
    Red Hat 7

    Aucune action requise.

    Red Hat 8
    $ sudo systemctl enable nginx
    Ubuntu 16.04 LTS
    $ sudo systemctl enable nginx
    Ubuntu 18.04 LTS
    $ sudo systemctl enable nginx
    Ubuntu 20.04 LTS
    $ sudo systemctl enable nginx
    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

Après que vous avez mis à jour votre configuration de serveur web, accédez à Étape 4 : activer HTTPS le trafic et vérifier le certificat.

Configurer le serveur web Apache

Utilisez cette section pour configurer Apache sur les plateformes prises en charge.

Pour mettre à jour la configuration de serveur web pour Apache
  1. Connectez-vous à votre instance EC2 client Amazon.

  2. Définissez les emplacements par défaut pour les certificats et les clés privées de votre plateforme.

    Amazon Linux

    Dans le fichier /etc/httpd/conf.d/ssl.conf, assurez-vous que les valeurs suivantes existent :

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Amazon Linux 2

    Dans le fichier /etc/httpd/conf.d/ssl.conf, assurez-vous que les valeurs suivantes existent :

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    CentOS 7

    Dans le fichier /etc/httpd/conf.d/ssl.conf, assurez-vous que les valeurs suivantes existent :

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    CentOS 8

    Dans le fichier /etc/httpd/conf.d/ssl.conf, assurez-vous que les valeurs suivantes existent :

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Red Hat 7

    Dans le fichier /etc/httpd/conf.d/ssl.conf, assurez-vous que les valeurs suivantes existent :

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Red Hat 8

    Dans le fichier /etc/httpd/conf.d/ssl.conf, assurez-vous que les valeurs suivantes existent :

    SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    Ubuntu 16.04 LTS

    Dans le fichier /etc/apache2/sites-available/default-ssl.conf, assurez-vous que les valeurs suivantes existent :

    SSLCertificateFile /etc/ssl/certs/localhost.crt SSLCertificateKeyFile /etc/ssl/private/localhost.key
    Ubuntu 18.04 LTS

    Dans le fichier /etc/apache2/sites-available/default-ssl.conf, assurez-vous que les valeurs suivantes existent :

    SSLCertificateFile /etc/ssl/certs/localhost.crt SSLCertificateKeyFile /etc/ssl/private/localhost.key
    Ubuntu 20.04 LTS

    Dans le fichier /etc/apache2/sites-available/default-ssl.conf, assurez-vous que les valeurs suivantes existent :

    SSLCertificateFile /etc/ssl/certs/localhost.crt SSLCertificateKeyFile /etc/ssl/private/localhost.key
    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  3. Copiez le certificat de votre serveur Web à l'emplacement requis pour votre plateforme.

    Amazon Linux
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Remplacez <web_server.crt> avec le nom du certificat de votre serveur Web.

    Amazon Linux 2
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Remplacez <web_server.crt> avec le nom du certificat de votre serveur Web.

    CentOS 7
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Remplacez <web_server.crt> avec le nom du certificat de votre serveur Web.

    CentOS 8
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Remplacez <web_server.crt> avec le nom du certificat de votre serveur Web.

    Red Hat 7
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Remplacez <web_server.crt> avec le nom du certificat de votre serveur Web.

    Red Hat 8
    $ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

    Remplacez <web_server.crt> avec le nom du certificat de votre serveur Web.

    Ubuntu 16.04 LTS
    $ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt

    Remplacez <web_server.crt> avec le nom du certificat de votre serveur Web.

    Ubuntu 18.04 LTS
    $ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt

    Remplacez <web_server.crt> avec le nom du certificat de votre serveur Web.

    Ubuntu 20.04 LTS
    $ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt

    Remplacez <web_server.crt> avec le nom du certificat de votre serveur Web.

    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  4. Copiez votre fausse clé PEM privée à l'emplacement requis pour votre plateforme.

    Amazon Linux
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Remplacez <web_server_fake_PEM.key> avec le nom du fichier contenant votre fausse clé PEM privée.

    Amazon Linux 2
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Remplacez <web_server_fake_PEM.key> avec le nom du fichier contenant votre fausse clé PEM privée.

    CentOS 7
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Remplacez <web_server_fake_PEM.key> avec le nom du fichier contenant votre fausse clé PEM privée.

    CentOS 8
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Remplacez <web_server_fake_PEM.key> avec le nom du fichier contenant votre fausse clé PEM privée.

    Red Hat 7
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Remplacez <web_server_fake_PEM.key> avec le nom du fichier contenant votre fausse clé PEM privée.

    Red Hat 8
    $ sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

    Remplacez <web_server_fake_PEM.key> avec le nom du fichier contenant votre fausse clé PEM privée.

    Ubuntu 16.04 LTS
    $ sudo cp <web_server_fake_PEM.key> /etc/ssl/private/localhost.key

    Remplacez <web_server_fake_PEM.key> avec le nom du fichier contenant votre fausse clé PEM privée.

    Ubuntu 18.04 LTS
    $ sudo cp <web_server_fake_PEM.key> /etc/ssl/private/localhost.key

    Remplacez <web_server_fake_PEM.key> avec le nom du fichier contenant votre fausse clé PEM privée.

    Ubuntu 20.04 LTS
    $ sudo cp <web_server_fake_PEM.key> /etc/ssl/private/localhost.key

    Remplacez <web_server_fake_PEM.key> avec le nom du fichier contenant votre fausse clé PEM privée.

    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  5. Changez le propriétaire de ces fichiers si votre plateforme l'exige.

    Amazon Linux
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fournit une autorisation de lecture à l'utilisateur nommé Apache.

    Amazon Linux 2
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fournit une autorisation de lecture à l'utilisateur nommé Apache.

    CentOS 7
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fournit une autorisation de lecture à l'utilisateur nommé Apache.

    CentOS 8
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fournit une autorisation de lecture à l'utilisateur nommé Apache.

    Red Hat 7
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fournit une autorisation de lecture à l'utilisateur nommé Apache.

    Red Hat 8
    $ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

    Fournit une autorisation de lecture à l'utilisateur nommé Apache.

    Ubuntu 16.04 LTS

    Aucune action requise.

    Ubuntu 18.04 LTS

    Aucune action requise.

    Ubuntu 20.04 LTS

    Aucune action requise.

    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  6. Configurez les directives Apache pour votre plateforme.

    Amazon Linux

    Localisez le SSL fichier correspondant à cette plate-forme :

    /etc/httpd/conf.d/ssl.conf

    Ce fichier contient les directives Apache qui définissent le mode de fonctionnement de votre serveur. Les directives apparaissent sur la gauche, suivies d'une valeur. Utilisez un éditeur de texte pour modifier ce fichier. Ceci nécessite des autorisations racine Linux.

    Mettez à jour ou entrez les directives suivantes avec ces valeurs :

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    Enregistrez le fichier.

    Amazon Linux 2

    Localisez le SSL fichier correspondant à cette plate-forme :

    /etc/httpd/conf.d/ssl.conf

    Ce fichier contient les directives Apache qui définissent le mode de fonctionnement de votre serveur. Les directives apparaissent sur la gauche, suivies d'une valeur. Utilisez un éditeur de texte pour modifier ce fichier. Ceci nécessite des autorisations racine Linux.

    Mettez à jour ou entrez les directives suivantes avec ces valeurs :

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    Enregistrez le fichier.

    CentOS 7

    Localisez le SSL fichier correspondant à cette plate-forme :

    /etc/httpd/conf.d/ssl.conf

    Ce fichier contient les directives Apache qui définissent le mode de fonctionnement de votre serveur. Les directives apparaissent sur la gauche, suivies d'une valeur. Utilisez un éditeur de texte pour modifier ce fichier. Ceci nécessite des autorisations racine Linux.

    Mettez à jour ou entrez les directives suivantes avec ces valeurs :

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    Enregistrez le fichier.

    CentOS 8

    Localisez le SSL fichier correspondant à cette plate-forme :

    /etc/httpd/conf.d/ssl.conf

    Ce fichier contient les directives Apache qui définissent le mode de fonctionnement de votre serveur. Les directives apparaissent sur la gauche, suivies d'une valeur. Utilisez un éditeur de texte pour modifier ce fichier. Ceci nécessite des autorisations racine Linux.

    Mettez à jour ou entrez les directives suivantes avec ces valeurs :

    SSLCryptoDevice cloudhsm SSLProtocol TLSv1.2 TLSv1.3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProxyCipherSuite HIGH:!aNULL

    Enregistrez le fichier.

    Red Hat 7

    Localisez le SSL fichier correspondant à cette plate-forme :

    /etc/httpd/conf.d/ssl.conf

    Ce fichier contient les directives Apache qui définissent le mode de fonctionnement de votre serveur. Les directives apparaissent sur la gauche, suivies d'une valeur. Utilisez un éditeur de texte pour modifier ce fichier. Ceci nécessite des autorisations racine Linux.

    Mettez à jour ou entrez les directives suivantes avec ces valeurs :

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    Enregistrez le fichier.

    Red Hat 8

    Localisez le SSL fichier correspondant à cette plate-forme :

    /etc/httpd/conf.d/ssl.conf

    Ce fichier contient les directives Apache qui définissent le mode de fonctionnement de votre serveur. Les directives apparaissent sur la gauche, suivies d'une valeur. Utilisez un éditeur de texte pour modifier ce fichier. Ceci nécessite des autorisations racine Linux.

    Mettez à jour ou entrez les directives suivantes avec ces valeurs :

    SSLCryptoDevice cloudhsm SSLProtocol TLSv1.2 TLSv1.3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProxyCipherSuite HIGH:!aNULL

    Enregistrez le fichier.

    Ubuntu 16.04 LTS

    Localisez le SSL fichier correspondant à cette plate-forme :

    /etc/apache2/mods-available/ssl.conf

    Ce fichier contient les directives Apache qui définissent le mode de fonctionnement de votre serveur. Les directives apparaissent sur la gauche, suivies d'une valeur. Utilisez un éditeur de texte pour modifier ce fichier. Ceci nécessite des autorisations racine Linux.

    Mettez à jour ou entrez les directives suivantes avec ces valeurs :

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA

    Enregistrez le fichier.

    Activez le SSL module et la configuration SSL du site par défaut :

    $ sudo a2enmod ssl $ sudo a2ensite default-ssl
    Ubuntu 18.04 LTS

    Localisez le SSL fichier correspondant à cette plate-forme :

    /etc/apache2/mods-available/ssl.conf

    Ce fichier contient les directives Apache qui définissent le mode de fonctionnement de votre serveur. Les directives apparaissent sur la gauche, suivies d'une valeur. Utilisez un éditeur de texte pour modifier ce fichier. Ceci nécessite des autorisations racine Linux.

    Mettez à jour ou entrez les directives suivantes avec ces valeurs :

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProtocol TLSv1.2 TLSv1.3

    Enregistrez le fichier.

    Activez le SSL module et la configuration SSL du site par défaut :

    $ sudo a2enmod ssl $ sudo a2ensite default-ssl
    Ubuntu 20.04 LTS

    Localisez le SSL fichier correspondant à cette plate-forme :

    /etc/apache2/mods-available/ssl.conf

    Ce fichier contient les directives Apache qui définissent le mode de fonctionnement de votre serveur. Les directives apparaissent sur la gauche, suivies d'une valeur. Utilisez un éditeur de texte pour modifier ce fichier. Ceci nécessite des autorisations racine Linux.

    Mettez à jour ou entrez les directives suivantes avec ces valeurs :

    SSLCryptoDevice cloudhsm SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA SSLProtocol TLSv1.2 TLSv1.3

    Enregistrez le fichier.

    Activez le SSL module et la configuration SSL du site par défaut :

    $ sudo a2enmod ssl $ sudo a2ensite default-ssl
    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  7. Configurez un fichier de valeurs d'environnement pour votre plateforme.

    Amazon Linux

    Aucune action requise. Les valeurs environnementales vont dans /etc/sysconfig/httpd

    Amazon Linux 2

    Ouvrez le fichier de service httpd :

    /lib/systemd/system/httpd.service

    Ajoutez le code suivant dans la section [Service]  :

    EnvironmentFile=/etc/sysconfig/httpd
    CentOS 7

    Ouvrez le fichier de service httpd :

    /lib/systemd/system/httpd.service

    Ajoutez le code suivant dans la section [Service]  :

    EnvironmentFile=/etc/sysconfig/httpd
    CentOS 8

    Ouvrez le fichier de service httpd :

    /lib/systemd/system/httpd.service

    Ajoutez le code suivant dans la section [Service]  :

    EnvironmentFile=/etc/sysconfig/httpd
    Red Hat 7

    Ouvrez le fichier de service httpd :

    /lib/systemd/system/httpd.service

    Ajoutez le code suivant dans la section [Service]  :

    EnvironmentFile=/etc/sysconfig/httpd
    Red Hat 8

    Ouvrez le fichier de service httpd :

    /lib/systemd/system/httpd.service

    Ajoutez le code suivant dans la section [Service]  :

    EnvironmentFile=/etc/sysconfig/httpd
    Ubuntu 16.04 LTS

    Aucune action requise. Les valeurs environnementales vont dans /etc/sysconfig/httpd

    Ubuntu 18.04 LTS

    Aucune action requise. Les valeurs environnementales vont dans /etc/sysconfig/httpd

    Ubuntu 20.04 LTS

    Aucune action requise. Les valeurs environnementales vont dans /etc/sysconfig/httpd

    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  8. Dans le fichier qui stocke les variables d'environnement de votre plateforme, définissez une variable d'environnement contenant les informations d'identification de l'utilisateur de chiffrement (CU) :

    Amazon Linux

    Utilisez un éditeur de texte pour modifier le /etc/sysconfig/httpd.

    • Si vous utilisez le client SDK 3

      n3fips_password=<CU user name>:<password>
    • Si vous utilisez le Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Amazon Linux 2

    Utilisez un éditeur de texte pour modifier le /etc/sysconfig/httpd.

    • Si vous utilisez le client SDK 3

      n3fips_password=<CU user name>:<password>
    • Si vous utilisez le Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    CentOS 7

    Utilisez un éditeur de texte pour modifier le /etc/sysconfig/httpd.

    • Si vous utilisez le client SDK 3

      n3fips_password=<CU user name>:<password>
    • Si vous utilisez le Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    CentOS 8

    Utilisez un éditeur de texte pour modifier le /etc/sysconfig/httpd.

    CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Red Hat 7

    Utilisez un éditeur de texte pour modifier le /etc/sysconfig/httpd.

    • Si vous utilisez le client SDK 3

      n3fips_password=<CU user name>:<password>
    • Si vous utilisez le Client SDK 5

      CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Red Hat 8

    Utilisez un éditeur de texte pour modifier le /etc/sysconfig/httpd.

    CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Note

    Le client SDK 5 introduit la variable d'CLOUDHSM_PINenvironnement pour stocker les informations d'identification de la CU.

    Ubuntu 16.04 LTS

    Utilisez un éditeur de texte pour modifier le /etc/apache2/envvars.

    export n3fips_password=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Ubuntu 18.04 LTS

    Utilisez un éditeur de texte pour modifier le /etc/apache2/envvars.

    export CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Note

    Le client SDK 5 introduit la variable d'CLOUDHSM_PINenvironnement pour stocker les informations d'identification de la CU. Dans le Client SDK 3, vous avez enregistré les informations d'identification CU dans la variable d'n3fips_passwordenvironnement. Le client SDK 5 prend en charge les deux variables d'environnement, mais nous vous recommandons de les utiliserCLOUDHSM_PIN.

    Ubuntu 20.04 LTS

    Utilisez un éditeur de texte pour modifier le /etc/apache2/envvars.

    export CLOUDHSM_PIN=<CU user name>:<password>

    Remplacez <CU user name> and <password> avec les informations d'identification CU.

    Note

    Le client SDK 5 introduit la variable d'CLOUDHSM_PINenvironnement pour stocker les informations d'identification de la CU. Dans le Client SDK 3, vous avez enregistré les informations d'identification CU dans la variable d'n3fips_passwordenvironnement. Le client SDK 5 prend en charge les deux variables d'environnement, mais nous vous recommandons de les utiliserCLOUDHSM_PIN.

    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  9. Démarrez le serveur web Apache.

    Amazon Linux
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Amazon Linux 2
    $ sudo systemctl daemon-reload $ sudo service httpd start
    CentOS 7
    $ sudo systemctl daemon-reload $ sudo service httpd start
    CentOS 8
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Red Hat 7
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Red Hat 8
    $ sudo systemctl daemon-reload $ sudo service httpd start
    Ubuntu 16.04 LTS
    $ sudo service apache2 start
    Ubuntu 18.04 LTS
    $ sudo service apache2 start
    Ubuntu 20.04 LTS
    $ sudo service apache2 start
    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

  10. (Facultatif) Configurez votre plateforme pour démarrer Apache au démarrage.

    Amazon Linux
    $ sudo chkconfig httpd on
    Amazon Linux 2
    $ sudo chkconfig httpd on
    CentOS 7
    $ sudo chkconfig httpd on
    CentOS 8
    $ systemctl enable httpd
    Red Hat 7
    $ sudo chkconfig httpd on
    Red Hat 8
    $ systemctl enable httpd
    Ubuntu 16.04 LTS
    $ sudo systemctl enable apache2
    Ubuntu 18.04 LTS
    $ sudo systemctl enable apache2
    Ubuntu 20.04 LTS
    $ sudo systemctl enable apache2
    Ubuntu 22.04 LTS

    Support pour Open SSL Dynamic Engine n'est pas encore disponible.

Après que vous avez mis à jour votre configuration de serveur web, accédez à Étape 4 : activer HTTPS le trafic et vérifier le certificat.

Étape 4 : activer HTTPS le trafic et vérifier le certificat

Après avoir configuré votre serveur Web pour SSL TLS /offload with AWS CloudHSM, ajoutez votre instance de serveur Web à un groupe de sécurité qui autorise le trafic entrantHTTPS. Cela permet aux clients, tels que les navigateurs Web, d'établir une HTTPS connexion avec votre serveur Web. Établissez ensuite une HTTPS connexion à votre serveur Web et vérifiez qu'il utilise le certificat que vous avez configuré pourSSL/TLSoffload with AWS CloudHSM.

Activer les connexions entrantes HTTPS

Pour vous connecter à votre serveur Web à partir d'un client (tel qu'un navigateur Web), créez un groupe de sécurité qui autorise HTTPS les connexions entrantes. Plus précisément, il devrait autoriser les TCP connexions entrantes sur le port 443. Affectez ce groupe de sécurité à votre serveur web.

Pour créer un groupe de sécurité HTTPS et l'attribuer à votre serveur Web
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Choisissez Groupes de sécurité dans le panneau de navigation.

  3. Sélectionnez Create security group (Créer un groupe de sécurité).

  4. Pour Créer un groupe de sécurité, procédez comme suit :

    1. Pour Nom du groupe de sécurité, tapez un nom pour le groupe de sécurité que vous créez.

    2. (Facultatif) Tapez une description du groupe de sécurité que vous créez.

    3. Pour VPC, choisissez celui VPC qui contient l'EC2instance Amazon de votre serveur Web.

    4. Sélectionnez Ajouter une règle.

    5. Pour Type, HTTPSsélectionnez dans la fenêtre déroulante.

    6. Pour Source, entrez l'emplacement de la source.

    7. Sélectionnez Create security group (Créer un groupe de sécurité).

  5. Dans le panneau de navigation, choisissez Instances.

  6. Cochez la case située en regard de votre instance de serveur web.

  7. Choisissez le menu déroulant Actions en haut de la page. Sélectionnez Sécurité, puis Modifier les groupes de sécurité.

  8. Pour les groupes de sécurité associés, sélectionnez le champ de recherche et choisissez le groupe de sécurité pour lequel vous avez crééHTTPS. Ensuite, choisissez Ajouter des groupes de sécurité.

  9. Sélectionnez Save.

Vérifiez qu'il HTTPS utilise le certificat que vous avez configuré

Après avoir ajouté le serveur Web à un groupe de sécurité, vous pouvez vérifier queSSL/TLSoffload utilise votre certificat auto-signé. Vous pouvez le faire à l'aide d'un navigateur Web ou d'un outil tel que Open SSL s_client.

Pour SSL TLS vérifier/décharger avec un navigateur Web
  1. Utilisez un navigateur Web pour vous connecter à votre serveur Web en utilisant le DNS nom public ou l'adresse IP du serveur. Assurez-vous que le champ URL dans la barre d'adresse commence par https ://. Par exemple, https://ec2-52-14-212-67.us-east-2.compute.amazonaws.com/.

    Astuce

    Vous pouvez utiliser un DNS service tel qu'Amazon Route 53 pour acheminer le nom de domaine de votre site Web (par exemple, https://www.example.com/) vers votre serveur Web. Pour plus d'informations, consultez la section Router le trafic vers une EC2 instance Amazon dans le guide du développeur Amazon Route 53 ou dans la documentation de votre DNS service.

  2. Utilisez votre navigateur web pour afficher le certificat de serveur web. Pour plus d’informations, consultez les ressources suivantes :

    D'autres navigateurs web peuvent avoir des fonctions similaires que vous pouvez utiliser pour afficher le certificat de serveur web.

  3. Assurez-vous que le TLS certificatSSL/est celui que vous avez configuré pour utiliser sur votre serveur Web.

Pour SSL TLS vérifier/décharger avec Open s_client SSL
  1. Exécutez la SSL commande Open suivante pour vous connecter à votre serveur Web à l'aide deHTTPS. Remplacez <server name> avec le DNS nom public ou l'adresse IP de votre serveur Web.

    openssl s_client -connect <server name>:443
    Astuce

    Vous pouvez utiliser un DNS service tel qu'Amazon Route 53 pour acheminer le nom de domaine de votre site Web (par exemple, https://www.example.com/) vers votre serveur Web. Pour plus d'informations, consultez la section Router le trafic vers une EC2 instance Amazon dans le guide du développeur Amazon Route 53 ou dans la documentation de votre DNS service.

  2. Assurez-vous que le TLS certificatSSL/est celui que vous avez configuré pour utiliser sur votre serveur Web.

Vous disposez désormais d'un site Web sécurisé avecHTTPS. La clé privée du serveur Web est stockée HSM dans un AWS CloudHSM cluster.

Pour ajouter un équilibreur de charge, veuillez consulter Ajoutez un équilibreur de charge avec Elastic Load Balancing pour AWS CloudHSM(facultatif).