Nunca he hecho esto antes. Pero aquí hay algunos consejos sugerentes. Estos puntos NO son pasos concretos para que funcione. De la documentación para el nuevo AWS CloudHSM (no clásico) que ofrece:
- Configure CloudHSM y genere la clave privada usando la utilidad CLI.
- Instale y configure la biblioteca CloudHSM OpenSSL.
- Comprueba si el motor funciona
openssl engine -t cloudhsm
- Configurar Nginx. Desde Nginx 1.7.9, puede especificar un motor para las claves privadas
El motor de valores: nombre: id se puede especificar en lugar del archivo (1.7.9), que carga una clave secreta con una id especificada desde el nombre del motor OpenSSL.
Entonces, su configuración nginx se vería así:
ssl_certificate_key cloudhsm:<name>:<keyid>;
No estoy seguro de cuál sería el nombre o el ID de clave. Voy a leer un poco
y edita esta respuesta si encuentro algo.
Nota: también, según la documentación , es posible que tenga que configurar ssl_engine
to cloudhsm
si desea habilitar la aceleración SSL (haciendo el criptografía en el HSM).
ssl_engine cloudhsm;
- prueba.
¿Puedo preguntar por qué no querría descargar su SSL en los equilibradores de carga usando AWS ACM? Es la forma más fácil de hacerlo y es segura si confía en que AWS sea seguro.
edit: leí un poco y estoy más o menos seguro de que el Key Handle
en el lenguaje de CloudHSM, el identificador numérico de 6 dígitos, es el keyid
aquí. También creo que user name
es la parte name
. Entonces su configuración de Nginx podría ser:
# something that looks like:
ssl_certificate_key cloudhsm:AWSUser:568900;
edit2: la compilación de Nginx no es necesaria. Solo tenemos que asegurarnos de que el motor openssl sea cargable. Una vez configurado, esto es lo que parece cuando se verifica:
[root@ip-172-31-14-127 ~]# export n3fips_password=user_cu:Wzs8sukUp7FkVs4xQU
[root@ip-172-31-14-127 ~]# openssl engine -t cloudhsm
(cloudhsm) CloudHSM hardware engine support
SDK Version: 2.03
[ available ]
edit3: ¡Buenas noticias! Según esta publicación del foro , Amazon está trabajando en una mejor documentación para la integración de Nginx con CloudHSM .
edit4: AWS ha actualizado su documentación para incluir instrucciones para Apache y Nginx. ¡Parece que lo tengo un poco bien! ;) Entonces, aparentemente, descargas una "clave privada falsa" y la usas en tu configuración de Nginx. El resto de las instrucciones se mantienen bien.
Independientemente del método que elija, luego exporta una clave privada
manejar desde los HSM y guardarlo en un archivo. El archivo no contiene
la clave privada real. Contiene una referencia al mango de la
Clave privada que se almacena en los HSM. Los contenidos del archivo son conocidos.
como una falsa clave privada de formato PEM. Su software de servidor web utiliza la
archivo de clave privada falso en formato PEM, junto con el software AWS CloudHSM
biblioteca para OpenSSL, para descargar el procesamiento SSL o TLS a los HSM en
tu grupo
Documentación aquí: enlace
No he probado esto todavía. Publicaré una actualización una vez que lo haga.