5.5. Nginx에서 개인 키를 보호하는 HSM 사용

Nginx HTTP 서버는 HSM(하드웨어 보안 모듈)에 저장된 개인 키로 작동할 수 있으므로 키 공개 및 중간자 공격을 방지하는 데 도움이 됩니다. 이 경우 일반적으로 사용 중인 서버에는 고성능 HSM이 필요합니다.

Nginx는 암호화 작업에도 OpenSSL을 사용하므로 PKCS #11에 대한 지원은 openssl-pkcs11 엔진을 통과해야 합니다. Nginx는 현재 HSM에서 개인 키 로드만 지원하며 인증서는 일반 파일로 별도로 제공해야 합니다. /etc/nginx/nginx.conf 구성 파일의 server 섹션에서 ssl_certificatessl_certificate_key 옵션을 수정합니다.

ssl_certificate     /path/to/cert.pem
ssl_certificate_key "engine:pkcs11:pkcs11:token=softhsm;id=%01;type=private?pin-value=111111";

Nginx 구성 파일의 PKCS #11 URI에는 engine:pkcs11: 접두사가 필요합니다. 이는 다른 pkcs11 접두사가 엔진 이름을 참조하기 때문입니다.