Descarga de SSL/TLS de AWS CloudHSM en Linux usando NGINX o Apache con OpenSSL
En este tema, se proporcionan instrucciones paso a paso para configurar la descarga de SSL/TLS con AWS CloudHSM en un servidor web de Linux.
Descripción general
En Linux, las aplicaciones de servidor web NGINX y Apache HTTP Server se integran con OpenSSL para admitir HTTPS. El motor dinámico de AWS CloudHSM para OpenSSL proporciona una interfaz que permite al software del servidor web utilizar los HSM de un clúster para las descargas criptográficas y el almacenamiento de claves. El motor de OpenSSL es el puente que conecta el servidor web con su clúster de AWS CloudHSM.
Para completar este tutorial, primero debe decidir si va a utilizar el software de servidor web NGINX o Apache en Linux. A continuación, el tutorial le enseña a realizar las tareas siguientes:
-
Instalar el software del servidor web en una instancia de Amazon EC2.
-
Configurar el software del servidor web para que sea compatible con HTTPS mediante el uso de una clave privada almacenada en su clúster de AWS CloudHSM.
-
(Opcional) Uso de Amazon EC2 para crear una segunda instancia de servidor web y Elastic Load Balancing para crear un equilibrador de carga. El uso de un equilibrador de carga puede mejorar el desempeño al distribuir la carga entre varios servidores. También puede proporcionar redundancia y una mayor disponibilidad si uno o más servidores funcionan mal.
Cuando esté listo para empezar, vaya al Paso 1: configurar los requisitos previos.
Paso 1: configurar los requisitos previos
Las diferentes plataformas requieren requisitos previos diferentes. Utilice la siguiente sección de requisitos previos que se ajuste a su plataforma.
Requisitos previos para el SDK 5 de cliente
Si desea configurar un servidor web para la descarga SSL/TLS con SDK 5 de cliente, necesita lo siguiente:
-
Un clúster de AWS CloudHSM activo con al menos dos módulos de seguridad de hardware (HSM)
-
Una instancia de Amazon EC2 que ejecute el sistema operativo Linux y tenga el siguiente software instalado:
-
Un usuario de criptografía (CU) que sea el propietario y administre la clave privada del servidor web en el HSM.
Para configurar una instancia de servidor web de Linux y crear un CU en el HSM
-
Instalar y configurar el motor dinámico de OpenSSL para AWS CloudHSM. Para obtener más información sobre la instalación del motor dinámico de OpenSSL, consulte Motor dinámico de OpenSSL para SDK 5 de cliente.
-
En una instancia Linux EC2 que tenga acceso a su clúster, instale el servidor web NGINX o Apache:
- Amazon Linux
-
- Amazon Linux 2
-
-
Para obtener información sobre cómo descargar la última versión de NGINX en Amazon Linux 2, consulte el sitio web de NGINX.
La última versión de NGINX disponible para Amazon Linux 2 utiliza una versión de OpenSSL más reciente que la versión de sistema de OpenSSL. Después de instalar NGINX, debe crear un enlace simbólico desde la biblioteca del motor dinámico de OpenSSL de AWS CloudHSM a la ubicación que esta versión de OpenSSL espera.
$ sudo ln -sf /opt/cloudhsm/lib/libcloudhsm_openssl_engine.so /usr/lib64/engines-1.1/cloudhsm.so
-
Apache
$ sudo yum install httpd mod_ssl
- Amazon Linux 2023
-
- CentOS 7
-
- Red Hat 7
-
-
Para obtener información sobre cómo descargar la última versión de NGINX en Red Hat 7, consulte el sitio web de NGINX.
La última versión de NGINX disponible para Red Hat 7 utiliza una versión de OpenSSL más reciente que la versión de sistema de OpenSSL. Después de instalar NGINX, debe crear un enlace simbólico desde la biblioteca del motor dinámico de OpenSSL de AWS CloudHSM a la ubicación que esta versión de OpenSSL espera.
$ 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
-
- Red Hat 8
-
- Ubuntu 18.04
-
- Ubuntu 20.04
-
- Ubuntu 22.04
-
- Ubuntu 24.04
-
-
Use la CLI de CloudHSM para crear un usuario de criptografía. Para obtener más información sobre la administración de los usuarios de HSM, consulte Administrar a los usuarios de HSM con la CLI de CloudHSM.
Realice un seguimiento del nombre de usuario y la contraseña del CU. Los necesitará más adelante cuando genere o importe el certificado y la clave privada de HTTPS para el servidor web.
Después de completar estos pasos, vaya a Paso 2: Generación de la clave privada y el certificado SSL/TLS.
Notas
-
Para usar Linux con seguridad mejorada (SELinux) y servidores web, debe permitir las conexiones TCP salientes en el puerto 2223, que es el puerto que el SDK 5 de cliente utiliza para comunicarse con el HSM.
-
Para crear y activar un clúster y permitir que una instancia EC2 acceda al clúster, complete los pasos que se indican en Introducción a AWS CloudHSM. La introducción ofrece instrucciones paso a paso para crear un clúster activo con un HSM y una instancia de cliente de Amazon EC2. Puede utilizar esta instancia de cliente como su servidor web.
-
Para evitar deshabilitar la durabilidad de la clave de cliente, agregue más de un HSM a su clúster. Para obtener más información, consulte Agregar un HSM a un clúster de AWS CloudHSM.
-
Para conectarse a su instancia de cliente, puede utilizar SSH o PuTTY. Para obtener más información, consulte Conectarse a la instancia de Linux mediante SSH o Conectarse a la instancia de Linux desde Windows mediante PuTTY en la documentación de Amazon EC2.
Paso 2: Generación de la clave privada y el certificado SSL/TLS
Para habilitar HTTPS, la aplicación del servidor web (NGINX o Apache) necesita una clave privada y un certificado SSL/TLS correspondiente. Si desea utilizar un servidor web para la descarga SSL/TLS con AWS CloudHSM, debe almacenar la clave privada en un HSM del clúster de AWS CloudHSM. Primero generará una clave privada y usará la clave para crear una solicitud de firma de certificado (CSR). Luego exporta una clave privada PEM falsa desde el HSM, que es un archivo de clave privada en formato PEM que contiene una referencia a la clave privada almacenada en el HSM (no es la clave privada real). El servidor web utiliza el archivo de clave privada PEM falso para identificar la clave privada en el HSM durante la descarga de SSL/TLS.
Generación de una clave privada y un certificado
Generación de una clave privada
Esta sección muestra cómo generar un par de claves con la CLI de CloudHSM. Una vez que tenga un par de claves generado dentro del HSM, puede exportarlo como un archivo PEM falso y generar el certificado correspondiente.
Instalación y configuración de la CLI de CloudHSM
-
Instale y configure la CLI de CloudHSM.
-
Use el siguiente comando para iniciar la CLI de CloudHSM.
$ /opt/cloudhsm/bin/cloudhsm-cli interactive
-
Ejecute el siguiente comando para iniciar sesión en el HSM. Reemplace <user name> por el nombre de usuario del usuario de criptografía
Command: login --username <user name> --role crypto-user
Generación una clave privada
Según su caso de uso, puede generar un par de claves RSA o EC. Realice una de las siguientes acciones:
-
Cómo generar una clave privada RSA en un HSM
Use el comando key generate-asymmetric-pair rsa para generar un par de claves RSA: Este ejemplo genera un par de claves RSA con un módulo de 2048, un exponente público de 65537, una etiqueta de clave pública tls_rsa_pub y una etiqueta de clave privada tls_rsa_private.
aws-cloudhsm > key generate-asymmetric-pair rsa \
--public-exponent 65537 \
--modulus-size-bits 2048 \
--public-label tls_rsa_pub \
--private-label tls_rsa_private
--private-attributes sign=true
{
"error_code": 0,
"data": {
"public_key": {
"key-reference": "0x0000000000280cc8",
"key-info": {
"key-owners": [
{
"username": "cu1",
"key-coverage": "full"
}
],
"shared-users": [],
"cluster-coverage": "full"
},
"attributes": {
"key-type": "rsa",
"label": "tls_rsa_pub",
"id": "",
"check-value": "0x01fe6e",
"class": "public-key",
"encrypt": true,
"decrypt": false,
"token": true,
"always-sensitive": false,
"derive": false,
"destroyable": true,
"extractable": true,
"local": true,
"modifiable": true,
"never-extractable": false,
"private": true,
"sensitive": false,
"sign": false,
"trusted": false,
"unwrap": false,
"verify": false,
"wrap": false,
"wrap-with-trusted": false,
"key-length-bytes": 512,
"public-exponent": "0x010001",
"modulus": "0xb1d27e857a876f4e9fd5de748a763c539b359f937eb4b4260e30d1435485a732c878cdad9c72538e2215351b1d41358c9bf80b599c
73a80fdb457aa7b20cd61e486c326e2cfd5e124a7f6a996437437812b542e3caf85928aa866f0298580f7967ee6aa01440297d7308fdd9b76b70d1b67f12634d
f6e6296d6c116d5744c6d60d14d3bf3cb978fe6b75ac67b7089bafd50d8687213b31abc7dc1bad422780d29c851d5102b56f932551eaf52a9591fd8c43d81ecc
133022653225bd129f8491101725e9ea33e1ded83fb57af35f847e532eb30cd7e726f23910d2671c6364092e834697ec3cef72cc23615a1ba7c5e100156ae0ac
ac3160f0ca9725d38318b7",
"modulus-size-bits": 2048
}
},
"private_key": {
"key-reference": "0x0000000000280cc7",
"key-info": {
"key-owners": [
{
"username": "cu1",
"key-coverage": "full"
}
],
"shared-users": [],
"cluster-coverage": "full"
},
"attributes": {
"key-type": "rsa",
"label": "tls_rsa_private",
"id": "",
"check-value": "0x01fe6e",
"class": "private-key",
"encrypt": false,
"decrypt": true,
"token": true,
"always-sensitive": true,
"derive": false,
"destroyable": true,
"extractable": true,
"local": true,
"modifiable": true,
"never-extractable": false,
"private": true,
"sensitive": true,
"sign": true,
"trusted": false,
"unwrap": false,
"verify": false,
"wrap": false,
"wrap-with-trusted": false,
"key-length-bytes": 1217,
"public-exponent": "0x010001",
"modulus": "0xb1d27e857a876f4e9fd5de748a763c539b359f937eb4b4260e30d1435485a732c878cdad9c72538e2215351b1d41358c9bf80b599c73a80fdb457aa7b20cd61e486c326e2cfd5e124a7f6a996437437812b542e3caf85928aa866f0298580f7967ee6aa01440297d7308fdd9b76b70d1b67f12634df6e6296d6c116d5744c6d60d14d3bf3cb978fe6b75ac67b7089bafd50d8687213b31abc7dc1bad422780d29c851d5102b56f932551eaf52a9591fd8c43d81ecc133022653225bd129f8491101725e9ea33e1ded83fb57af35f847e532eb30cd7e726f23910d2671c6364092e834697ec3cef72cc23615a1ba7c5e100156ae0acac3160f0ca9725d38318b7",
"modulus-size-bits": 2048
}
}
}
}
-
Cómo generar una clave privada EC en un HSM
Use el comando key generate-asymmetric-pair ec para generar un par de claves EC. Este ejemplo genera un par de claves EC con la curva prime256v1 (correspondiente a la curva NID_X9_62_prime256v1), una etiqueta de clave pública tls_ec_pub y una etiqueta de clave privada tls_ec_private.
aws-cloudhsm > key generate-asymmetric-pair ec \
--curve prime256v1 \
--public-label tls_ec_pub \
--private-label tls_ec_private
--private-attributes sign=true
{
"error_code": 0,
"data": {
"public_key": {
"key-reference": "0x000000000012000b",
"key-info": {
"key-owners": [
{
"username": "cu1",
"key-coverage": "full"
}
],
"shared-users": [],
"cluster-coverage": "session"
},
"attributes": {
"key-type": "ec",
"label": "tls_ec_pub",
"id": "",
"check-value": "0xd7c1a7",
"class": "public-key",
"encrypt": false,
"decrypt": false,
"token": false,
"always-sensitive": false,
"derive": false,
"destroyable": true,
"extractable": true,
"local": true,
"modifiable": true,
"never-extractable": false,
"private": true,
"sensitive": false,
"sign": false,
"trusted": false,
"unwrap": false,
"verify": false,
"wrap": false,
"wrap-with-trusted": false,
"key-length-bytes": 57,
"ec-point": "0x047096513df542250a6b228fd9cb67fd0c903abc93488467681974d6f371083fce1d79da8ad1e9ede745fb9f38ac8622a1b3ebe9270556000c",
"curve": "secp224r1"
}
},
"private_key": {
"key-reference": "0x000000000012000c",
"key-info": {
"key-owners": [
{
"username": "cu1",
"key-coverage": "full"
}
],
"shared-users": [],
"cluster-coverage": "session"
},
"attributes": {
"key-type": "ec",
"label": "tls_ec_private",
"id": "",
"check-value": "0xd7c1a7",
"class": "private-key",
"encrypt": false,
"decrypt": false,
"token": false,
"always-sensitive": true,
"derive": false,
"destroyable": true,
"extractable": true,
"local": true,
"modifiable": true,
"never-extractable": false,
"private": true,
"sensitive": true,
"sign": true,
"trusted": false,
"unwrap": false,
"verify": false,
"wrap": false,
"wrap-with-trusted": false,
"key-length-bytes": 122,
"ec-point": "0x047096513df542250a6b228fd9cb67fd0c903abc93488467681974d6f371083fce1d79da8ad1e9ede745fb9f38ac8622a1b3ebe9270556000c",
"curve": "secp224r1"
}
}
}
}
Exportación de un archivo de clave privada PEM falso
Una vez que tenga una clave privada en el HSM, debe exportar un archivo de clave privada PEM falso. Este archivo no contiene los datos de clave reales, pero permite que el motor dinámico de OpenSSL identifique la clave privada en el HSM. A continuación, puede utilizar la clave privada para crear una solicitud de firma de certificado (CSR) y firmar la CSR para crear el certificado.
Use el comando key generate-file para exportar la clave privada en formato PEM falso y guardarla en un archivo. Reemplace los valores siguientes por sus propios valores.
aws-cloudhsm > key generate-file --encoding reference-pem --path <web_server_fake_pem.key> --filter attr.label=<private_key_label>
{
"error_code": 0,
"data": {
"message": "Successfully generated key file"
}
}
Salir de la CLI de CloudHSM
Ejecute el siguiente comando para detener la CLI de CloudHSM.
aws-cloudhsm > quit
Ahora debería tener un nuevo archivo en el sistema, ubicado en la ruta especificada por <web_server_fake_pem.key> en el comando anterior. Este archivo es el archivo de clave privada PEM falso.
Generación de un certificado autofirmado
Una vez que haya generado una clave privada PEM falsa, puede usar este archivo para generar una solicitud de firma de certificado (CSR) y un certificado.
En un entorno de producción, normalmente se usa una entidad de certificación (CA) para crear un certificado de una CSR. No es necesaria una CA para un entorno de prueba. Si utiliza una CA, envíele el archivo CSR y utilice el certificado SSL/TLS firmado que le proporcione en su servidor web para HTTPS.
Como alternativa al uso de una CA, puede utilizar el motor dinámico de para OpenSSL de AWS CloudHSM para crear un certificado autofirmado. Los navegadores no confían en certificados autofirmados y no deben utilizarse en entornos de producción. Se pueden usar en entornos de prueba.
Los certificados autofirmados deben utilizarse únicamente en entornos de prueba. En entornos de producción, utilice un método más seguro como, por ejemplo, una autoridad de certificación para crear un certificado.
Generación de un certificado
-
Obtener una copia del archivo PEM falso generado en un paso anterior.
-
Creación de una CSR
Ejecute el siguiente comando si desea utilizar el motor dinámico de OpenSSL de AWS CloudHSM para crear una solicitud de firma de certificado (CSR). Reemplace <web_server_fake_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa. Reemplace <web_server.csr> por el nombre del archivo que contiene la CSR.
El comando req es interactivo. Responderá a cada campo. La información del campo se copia en su certificado SSL/TLS.
$ openssl req -engine cloudhsm -new -key <web_server_fake_pem.key> -out <web_server.csr>
-
Creación de un certificado autofirmado
Ejecute el comando siguiente para utilizar el motor dinámico de OpenSSL de AWS CloudHSM para firmar la CSR con la clave privada de su HSM. Esto creará un certificado autofirmado. Reemplace los siguientes valores en el comando por sus propios valores.
-
<web_server.csr>: nombre del archivo que contiene la CSR.
-
<web_server_fake_pem.key>: nombre del archivo que contiene la clave privada PEM falsa.
-
<web_server.crt>: nombre del archivo que contendrá su certificado de servidor web.
$ openssl x509 -engine cloudhsm -req -days 365 -in <web_server.csr> -signkey <web_server_fake_pem.key> -out <web_server.crt>
Después de completar estos pasos, vaya a Paso 3: configurar el servidor web.
Actualice la configuración de software del servidor web para utilizar el certificado HTTPS y la correspondiente clave privada PEM falsa que ha creado en el paso anterior. Recuerde hacer una copia de seguridad de sus certificados y claves existentes antes de empezar. De este modo, concluirá la configuración del software del servidor web de Linux para la descarga SSL/TLS con AWS CloudHSM.
Complete los pasos indicados en una de las siguientes secciones.
Configuración del servidor web NGINX
Use esta sección para configurar NGINX en las plataformas compatibles.
Para actualizar la configuración del servidor web para NGINX
-
Conéctese a su instancia de cliente.
-
Ejecute el siguiente comando para crear los directorios necesarios para el certificado del servidor web y la clave privada PEM falsa.
$ sudo mkdir -p /etc/pki/nginx/private
-
Ejecute el siguiente comando para copiar su certificado de servidor web en la ubicación necesaria. Sustituya <web_server.crt> por el nombre del certificado de servidor web.
$ sudo cp <web_server.crt> /etc/pki/nginx/server.crt
-
Ejecute el siguiente comando para copiar la clave privada PEM falsa en la ubicación necesaria. Reemplace <web_server_fake_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
$ sudo cp <web_server_example_pem.key> /etc/pki/nginx/private/server.key
-
Ejecute el siguiente comando para cambiar la propiedad de estos archivos para que el usuario denominado nginx pueda leerlos.
$ sudo chown nginx /etc/pki/nginx/server.crt /etc/pki/nginx/private/server.key
-
Ejecute el siguiente comando para hacer una copia de seguridad del archivo /etc/nginx/nginx.conf.
$ sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
-
Actualizar la configuración de NGINX
Cada clúster puede soportar un máximo de 1000 procesos de trabajo de NGINX en todos los servidores web de NGINX.
- Amazon Linux
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Agregue lo siguiente a la sección TLS del archivo:
# 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
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Agregue lo siguiente a la sección TLS del archivo:
# 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 2023
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Agregue lo siguiente a la sección TLS del archivo:
# 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
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Agregue lo siguiente a la sección TLS del archivo:
# 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
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Agregue lo siguiente a la sección TLS del archivo:
# 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
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Agregue lo siguiente a la sección TLS del archivo:
# 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
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Agregue lo siguiente a la sección TLS del archivo:
# 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
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env n3fips_password;
Agregue lo siguiente a la sección TLS del archivo:
# 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
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Agregue lo siguiente a la sección TLS del archivo:
# 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
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Agregue lo siguiente a la sección TLS del archivo:
# 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
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Agregue lo siguiente a la sección TLS del archivo:
# 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 24.04 LTS
-
Utilice un editor de texto para editar el archivo /etc/nginx/nginx.conf. Esto requiere permisos de raíz de Linux. En la parte superior del archivo, añada la siguiente línea:
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Agregue lo siguiente a la sección TLS del archivo:
# 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 {
}
}
Guarde el archivo.
-
Haga una copia de seguridad del archivo de configuración systemd y, a continuación, establezca la ruta de EnvironmentFile.
- Amazon Linux
-
No hay que hacer nada.
- Amazon Linux 2
-
-
Haga una copia de seguridad del archivo nginx.service.
$ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
-
Abra el archivo /lib/systemd/system/nginx.service en un editor de texto y, a continuación, en la sección [Service], añada la siguiente ruta:
EnvironmentFile=/etc/sysconfig/nginx
- Amazon Linux 2023
-
-
Haga una copia de seguridad del archivo nginx.service.
$ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
-
Abra /lib/systemd/system/nginx.service en un editor de texto. En la sección [Servicio], agregue:
EnvironmentFile=/etc/sysconfig/nginx
- CentOS 7
-
No hay que hacer nada.
- CentOS 8
-
-
Haga una copia de seguridad del archivo nginx.service.
$ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
-
Abra el archivo /lib/systemd/system/nginx.service en un editor de texto y, a continuación, en la sección [Service], añada la siguiente ruta:
EnvironmentFile=/etc/sysconfig/nginx
- Red Hat 7
-
No hay que hacer nada.
- Red Hat 8
-
-
Haga una copia de seguridad del archivo nginx.service.
$ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
-
Abra el archivo /lib/systemd/system/nginx.service en un editor de texto y, a continuación, en la sección [Service], añada la siguiente ruta:
EnvironmentFile=/etc/sysconfig/nginx
- Ubuntu 16.04
-
-
Haga una copia de seguridad del archivo nginx.service.
$ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
-
Abra el archivo /lib/systemd/system/nginx.service en un editor de texto y, a continuación, en la sección [Service], añada la siguiente ruta:
EnvironmentFile=/etc/sysconfig/nginx
- Ubuntu 18.04
-
-
Haga una copia de seguridad del archivo nginx.service.
$ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
-
Abra el archivo /lib/systemd/system/nginx.service en un editor de texto y, a continuación, en la sección [Service], añada la siguiente ruta:
EnvironmentFile=/etc/sysconfig/nginx
- Ubuntu 20.04 LTS
-
-
Haga una copia de seguridad del archivo nginx.service.
$ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
-
Abra el archivo /lib/systemd/system/nginx.service en un editor de texto y, a continuación, en la sección [Service], añada la siguiente ruta:
EnvironmentFile=/etc/sysconfig/nginx
- Ubuntu 22.04 LTS
-
-
Haga una copia de seguridad del archivo nginx.service.
$ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
-
Abra el archivo /lib/systemd/system/nginx.service en un editor de texto y, a continuación, en la sección [Service], añada la siguiente ruta:
EnvironmentFile=/etc/sysconfig/nginx
- Ubuntu 24.04 LTS
-
-
Haga una copia de seguridad del archivo nginx.service.
$ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
-
Abra el archivo /lib/systemd/system/nginx.service en un editor de texto y, a continuación, en la sección [Service], añada la siguiente ruta:
EnvironmentFile=/etc/sysconfig/nginx
-
Compruebe si existe el archivo /etc/sysconfig/nginx y, a continuación, realice una de las operaciones siguientes:
-
Si el archivo existe, haga una copia de seguridad del mismo ejecutando el siguiente comando:
$ sudo cp /etc/sysconfig/nginx /etc/sysconfig/nginx.backup
-
Si el archivo no existe, abra un editor de texto y, a continuación, cree un archivo denominado nginx en la carpeta /etc/sysconfig/.
-
Configure el entorno NGINX.
El SDK 5 de cliente introduce la variable de entorno CLOUDHSM_PIN para almacenar las credenciales del CU.
- Amazon Linux
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
- Amazon Linux 2
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
- Amazon Linux 2023
-
Como usuario raíz de Linux, abra el archivo /etc/sysconfig/nginx en un editor de texto. Por ejemplo:
sudo vi /etc/sysconfig/nginx
Añada las credenciales del usuario de criptografía (CU):
CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
- CentOS 7
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
- CentOS 8
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
- Red Hat 7
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
- Red Hat 8
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
- Ubuntu 16.04 LTS
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
n3fips_password=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
- Ubuntu 18.04 LTS
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
- Ubuntu 20.04 LTS
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
- Ubuntu 22.04 LTS
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
- Ubuntu 24.04 LTS
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
Guarde el archivo.
-
Inicie el servidor web NGINX.
- Amazon Linux
-
Abra el archivo /etc/sysconfig/nginx en un editor de texto. Esto requiere permisos de raíz de Linux. Añada las credenciales del usuario de criptografía (CU):
$ sudo service nginx start
- Amazon Linux 2
-
Detención de cualquier proceso de NGINX en ejecución
$ sudo systemctl stop nginx
Recarga de la configuración systemd para incluir los últimos cambios
$ sudo systemctl daemon-reload
Inicio del proceso de NGINX
$ sudo systemctl start nginx
- Amazon Linux 2023
-
Detenga todos los procesos de NGINX
$ sudo systemctl stop nginx
Recarga de la configuración systemd para incluir los últimos cambios
$ sudo systemctl daemon-reload
Inicie NGINX
$ sudo systemctl start nginx
- CentOS 7
-
Detención de cualquier proceso de NGINX en ejecución
$ sudo systemctl stop nginx
Recarga de la configuración systemd para incluir los últimos cambios
$ sudo systemctl daemon-reload
Inicio del proceso de NGINX
$ sudo systemctl start nginx
- CentOS 8
-
Detención de cualquier proceso de NGINX en ejecución
$ sudo systemctl stop nginx
Recarga de la configuración systemd para incluir los últimos cambios
$ sudo systemctl daemon-reload
Inicio del proceso de NGINX
$ sudo systemctl start nginx
- Red Hat 7
-
Detención de cualquier proceso de NGINX en ejecución
$ sudo systemctl stop nginx
Recarga de la configuración systemd para incluir los últimos cambios
$ sudo systemctl daemon-reload
Inicio del proceso de NGINX
$ sudo systemctl start nginx
- Red Hat 8
-
Detención de cualquier proceso de NGINX en ejecución
$ sudo systemctl stop nginx
Recarga de la configuración systemd para incluir los últimos cambios
$ sudo systemctl daemon-reload
Inicio del proceso de NGINX
$ sudo systemctl start nginx
- Ubuntu 16.04 LTS
-
Detención de cualquier proceso de NGINX en ejecución
$ sudo systemctl stop nginx
Recarga de la configuración systemd para incluir los últimos cambios
$ sudo systemctl daemon-reload
Inicio del proceso de NGINX
$ sudo systemctl start nginx
- Ubuntu 18.04 LTS
-
Detención de cualquier proceso de NGINX en ejecución
$ sudo systemctl stop nginx
Recarga de la configuración systemd para incluir los últimos cambios
$ sudo systemctl daemon-reload
Inicio del proceso de NGINX
$ sudo systemctl start nginx
- Ubuntu 20.04 LTS
-
Detención de cualquier proceso de NGINX en ejecución
$ sudo systemctl stop nginx
Recarga de la configuración systemd para incluir los últimos cambios
$ sudo systemctl daemon-reload
Inicio del proceso de NGINX
$ sudo systemctl start nginx
- Ubuntu 22.04 LTS
-
Detención de cualquier proceso de NGINX en ejecución
$ sudo systemctl stop nginx
Recarga de la configuración systemd para incluir los últimos cambios
$ sudo systemctl daemon-reload
Inicio del proceso de NGINX
$ sudo systemctl start nginx
- Ubuntu 24.04 LTS
-
Detención de cualquier proceso de NGINX en ejecución
$ sudo systemctl stop nginx
Recarga de la configuración systemd para incluir los últimos cambios
$ sudo systemctl daemon-reload
Inicio del proceso de NGINX
$ sudo systemctl start nginx
-
(Opcional) Configure su plataforma para iniciar NGINX en el arranque.
- Amazon Linux
-
$ sudo chkconfig nginx on
- Amazon Linux 2
-
$ sudo systemctl enable nginx
- Amazon Linux 2023
-
$ sudo systemctl enable nginx
- CentOS 7
-
No hay que hacer nada.
- CentOS 8
-
$ sudo systemctl enable nginx
- Red Hat 7
-
No hay que hacer nada.
- 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
-
$ sudo systemctl enable nginx
- Ubuntu 24.04 LTS
-
$ sudo systemctl enable nginx
Después de actualizar la configuración del servidor web, vaya a Paso 4: habilitar el tráfico HTTPS y verificar el certificado.
Configuración del servidor web Apache
Use esta sección para configurar Apache en las plataformas compatibles.
Para actualizar la configuración del servidor web para Apache
-
Conéctese a su instancia de cliente de Amazon EC2.
-
Defina las ubicaciones predeterminadas de los certificados y las claves privadas de su plataforma.
- Amazon Linux
-
En el archivo /etc/httpd/conf.d/ssl.conf, asegúrese de que existan estos valores:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
- Amazon Linux 2
-
En el archivo /etc/httpd/conf.d/ssl.conf, asegúrese de que existan estos valores:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
- Amazon Linux 2023
-
Abra el archivo /etc/httpd/conf.d/ssl.conf. Agregue estos valores si aún no existen:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
- CentOS 7
-
En el archivo /etc/httpd/conf.d/ssl.conf, asegúrese de que existan estos valores:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
- CentOS 8
-
En el archivo /etc/httpd/conf.d/ssl.conf, asegúrese de que existan estos valores:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
- Red Hat 7
-
En el archivo /etc/httpd/conf.d/ssl.conf, asegúrese de que existan estos valores:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
- Red Hat 8
-
En el archivo /etc/httpd/conf.d/ssl.conf, asegúrese de que existan estos valores:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
- Ubuntu 16.04 LTS
-
En el archivo /etc/apache2/sites-available/default-ssl.conf, asegúrese de que existan estos valores:
SSLCertificateFile /etc/ssl/certs/localhost.crt
SSLCertificateKeyFile /etc/ssl/private/localhost.key
- Ubuntu 18.04 LTS
-
En el archivo /etc/apache2/sites-available/default-ssl.conf, asegúrese de que existan estos valores:
SSLCertificateFile /etc/ssl/certs/localhost.crt
SSLCertificateKeyFile /etc/ssl/private/localhost.key
- Ubuntu 20.04 LTS
-
En el archivo /etc/apache2/sites-available/default-ssl.conf, asegúrese de que existan estos valores:
SSLCertificateFile /etc/ssl/certs/localhost.crt
SSLCertificateKeyFile /etc/ssl/private/localhost.key
- Ubuntu 22.04 LTS
-
En el archivo /etc/apache2/sites-available/default-ssl.conf, asegúrese de que existan estos valores:
SSLCertificateFile /etc/ssl/certs/localhost.crt
SSLCertificateKeyFile /etc/ssl/private/localhost.key
- Ubuntu 24.04 LTS
-
En el archivo /etc/apache2/sites-available/default-ssl.conf, asegúrese de que existan estos valores:
SSLCertificateFile /etc/ssl/certs/localhost.crt
SSLCertificateKeyFile /etc/ssl/private/localhost.key
-
Copie el certificado de su servidor web en la ubicación requerida según su plataforma.
- Amazon Linux
-
$ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
- Amazon Linux 2
-
$ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
- Amazon Linux 2023
-
$ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
- CentOS 7
-
$ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
- CentOS 8
-
$ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
- Red Hat 7
-
$ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
- Red Hat 8
-
$ sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
- Ubuntu 16.04 LTS
-
$ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
- Ubuntu 18.04 LTS
-
$ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
- Ubuntu 20.04 LTS
-
$ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
- Ubuntu 22.04 LTS
-
$ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
- Ubuntu 24.04 LTS
-
$ sudo cp <web_server.crt> /etc/ssl/certs/localhost.crt
Sustituya <web_server.crt> por el nombre del certificado de servidor web.
-
Copie su clave privada PEM falsa en la ubicación requerida según su plataforma.
- Amazon Linux
-
$ sudo cp <web_server_example_pem.key> /etc/pki/tls/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
- Amazon Linux 2
-
$ sudo cp <web_server_example_pem.key> /etc/pki/tls/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
- Amazon Linux 2023
-
$ sudo cp <web_server_example_pem.key> /etc/pki/tls/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
- CentOS 7
-
$ sudo cp <web_server_example_pem.key> /etc/pki/tls/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
- CentOS 8
-
$ sudo cp <web_server_example_pem.key> /etc/pki/tls/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
- Red Hat 7
-
$ sudo cp <web_server_example_pem.key> /etc/pki/tls/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
- Red Hat 8
-
$ sudo cp <web_server_example_pem.key> /etc/pki/tls/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
- Ubuntu 16.04 LTS
-
$ sudo cp <web_server_example_pem.key> /etc/ssl/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
- Ubuntu 18.04 LTS
-
$ sudo cp <web_server_example_pem.key> /etc/ssl/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
- Ubuntu 20.04 LTS
-
$ sudo cp <web_server_example_pem.key> /etc/ssl/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
- Ubuntu 22.04 LTS
-
$ sudo cp <web_server_example_pem.key> /etc/ssl/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
- Ubuntu 24.04 LTS
-
$ sudo cp <web_server_example_pem.key> /etc/ssl/private/localhost.key
Reemplace <web_server_example_pem.key> por el nombre del archivo que contiene la clave privada PEM falsa.
-
Cambie la propiedad de estos archivos si así lo requiere su plataforma.
- Amazon Linux
-
$ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key
Proporciona permisos de lectura al usuario apache.
- Amazon Linux 2
-
$ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key
Proporciona permisos de lectura al usuario apache.
- Amazon Linux 2023
-
$ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key
Proporciona permisos de lectura al usuario apache.
- CentOS 7
-
$ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key
Proporciona permisos de lectura al usuario apache.
- CentOS 8
-
$ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key
Proporciona permisos de lectura al usuario apache.
- Red Hat 7
-
$ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key
Proporciona permisos de lectura al usuario apache.
- Red Hat 8
-
$ sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key
Proporciona permisos de lectura al usuario apache.
- Ubuntu 16.04 LTS
-
No hay que hacer nada.
- Ubuntu 18.04 LTS
-
No hay que hacer nada.
- Ubuntu 20.04 LTS
-
No hay que hacer nada.
- Ubuntu 22.04 LTS
-
No hay que hacer nada.
- Ubuntu 24.04 LTS
-
No hay que hacer nada.
-
Configure las directivas de Apache para su plataforma.
- Amazon Linux
-
Localice el archivo SSL para esta plataforma:
/etc/httpd/conf.d/ssl.conf
Este archivo contiene las directivas de Apache que definen el funcionamiento del servidor. Las directivas se muestran a la izquierda, seguidas de un valor. Utilice un editor de texto para editar el archivo. Esto requiere permisos de raíz de Linux.
Actualice o introduzca las siguientes directivas con estos valores:
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
Guarde el archivo.
- Amazon Linux 2
-
Localice el archivo SSL para esta plataforma:
/etc/httpd/conf.d/ssl.conf
Este archivo contiene las directivas de Apache que definen el funcionamiento del servidor. Las directivas se muestran a la izquierda, seguidas de un valor. Utilice un editor de texto para editar el archivo. Esto requiere permisos de raíz de Linux.
Actualice o introduzca las siguientes directivas con estos valores:
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
Guarde el archivo.
- Amazon Linux 2023
-
Localice el archivo SSL para esta plataforma:
/etc/httpd/conf.d/ssl.conf
El archivo de configuración de Apache define el comportamiento del servidor. Edite este archivo con permisos de usuario raíz.
Actualice o agregue las siguientes directivas:
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
Guarde el archivo.
- CentOS 7
-
Localice el archivo SSL para esta plataforma:
/etc/httpd/conf.d/ssl.conf
Este archivo contiene las directivas de Apache que definen el funcionamiento del servidor. Las directivas se muestran a la izquierda, seguidas de un valor. Utilice un editor de texto para editar el archivo. Esto requiere permisos de raíz de Linux.
Actualice o introduzca las siguientes directivas con estos valores:
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
Guarde el archivo.
- CentOS 8
-
Localice el archivo SSL para esta plataforma:
/etc/httpd/conf.d/ssl.conf
Este archivo contiene las directivas de Apache que definen el funcionamiento del servidor. Las directivas se muestran a la izquierda, seguidas de un valor. Utilice un editor de texto para editar el archivo. Esto requiere permisos de raíz de Linux.
Actualice o introduzca las siguientes directivas con estos valores:
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
Guarde el archivo.
- Red Hat 7
-
Localice el archivo SSL para esta plataforma:
/etc/httpd/conf.d/ssl.conf
Este archivo contiene las directivas de Apache que definen el funcionamiento del servidor. Las directivas se muestran a la izquierda, seguidas de un valor. Utilice un editor de texto para editar el archivo. Esto requiere permisos de raíz de Linux.
Actualice o introduzca las siguientes directivas con estos valores:
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
Guarde el archivo.
- Red Hat 8
-
Localice el archivo SSL para esta plataforma:
/etc/httpd/conf.d/ssl.conf
Este archivo contiene las directivas de Apache que definen el funcionamiento del servidor. Las directivas se muestran a la izquierda, seguidas de un valor. Utilice un editor de texto para editar el archivo. Esto requiere permisos de raíz de Linux.
Actualice o introduzca las siguientes directivas con estos valores:
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
Guarde el archivo.
- Ubuntu 16.04 LTS
-
Localice el archivo SSL para esta plataforma:
/etc/apache2/mods-available/ssl.conf
Este archivo contiene las directivas de Apache que definen el funcionamiento del servidor. Las directivas se muestran a la izquierda, seguidas de un valor. Utilice un editor de texto para editar el archivo. Esto requiere permisos de raíz de Linux.
Actualice o introduzca las siguientes directivas con estos valores:
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
Guarde el archivo.
Habilite el módulo SSL y la configuración predeterminada del sitio SSL:
$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
- Ubuntu 18.04 LTS
-
Localice el archivo SSL para esta plataforma:
/etc/apache2/mods-available/ssl.conf
Este archivo contiene las directivas de Apache que definen el funcionamiento del servidor. Las directivas se muestran a la izquierda, seguidas de un valor. Utilice un editor de texto para editar el archivo. Esto requiere permisos de raíz de Linux.
Actualice o introduzca las siguientes directivas con estos valores:
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
Guarde el archivo.
Habilite el módulo SSL y la configuración predeterminada del sitio SSL:
$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
- Ubuntu 20.04 LTS
-
Localice el archivo SSL para esta plataforma:
/etc/apache2/mods-available/ssl.conf
Este archivo contiene las directivas de Apache que definen el funcionamiento del servidor. Las directivas se muestran a la izquierda, seguidas de un valor. Utilice un editor de texto para editar el archivo. Esto requiere permisos de raíz de Linux.
Actualice o introduzca las siguientes directivas con estos valores:
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
Guarde el archivo.
Habilite el módulo SSL y la configuración predeterminada del sitio SSL:
$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
- Ubuntu 22.04 LTS
-
Localice el archivo SSL para esta plataforma:
/etc/apache2/mods-available/ssl.conf
Este archivo contiene las directivas de Apache que definen el funcionamiento del servidor. Las directivas se muestran a la izquierda, seguidas de un valor. Utilice un editor de texto para editar el archivo. Esto requiere permisos de raíz de Linux.
Actualice o introduzca las siguientes directivas con estos valores:
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
Guarde el archivo.
Habilite el módulo SSL y la configuración predeterminada del sitio SSL:
$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
- Ubuntu 24.04 LTS
-
Localice el archivo SSL para esta plataforma:
/etc/apache2/mods-available/ssl.conf
Este archivo contiene las directivas de Apache que definen el funcionamiento del servidor. Las directivas se muestran a la izquierda, seguidas de un valor. Utilice un editor de texto para editar el archivo. Esto requiere permisos de raíz de Linux.
Actualice o introduzca las siguientes directivas con estos valores:
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
Guarde el archivo.
Habilite el módulo SSL y la configuración predeterminada del sitio SSL:
$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
-
Configure un archivo de valores de entorno para su plataforma.
- Amazon Linux
-
No hay que hacer nada. Los valores de entorno se introducen en /etc/sysconfig/httpd
- Amazon Linux 2
-
Abra el archivo de servicio httpd:
/lib/systemd/system/httpd.service
Añada lo siguiente a la sección [Service]:
EnvironmentFile=/etc/sysconfig/httpd
- Amazon Linux 2023
-
Abra . /lib/systemd/system/httpd.service
En la sección [Servicio], agregue:
EnvironmentFile=/etc/sysconfig/httpd
- CentOS 7
-
Abra el archivo de servicio httpd:
/lib/systemd/system/httpd.service
Añada lo siguiente a la sección [Service]:
EnvironmentFile=/etc/sysconfig/httpd
- CentOS 8
-
Abra el archivo de servicio httpd:
/lib/systemd/system/httpd.service
Añada lo siguiente a la sección [Service]:
EnvironmentFile=/etc/sysconfig/httpd
- Red Hat 7
-
Abra el archivo de servicio httpd:
/lib/systemd/system/httpd.service
Añada lo siguiente a la sección [Service]:
EnvironmentFile=/etc/sysconfig/httpd
- Red Hat 8
-
Abra el archivo de servicio httpd:
/lib/systemd/system/httpd.service
Añada lo siguiente a la sección [Service]:
EnvironmentFile=/etc/sysconfig/httpd
- Ubuntu 16.04 LTS
-
No hay que hacer nada. Los valores de entorno se introducen en /etc/sysconfig/httpd
- Ubuntu 18.04 LTS
-
No hay que hacer nada. Los valores de entorno se introducen en /etc/sysconfig/httpd
- Ubuntu 20.04 LTS
-
No hay que hacer nada. Los valores de entorno se introducen en /etc/sysconfig/httpd
- Ubuntu 22.04 LTS
-
No hay que hacer nada. Los valores de entorno se introducen en /etc/sysconfig/httpd
- Ubuntu 24.04 LTS
-
No hay que hacer nada. Los valores de entorno se introducen en /etc/sysconfig/httpd
-
En el archivo que almacena las variables de entorno de su plataforma, defina una variable de entorno que contenga las credenciales del usuario de criptografía (CU):
- Amazon Linux
-
Utilice un editor de texto para editar el /etc/sysconfig/httpd.
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
- Amazon Linux 2
-
Utilice un editor de texto para editar el /etc/sysconfig/httpd.
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
- Amazon Linux 2023
-
Abra /etc/sysconfig/httpd, agregue:
CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
- CentOS 7
-
Utilice un editor de texto para editar el /etc/sysconfig/httpd.
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
- CentOS 8
-
Utilice un editor de texto para editar el /etc/sysconfig/httpd.
CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
- Red Hat 7
-
Utilice un editor de texto para editar el /etc/sysconfig/httpd.
ssl_engine cloudhsm;
env CLOUDHSM_PIN;
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
- Red Hat 8
-
Utilice un editor de texto para editar el /etc/sysconfig/httpd.
CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
El SDK 5 de cliente introduce la variable de entorno CLOUDHSM_PIN para almacenar las credenciales del CU.
- Ubuntu 16.04 LTS
-
Utilice un editor de texto para editar el /etc/apache2/envvars.
export n3fips_password=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
- Ubuntu 18.04 LTS
-
Utilice un editor de texto para editar el /etc/apache2/envvars.
export CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
El SDK 5 de cliente introduce la variable de entorno CLOUDHSM_PIN para almacenar las credenciales del CU. SDK 3 de cliente introduce la variable de entorno n3fips_password para almacenar las credenciales de CU. El SDK 5 de cliente admite ambas variables de entorno, pero recomendamos utilizar CLOUDHSM_PIN.
- Ubuntu 20.04 LTS
-
Utilice un editor de texto para editar el /etc/apache2/envvars.
export CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
El SDK 5 de cliente introduce la variable de entorno CLOUDHSM_PIN para almacenar las credenciales del CU. SDK 3 de cliente introduce la variable de entorno n3fips_password para almacenar las credenciales de CU. El SDK 5 de cliente admite ambas variables de entorno, pero recomendamos utilizar CLOUDHSM_PIN.
- Ubuntu 22.04 LTS
-
Utilice un editor de texto para editar el /etc/apache2/envvars.
export CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
El SDK 5 de cliente introduce la variable de entorno CLOUDHSM_PIN para almacenar las credenciales del CU. SDK 3 de cliente introduce la variable de entorno n3fips_password para almacenar las credenciales de CU. El SDK 5 de cliente admite ambas variables de entorno, pero recomendamos utilizar CLOUDHSM_PIN.
- Ubuntu 24.04 LTS
-
Utilice un editor de texto para editar el /etc/apache2/envvars.
export CLOUDHSM_PIN=<CU user name>:<password>
Sustituya <CU user name> y <password> por las credenciales del usuario de criptografía.
El SDK 5 de cliente introduce la variable de entorno CLOUDHSM_PIN para almacenar las credenciales del CU. SDK 3 de cliente introduce la variable de entorno n3fips_password para almacenar las credenciales de CU. El SDK 5 de cliente admite ambas variables de entorno, pero recomendamos utilizar CLOUDHSM_PIN.
-
Inicie el servidor web Apache.
- Amazon Linux
-
$ sudo systemctl daemon-reload
$ sudo service httpd start
- Amazon Linux 2
-
$ sudo systemctl daemon-reload
$ sudo service httpd start
- Amazon Linux 2023
-
$ 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
-
$ sudo service apache2 start
- Ubuntu 24.04 LTS
-
$ sudo service apache2 start
-
(Opcional) Configure su plataforma para iniciar Apache en el arranque.
- Amazon Linux
-
$ sudo chkconfig httpd on
- Amazon Linux 2
-
$ sudo chkconfig httpd on
- Amazon Linux 2023
-
$ 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
-
$ sudo systemctl enable apache2
- Ubuntu 24.04 LTS
-
$ sudo systemctl enable apache2
Después de actualizar la configuración del servidor web, vaya a Paso 4: habilitar el tráfico HTTPS y verificar el certificado.
Paso 4: habilitar el tráfico HTTPS y verificar el certificado
Después de configurar el servidor web para la descarga de SSL/TLS con AWS CloudHSM, añada la instancia del servidor web a un grupo de seguridad que permita el tráfico HTTPS entrante. Esto permite a los clientes, como, por ejemplo, navegadores web, establecer una conexión HTTPS con su servidor web. A continuación, establezca una conexión HTTPS con su servidor web y compruebe que usa el certificado que configuró para la descarga de SSL/TLS con AWS CloudHSM.
Habilitación de las conexiones HTTPS entrantes
Para conectarse a su servidor web desde un cliente (como, por ejemplo, un navegador web), cree un grupo de seguridad que permita conexiones HTTPS entrantes. En concreto, debería permitir conexiones TCP entrantes en el puerto 443. Asigne este grupo de seguridad a su servidor web.
Para crear un grupo de seguridad para HTTPS y asignarlo a su servidor web
-
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.
-
Elija Security Groups en el panel de navegación.
-
Elija Creación de grupo de seguridad.
-
En Create Security Group (Crear grupo de seguridad), haga lo siguiente:
-
Para Security group name (Nombre del grupo de seguridad), escriba un nombre para el grupo de seguridad que está creando.
-
De manera opcional, escriba una descripción del grupo de seguridad que está creando.
-
Para VPC, elija la VPC que contiene la instancia de su servidor web Amazon EC2.
-
Seleccione Add Rule (Añadir regla).
-
Para tipo, seleccione HTTPS en la ventana desplegable.
-
Para Origen, introduzca una ubicación de origen.
-
Elija Creación de grupo de seguridad.
-
En el panel de navegación, seleccione Instances (Instancias).
-
Seleccione la casilla de verificación junto a la instancia del servidor web.
-
Seleccione las Acciones en el menú desplegable que se encuentra en la parte superior de la página. Seleccione Seguridad, a continuación, Cambiar grupos de seguridad.
-
Para Grupos de seguridad asociados, seleccione el cuadro de búsqueda y elija el grupo de seguridad que creó para HTTPS. A continuación, elija Añadir grupos de seguridad.
-
Seleccione Guardar.
Verificación del uso del certificado configurado por parte de HTTPS
Después de agregar el servidor web a un grupo de seguridad, puede verificar que la descarga de SSL/TLS utilice el certificado autofirmado. Puede hacerlo mediante un navegador web o con una herramienta como OpenSSL s_client.
Para verificar la descarga de SSL/TLS con un navegador web
-
Utilice un navegador web para conectarse a su servidor web mediante el nombre de DNS público o la dirección IP del servidor. Asegúrese de que la dirección URL en la barra de direcciones comienza con https://. Por ejemplo, https://ec2-52-14-212-67.us-east-2.compute.amazonaws.com/.
Puede utilizar un servicio DNS como, por ejemplo, Amazon Route 53, para dirigir el nombre de dominio de su sitio web (por ejemplo, https://www.ejemplo.com/) a su servidor web. Para obtener más información, consulte Direccionamiento del tráfico a una instancia de Amazon EC2 en la Guía para desarrolladores de Amazon Route 53 o en la documentación para su servicio DNS.
-
Utilice el navegador web para ver el certificado del servidor web. Para obtener más información, consulte los siguientes temas:
Otros navegadores web pueden tener características similares que puede utilizar para ver el certificado del servidor web.
-
Asegúrese de que el certificado SSL/TLS es el que ha configurado para que utilice el servidor web.
Para verificar la descarga de SSL/TLS con OpenSSL s_client
-
Ejecute el siguiente comando OpenSSL para conectarse a su servidor web a través de HTTPS. Sustituya <server name> por el nombre de DNS público o la dirección IP de su servidor web.
openssl s_client -connect <server name>:443
Puede utilizar un servicio DNS como, por ejemplo, Amazon Route 53, para dirigir el nombre de dominio de su sitio web (por ejemplo, https://www.ejemplo.com/) a su servidor web. Para obtener más información, consulte Direccionamiento del tráfico a una instancia de Amazon EC2 en la Guía para desarrolladores de Amazon Route 53 o en la documentación para su servicio DNS.
-
Asegúrese de que el certificado SSL/TLS es el que ha configurado para que utilice el servidor web.
Ahora tiene un sitio web que se protege con HTTPS. La clave privada del servidor web está almacenada en un HSM en su clúster de AWS CloudHSM.
Para agregar un equilibrador de carga, consulte Agregar un equilibrador de carga con Elastic Load Balancing para AWS CloudHSM (opcional).