Configurar o TLS mútuo entre o cliente e o 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á.

Configurar o TLS mútuo entre o cliente e o AWS CloudHSM (recomendado)

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

Etapa 1. Criar e registrar uma âncora de confiança no HSM

Uma âncora de confiança deve ser criada e registrada no HSM antes de ativar o mTLS. Este é um processo em duas etapas:

Criar 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 HSM fora do local e off-line ou o equivalente. Armazene a chave com segurança.

Durante a fase de desenvolvimento e teste, você pode usar qualquer ferramenta conveniente (como o 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 comando enable mTLS for AWS CloudHSM.

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

exemplo Crie uma chave privada com o OpenSSL

Use o comando a seguir para criar uma chave de RSA de 4096 bits criptografada com o algoritmo AES-256. Para usar esse exemplo, <mtls_ca_root_1.key> substitua pelo 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 – Criar um certificado raiz autoassinado com o OpenSSL

Use o comando a seguir para criar um certificado raiz autoassinado chamado 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 []:

Registrar 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 no HSM
  1. Use o comando a seguir para iniciar CloudHSM CLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Usando a CLI do CloudHSM, 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 comando Registrar uma âncora de confiança com a CLI do CloudHSM 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 comando cluster mtls register-trust-anchor na CLI do CloudHSM para registrar uma âncora de confiança no HSM. Para usar esse comando, o CO deve estar conectado 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 de certificados codificado pelo PEM precisa ser registrado no HSM, com os certificados em ordem hierárquica.

AWS CloudHSM suporta uma cadeia de certificados de 6980 bytes.

Depois de registrar com êxito a âncora de confiança, é possível executar o comando cluster mtls list-trust-anchors 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

No máximo 2 (duas) âncoras de confiança podem ser registradas em instâncias hsm2m.medium.

Etapa 2. Habilite o mTLS para AWS CloudHSM

Para habilitar o mTLS para 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 HSM e, em seguida, usar qualquer ferramenta de configuração do Client SDK 5 para configurar o caminho da chave privada e o caminho da cadeia de certificados do cliente.

Criar uma chave privada e uma cadeia de certificados de clientes

exemplo Crie uma chave privada com o OpenSSL

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

$ openssl genrsa -out <ssl-client.key> 4096 Generating RSA private key, 4096 bit long modulus .....................................+++ .+++ e is 65537 (0x10001)
exemplo – Gere uma Certificate Signing Request (CSR – Solicitação de assinatura de certificado).

Use o comando a seguir para gerar uma Certificate Signing Request (CSR – Solicitação de assinatura de certificado) com a 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> 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 – Assinar a CSR com o certificado raiz

Use o comando a seguir para assinar a CSR com o certificado raiz que criamos e registramos em Criar e registrar uma âncora de confiança no HSM e criar um certificado de cliente chamado ssl-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 – Criar uma cadeia de certificado de cliente

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 de confiança no HSM e criar uma cadeia de certificados do cliente chamada ssl-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 de confiança no HSM como âncora de confiança, combine o certificado do cliente com toda a cadeia de certificados para criar uma cadeia de certificados do cliente.

Configurar mTLS para Client SDK 5

Use qualquer ferramenta de configuração do Client SDK 5 para habilitar o TLS mútuo 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 Client SDK 5, consulte AWS CloudHSM Ferramenta de configuração do Client SDK 5.

PKCS #11 library
Para usar um certificado e uma chave personalizados para autenticação mútua cliente TLS e HSM com o Client 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 autenticação mútua cliente TLS e HSM com o Client 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 autenticação mútua cliente TLS e HSM com o Client 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
Key Storage Provider (KSP)
Para usar um certificado e uma chave personalizados para autenticação mútua cliente TLS e HSM com o Client 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-ksp.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
JCE provider
Para usar um certificado e uma chave personalizados para autenticação mútua cliente TLS e HSM com o Client 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 autenticação mútua cliente TLS e HSM com o Client 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 autenticação mútua cliente TLS e HSM com o Client 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 autenticação mútua cliente TLS e HSM com o Client 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

Etapa 3. Definir a imposição do mTLS para AWS CloudHSM

Depois de configurar com qualquer uma das ferramentas de configuração do Client SDK 5, a conexão entre o cliente e o cliente AWS CloudHSM será TLS mútuo 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 TLS normal novamente. É possível usar a CLI do CloudHSM para definir a imposição de mTLS no cluster concluindo as seguintes etapas:

  1. Use o comando a seguir para iniciar CloudHSM CLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Usando a CLI do CloudHSM, 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 CLI do CloudHSM e inicie-a em uma conexão mTLS.

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

  3. Use o comando Definir o nível de imposição do mTLS com a CLI do CloudHSM 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 a aplicação do mTLS com cluster AWS CloudHSM

    O exemplo a seguir mostra como usar o comando cluster mtls set-enforcement na CLI do CloudHSM a fim de definir a imposição de mTLS com o HSM. Para usar esse comando, o administrador com nome de usuário admin deve estar conectado no HSM.

    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 uso de mTLS no cluster, todas as conexões não MTLS existentes serão descartadas e a conexão com o cluster será possível apenas com certificados mTLS.