Usar a autenticação de quórum para administradores: configuração inicial - 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á.

Usar a autenticação de quórum para administradores: configuração inicial

Os tópicos a seguir descrevem as etapas que você deve concluir para configurar seu módulo de segurança de hardware (HSM) para que os administradores possam usar a autenticação de quorum. Você precisa realizar essas etapas apenas uma vez ao configurar inicialmente a autenticação de quorum para administradores. Depois de concluir essas etapas, consulte Usar a autenticação de quórum para administradores.

Pré-requisitos

Para entender esse exemplo, você deve estar familiarizado com a nuvem HSM CLI. Neste exemplo, o AWS CloudHSM cluster tem doisHSMs, cada um com os mesmos administradores, conforme mostrado na saída a seguir do user list comando. Para obter mais informações sobre como criar usuários, consulte Uso da CLI do CloudHSM.

aws-cloudhsm>user list { "error_code": 0, "data": { "users": [ { "username": "admin", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin2", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin3", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "admin4", "role": "admin", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" }, { "username": "app_user", "role": "internal(APPLIANCE_USER)", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" } ] } }

Criar e registrar uma chave para assinatura

Para usar a autenticação de quórum, cada administrador deve concluir todas as etapas a seguir:

Crie um RSA key pair

Existem muitas maneiras diferentes de criar e proteger um par de chaves. Os exemplos a seguir mostram como fazer isso com o Open SSL.

exemplo — Crie uma chave privada com o Open SSL

O exemplo a seguir demonstra como usar o Open SSL para criar uma RSA chave de 2048 bits protegida por uma frase secreta. Para usar esse exemplo, substitua <admin.key> com o nome do arquivo em que você deseja armazenar a chave.

$ openssl genrsa -out <admin.key> -aes256 2048 Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for admin.key: Verifying - Enter pass phrase for admin.key:

Em seguida, gere a chave pública usando a chave privada que você acabou de criar.

exemplo — Crie uma chave pública com Open SSL

O exemplo a seguir demonstra como usar o Open SSL para criar uma chave pública a partir da chave privada que você acabou de criar.

$ openssl rsa -in admin.key -outform PEM -pubout -out admin1.pub Enter pass phrase for admin.key: writing RSA key

Crie e assine um token de registro

Você cria um token e o assina com a chave privada que acabou de gerar na etapa anterior.

exemplo Crie um token de registro
  1. Use o comando a seguir para iniciar a nuvem HSMCLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Crie um token de registro executando o comando quorum token-sign generate:

    aws-cloudhsm > quorum token-sign generate --service registration --token /path/tokenfile { "error_code": 0, "data": { "path": "/path/tokenfile" } }
  3. O comando quorum token-sign generate gera um token de registro no caminho de arquivo especificado. Inspecione o arquivo de token:

    $ cat /path/tokenfile{ "version": "2.0", "tokens": [ { "approval_data": <approval data in base64 encoding>, "unsigned": <unsigned token in base64 encoding>, "signed": "" } ] }

    O caminho do arquivo consiste no seguinte:

    • approval_data: um token de dados aleatório codificado em base64 cujos dados brutos não excedem o máximo de 245 bytes.

    • unsigned: um token codificado em base64 e com SHA256 hash do approval_data.

    • assinado: um token assinado codificado em base64 (assinatura) do token não assinado, usando a chave privada de RSA 2048 bits gerada anteriormente com o Open. SSL

    Você assina o token não assinado com a chave privada para demonstrar que tem acesso à chave privada. Você precisará do arquivo de token de registro totalmente preenchido com uma assinatura e a chave pública para registrar o administrador como usuário de quórum no cluster. AWS CloudHSM

exemplo Assine o token de registro não assinado
  1. Decodifique o token não assinado codificado em base64 e coloque-o em um arquivo binário:

    $ echo -n '6BMUj6mUjjko6ZLCEdzGlWpR5sILhFJfqhW1ej3Oq1g=' | base64 -d > admin.bin
  2. Use Open SSL e a chave privada para assinar o token de registro agora binário não assinado e criar um arquivo de assinatura binária:

    $ openssl pkeyutl -sign \ -inkey admin.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in admin.bin \ -out admin.sig.bin
  3. Codifique a assinatura binária em base64:

    $ base64 -w0 admin.sig.bin > admin.sig.b64
  4. Copie e cole a assinatura codificada em base64 no arquivo de token:

    { "version": "2.0", "tokens": [ { "approval_data": <approval data in base64 encoding>, "unsigned": <unsigned token in base64 encoding>, "signed": <signed token in base64 encoding> } ] }

Registre a chave pública com o HSM

Depois de criar uma chave, o administrador deve registrar a chave pública no AWS CloudHSM cluster.

Para registrar uma chave pública 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 comando user change-quorum token-sign register para registrar a chave pública. Para obter mais informações, consulte o exemplo a seguir ou use o comando help user change-quorum token-sign register.

exemplo — Registrar uma chave pública com o AWS CloudHSM cluster

O exemplo a seguir mostra como usar o user change-quorum token-sign register comando no Cloud HSM CLI para registrar uma chave pública de administrador com o. HSM Para usar esse comando, o administrador deve estar logado no. HSM Substitua esses valores pelos seus próprios:

aws-cloudhsm > user change-quorum token-sign register --public-key </path/admin.pub> --signed-token </path/tokenfile> { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
nota

/path/admin.pub: o caminho do arquivo de chave pública PEM

Obrigatório: Sim

/path/tokenfile: o caminho do arquivo com token assinado pela chave privada do usuário

Obrigatório: Sim

Depois que todos os administradores registrarem suas chaves públicas, a saída do comando user list mostra essa informação no campo de quórum, informando a estratégia de quórum ativada em uso, conforme mostrado abaixo:

aws-cloudhsm > user list { "error_code": 0, "data": { "users": [ { "username": "admin", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin2", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin3", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin4", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "app_user", "role": "internal(APPLIANCE_USER)", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" } ] } }

Defina o valor mínimo do quórum no HSM

Para usar a autenticação de quórum, um administrador deve fazer login no HSM e definir o valor mínimo do quórum. Esse é o número mínimo de aprovações administrativas necessárias para realizar operações de gerenciamento de HSM usuários. Qualquer administrador do HSM pode definir o valor mínimo do quórum, incluindo administradores que não registraram uma chave para assinatura. Você pode alterar o valor mínimo de quorum a qualquer momento. Para obter mais informações, consulte Altere o valor mínimo.

Para definir o valor mínimo do quórum no 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 comando sinal simbólico de quórum set-quorum-value para definir o valor mínimo do quorum. Para obter mais informações, consulte o exemplo a seguir ou use o comando help quorum token-sign set-quorum-value.

exemplo — Defina o valor mínimo do quorum no HSM

Este exemplo usa um valor mínimo de quorum de dois (2). Você pode escolher qualquer valor de dois (2) a oito (8), até o número total de administradores no. HSM Neste exemplo, o HSM tem quatro (4) administradores, então o valor máximo possível é quatro (4).

Para usar o comando de exemplo a seguir, substitua o número final (<2>) com o valor mínimo de quórum preferido.

aws-cloudhsm > quorum token-sign set-quorum-value --service user --value <2> { "error_code": 0, "data": "Set quorum value successful" }

Neste exemplo, o serviço identifica o HSM serviço cujo valor mínimo de quorum você está definindo. O sinal simbólico de quórum list-quorum-values comando lista os tipos, nomes e descrições do HSM serviço que estão incluídos no serviço.

Serviços administrativos: a autenticação de quórum é usada para serviços com privilégios administrativos, como criar usuários, excluir usuários, alterar senhas de usuários, definir valores de quórum e desativar quórum e recursos. MFA

Cada tipo de serviço é subdividido em um nome de serviço qualificado, que contém um conjunto específico de operações de serviço suportadas por quórum que podem ser executadas.

Nome do serviço Tipo de serviço Operações de serviço
usuário Administrador
  • criar usuário

  • excluir usuário

  • alterar senha de usuário

  • user change-mfa

quorum Administrador
  • sinal simbólico de quórum set-quorum-value

cluster 1 Administrador
  • cluster mtls register-trust-anchor

  • cluster mtls deregister-trust-anchor

  • implementação de conjuntos de mtls do cluster

[1] O serviço de cluster está disponível exclusivamente em hsm2m.medium

Use o comando quorum token-sign list-quorum-values para obter o valor mínimo de quorum para um serviço:

aws-cloudhsm > quorum token-sign list-quorum-values { "error_code": 0, "data": { "user": 2, "quorum": 1 } }

A saída do quorum token-sign list-quorum-values comando anterior mostra que o valor mínimo do quorum para o serviço ao HSM usuário, responsável pelas operações de gerenciamento de usuários, agora é dois (2). Depois de concluir essas etapas, consulte Usar quórum (M de N).