Configuração mútua TLS entre cliente e AWS CloudHSM (recomendado) - AWS CloudHSM

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configuração mútua TLS entre cliente e AWS CloudHSM (recomendado)

Os tópicos a seguir descrevem as etapas que você deve concluir para habilitar a mútua TLS (mTLS) entre cliente AWS CloudHSM e. Atualmente, esse recurso está disponível exclusivamente no hsm2m.medium. Para obter mais informações sobre o HSM tipo, consulteAWS CloudHSM modos e HSM tipos de cluster.

Crie e registre uma âncora de confiança no HSM

Uma âncora de confiança deve ser criada e registrada no HSM antes de habilitar m. TLS Esse é um processo de duas etapas:

Crie uma chave privada e um certificado raiz autoassinado

nota

Para um cluster de produção, a chave deve ser criada com segurança usando uma fonte confiável de aleatoriedade. Recomendamos que você use um ambiente externo e offline seguro HSM ou equivalente. Armazene a chave com segurança.

Para desenvolvimento e teste, você pode usar qualquer ferramenta conveniente (como OpenSSL) para criar a chave e autoassinar um certificado raiz. Você precisará da chave e do certificado raiz para assinar o certificado do cliente no formulário enable m. TLS AWS CloudHSM

Os exemplos a seguir mostram como criar uma chave privada e um certificado raiz autoassinado com o Open SSL.

exemplo — Crie uma chave privada com o Open SSL

Use o comando a seguir para criar uma RSA chave de 4096 bits criptografada com o AES algoritmo -256. Para usar esse exemplo, substitua <mtls_ca_root_1.key> com o nome do arquivo em que você deseja armazenar a chave.

$ openssl genrsa -out <mtls_ca_root_1.key> -aes256 4096 Generating RSA private key, 4096 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for mtls_ca_root_1.key: Verifying - Enter pass phrase for mtls_ca_root_1.key:
exemplo — Crie um certificado raiz autoassinado com o Open SSL

Use o comando a seguir para criar um certificado raiz autoassinado com o nome mtls_ca_root_1.crt da chave privada que você acabou de criar. O certificado é válido por 25 anos (9130 dias). Leia as instruções na tela e siga os avisos.

$ openssl req -new -x509 -days 9130 -key mtls_ca_root_1.key -out mtls_ca_root_1.crt Enter pass phrase for mtls_ca_root_1.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:

Registre a âncora de confiança no HSM

Depois de criar um certificado raiz autoassinado, o administrador deve registrá-lo como âncora confiável no AWS CloudHSM cluster.

Para registrar uma âncora de confiança com o HSM
  1. Use o comando a seguir para iniciar o Cloud HSMCLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Usando o Cloud HSMCLI, faça login como administrador.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. Use o cluster mtls register-trust-anchor comando para registrar a âncora de confiança. Para obter mais informações, consulte o exemplo a seguir ou use o comando help cluster mtls register-trust-anchor.

exemplo — Registre uma âncora de confiança com o cluster AWS CloudHSM

O exemplo a seguir mostra como usar o cluster mtls register-trust-anchor comando no Cloud HSM CLI para registrar uma âncora de confiança noHSM. Para usar esse comando, o administrador deve estar logado no. HSM Substitua esses valores pelos seus próprios:

aws-cloudhsm > cluster mtls register-trust-anchor --path </path/mtls_ca_root_1.crt> { "error_code": 0, "data": { "trust_anchor": { "certificate-reference": "0x01", "certificate": "<PEM Encoded Certificate>", "cluster-coverage": "full" } } }
nota

AWS CloudHSM suporta o registro de certificados intermediários como âncora confiável. Nesses casos, todo o arquivo da cadeia PEM de certificados codificado precisa ser registrado noHSM, com os certificados em ordem hierárquica.

AWS CloudHSM suporta uma cadeia de certificados de comprimento 4 com chave de 2048 bits, cadeia de certificados de comprimento 3 com RSA chave de 3072 bits, cadeia de certificados de comprimento 3 com RSA chave de 4096 bits e cadeia de certificados de comprimento 6 com RSA chave EC.

Depois de registrar com sucesso a âncora de confiança, você pode executar o cluster mtls list-trust-anchors comando para verificar as âncoras de confiança registradas atuais, conforme mostrado abaixo:

aws-cloudhsm > cluster mtls list-trust-anchors { "error_code": 0, "data": { "trust_anchors": [ { "certificate-reference": "0x01", "certificate": "<PEM Encoded Certificate>", "cluster-coverage": "full" } ] } }
nota

O número máximo de âncoras de confiança que podem ser registradas em hsm2m.medium é dois (2).

Ativar meu TLS formulário AWS CloudHSM

Para habilitar o m TLS for AWS CloudHSM, você precisa criar uma chave privada e um certificado de cliente assinado pelo certificado raiz que geramos em Criar e registrar uma âncora confiável no e, em seguidaHSM, usar qualquer ferramenta de configuração do Cliente SDK 5 para configurar o caminho da chave privada e o caminho da cadeia de certificados do cliente.

Crie uma chave privada e uma cadeia de certificados de cliente

exemplo — Crie uma chave privada com o Open SSL

Use o comando a seguir para criar uma RSA chave de 4096 bits criptografada com o AES algoritmo -256. Para usar esse exemplo, substitua <ssl-client.key> com o nome do arquivo em que você deseja armazenar a chave.

$ openssl genrsa -out <ssl-client.key> -aes256 4096 Generating RSA private key, 4096 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for ssl-client.key: Verifying - Enter pass phrase for ssl-client.key:
exemplo — Gere uma solicitação de assinatura de certificado (CSR) com Open SSL

Use o comando a seguir para gerar uma solicitação de assinatura de certificado (CSR) a partir da chave privada que você acabou de criar. Leia as instruções na tela e siga os avisos.

$ openssl req -new -key <ssl-client.key> -out <ssl-client.csr> Enter pass phrase for ssl-client.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:
exemplo — Assine CSR com o certificado raiz

Use o comando a seguir para assinar CSR com o certificado raiz que criamos e registramos em Criar e registrar uma âncora confiável no HSM e criar um certificado de cliente chamadossl-client.crt. O certificado é válido por 5 anos (1826 dias).

$ openssl x509 -req -days 1826 -in <ssl-client.csr> -CA <mtls_ca_root_1.crt> -CAkey <mtls_ca_root_1.key> -CAcreateserial -out <ssl-client.crt>
exemplo — Crie uma cadeia de certificados de clientes

Use o comando a seguir para combinar o certificado do cliente e o certificado raiz que criamos e registramos em Criar e registrar uma âncora confiável no HSM e criar uma cadeia de certificados do cliente chamadassl-client.pem, que será usada para configurar na próxima etapa.

$ cat <ssl-client.crt> <mtls_ca_root_1.crt> > <ssl-client.pem>
nota

Se você registrou certificados intermediários em Criar e registrar uma âncora confiável no HSM como âncora confiável, certifique-se de combinar o certificado do cliente com toda a cadeia de certificados para criar uma cadeia de certificados do cliente.

Configurar m TLS para o Cliente SDK 5

Use qualquer uma das ferramentas de configuração do Client SDK 5 para habilitar o mútuo, TLS fornecendo o caminho correto da chave do cliente e o caminho da cadeia de certificados do cliente. Para obter mais informações sobre a ferramenta de configuração para o Cliente SDK 5, consulteFerramenta de configuração do Client SDK 5.

PKCS #11 library
Para usar um certificado e uma chave personalizados para TLS autenticação HSM mútua entre clientes com o Cliente SDK 5 no Linux
  1. Copie a chave e o certificado para o diretório apropriado.

    $ sudo cp ssl-client.pem /opt/cloudhsm/etc $ sudo cp ssl-client.key /opt/cloudhsm/etc
  2. Use a ferramenta de configuração para especificar ssl-client.pem e ssl-client.key.

    $ sudo /opt/cloudhsm/bin/configure-pkcs11 \ --client-cert-hsm-tls-file /opt/cloudhsm/etc/ssl-client.pem \ --client-key-hsm-tls-file /opt/cloudhsm/etc/ssl-client.key
Para usar um certificado e uma chave personalizados para TLS autenticação HSM mútua entre clientes com o Cliente SDK 5 no Windows
  1. Copie a chave e o certificado para o diretório apropriado.

    cp ssl-client.pem C:\ProgramData\Amazon\CloudHSM\ssl-client.pem cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
  2. Com um PowerShell intérprete, use a ferramenta de configuração para especificar ssl-client.pem e. ssl-client.key

    & "C:\Program Files\Amazon\CloudHSM\bin\configure-pkcs11.exe" ` --client-cert-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.pem ` --client-key-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.key
OpenSSL Dynamic Engine
Para usar um certificado e uma chave personalizados para TLS autenticação HSM mútua entre clientes com o Cliente SDK 5 no Linux
  1. Copie a chave e o certificado para o diretório apropriado.

    $ sudo cp ssl-client.pem /opt/cloudhsm/etc sudo cp ssl-client.key /opt/cloudhsm/etc
  2. Use a ferramenta de configuração para especificar ssl-client.pem e ssl-client.key.

    $ sudo /opt/cloudhsm/bin/configure-dyn \ --client-cert-hsm-tls-file /opt/cloudhsm/etc/ssl-client.pem \ --client-key-hsm-tls-file /opt/cloudhsm/etc/ssl-client.key
JCE provider
Para usar um certificado e uma chave personalizados para TLS autenticação HSM mútua entre clientes com o Cliente SDK 5 no Linux
  1. Copie a chave e o certificado para o diretório apropriado.

    $ sudo cp ssl-client.pem /opt/cloudhsm/etc sudo cp ssl-client.key /opt/cloudhsm/etc
  2. Use a ferramenta de configuração para especificar ssl-client.pem e ssl-client.key.

    $ sudo /opt/cloudhsm/bin/configure-jce \ --client-cert-hsm-tls-file /opt/cloudhsm/etc/ssl-client.pem \ --client-key-hsm-tls-file /opt/cloudhsm/etc/ssl-client.key
Para usar um certificado e uma chave personalizados para TLS autenticação HSM mútua entre clientes com o Cliente SDK 5 no Windows
  1. Copie a chave e o certificado para o diretório apropriado.

    cp ssl-client.pem C:\ProgramData\Amazon\CloudHSM\ssl-client.pem cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
  2. Com um PowerShell intérprete, use a ferramenta de configuração para especificar ssl-client.pem e. ssl-client.key

    & "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" ` --client-cert-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.pem ` --client-key-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.key
CloudHSM CLI
Para usar um certificado e uma chave personalizados para TLS autenticação HSM mútua entre clientes com o Cliente SDK 5 no Linux
  1. Copie a chave e o certificado para o diretório apropriado.

    $ sudo cp ssl-client.pem /opt/cloudhsm/etc sudo cp ssl-client.key /opt/cloudhsm/etc
  2. Use a ferramenta de configuração para especificar ssl-client.pem e ssl-client.key.

    $ sudo /opt/cloudhsm/bin/configure-cli \ --client-cert-hsm-tls-file /opt/cloudhsm/etc/ssl-client.pem \ --client-key-hsm-tls-file /opt/cloudhsm/etc/ssl-client.key
Para usar um certificado e uma chave personalizados para TLS autenticação HSM mútua entre clientes com o Cliente SDK 5 no Windows
  1. Copie a chave e o certificado para o diretório apropriado.

    cp ssl-client.pem C:\ProgramData\Amazon\CloudHSM\ssl-client.pem cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
  2. Com um PowerShell intérprete, use a ferramenta de configuração para especificar ssl-client.pem e. ssl-client.key

    & "C:\Program Files\Amazon\CloudHSM\bin\configure-cli.exe" ` --client-cert-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.pem ` --client-key-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.key

Defina o formulário de TLS imposição m AWS CloudHSM

Depois de configurar com qualquer uma das ferramentas de configuração, a conexão entre o cliente e o cliente AWS CloudHSM será mútua TLS no cluster. No entanto, remover o caminho da chave privada e o caminho da cadeia de certificados do cliente do arquivo de configuração transformará a conexão em normal TLS novamente. Você pode usar o Cloud HSM CLI para definir a imposição do mtls no cluster concluindo as seguintes etapas:

  1. Use o comando a seguir para iniciar o Cloud HSMCLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Usando o Cloud HSMCLI, faça login como administrador.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
    nota

    1. Verifique se você configurou a nuvem HSM CLI e inicie a nuvem HSM CLI em uma TLS conexão m.

    2. Você deve estar logado como usuário administrador padrão com nome de usuário como administrador antes de definir a TLS imposição..

  3. Use o implementação de conjuntos de mtls do cluster comando para definir a imposição. Para obter mais informações, consulte o exemplo a seguir ou use o comando help cluster mtls set-enforcement.

    exemplo — Defina minha TLS aplicação com um AWS CloudHSM cluster

    O exemplo a seguir mostra como usar o cluster mtls set-enforcement comando no Cloud HSM CLI para definir a TLS imposição m com HSM o. Para usar esse comando, o administrador com nome de usuário como administrador deve estar conectado aoHSM.

    aws-cloudhsm > cluster mtls set-enforcement --level cluster { "error_code": 0, "data": { "message": "Mtls enforcement level set to Cluster successfully" } }
    Atenção

    Depois de impor o TLS uso de m no cluster, todas as TLS conexões não-m existentes serão descartadas e você só poderá se conectar ao cluster com certificados m. TLS