O blog da AWS
Como habilitar um cluster do AWS CloudHSM na nuvem da AWS?
Por Omner Barajas, arquiteto de soluções especializado em segurança
O serviço AWS CloudHSM oferece Hardware Security Modules (HSM) na Nuvem AWS, que são dispositivos que processam operações criptográficas e fazem o armazenamento seguro de suas chaves criptográficas.
Algumas das tarefas que podem ser executadas ao usar um HSM no serviço AWS CloudHSM são:
- Gerar, armazenar, importar, exportar e gerenciar chaves criptográficas, incluindo chaves simétricas e pares de chaves assimétricas.
- Usar algoritmos simétricos e assimétricos para criptografar e descriptografar dados.
- Usar funções de hash criptográfico para calcular resumos e códigos de autenticação de mensagens baseados em hash (HMAC).
- Assinar dados criptograficamente (incluindo assinatura de código) e verificação de assinaturas.
- Gerar dados aleatórios criptograficamente seguros.
Neste post, mostrarei as etapas necessárias para criar um cluster de HSMs e fazer sua ativação, o que o deixará pronto para gerar usuários e chaves criptográficas.
Preparação da infraestrutura
A arquitetura a seguir será usada como base para criar um cluster de HSMs em sub-redes privadas. Da mesma forma, ele será usado para executar uma instância no serviço Amazon EC2 que servirá como cliente, para que possamos nos conectar ao cluster.
Criando um cluster
Um cluster HSM é umagrupamento de HSMs individuais. O AWS CloudHSM sincroniza os HSMs em cada cluster para funcionar como uma unidade lógica.
Para criar um cluster HSM usando o console de gerenciamento da AWS, execute as seguintes etapas:
1. Abra a página de serviço AWS CloudHSM, escolha Criar cluster (Create cluster).
2. Selecione as opções de configuração usando VPC e sub-redes privadas de acordo com a arquitetura exibida acima e clique em Avançar (Next). É necessário considerar que o serviço AWS CloudHSM pode não estar disponível em algumas Zonas de Disponibilidade (AZs) mesmo em uma região na qual o serviço é suportado.
3. Selecione o período de retenção de backups. Depois de terminar, clique em Avançar (Next).
4. Opcionalmente, é possível adicionar tags para identificar o cluster. Clique em Revisar (Review) quando terminar.
5. Um resumo das informações selecionadas aparecerá; é necessário revisá-las em detalhe, porque uma vez que o cluster é criado, não será possível alterar a VPC,fazer modificações nas sub-redes selecionadas ou adicionar novas sub-redes. Clique em Criar cluster (Create cluster).
Uma mensagem aparecerá indicando que o cluster está sendo criado e o estado em que ele se encontra. O cluster entrará em estado não inicializado (Uninitialized) quando o processo for concluído.
Ao criar um cluster, o AWS CloudHSM também cria um security group chamado CloudHSM-Cluster-ClusterID-SG. Esse security group contém uma regra TCP pré-configurada que permite comunicações de entrada e saída entre os membros deste security group nas portas 2223-2225. A regra permite que os HSMs no cluster se comuniquem entre si, portanto, não deve ser modificada.
Inicializando o cluster
Para inicializar o cluster do CloudHSM, você deve primeiro criar um HSM. Para isso, as seguintes etapas devem ser seguidas no console:
1. Selecione o cluster que acabou de ser criado nas etapas anteriores. Clique em Ações (Actions) e selecione a opção Inicializar (Initialize).
2. Selecione a sub-rede privada a ser usada e clique em Criar (Create).
O HSM será criado após alguns minutos.
3. A Solicitação de Assinatura de Certificado (CSR) deve ser baixada do cluster. Ela deve ser assinada posteriormente. Opcionalmente, podemos baixar os certificados do HSM que foram usados para gerar o CSR, o que possibilitará verificar sua autenticidade. Clique em Avançar (Next).
4. A CSR deve ser assinada utilizando o seguinte procedimento:
-
- Criar uma chave privada (key)
- Use a chave privada para criar um certificado auto assinado (CRT)
- Assine a CSR para o cluster (<cluster ID>_CustomerHSMCertificate.crt)
Os seguintes comandos devem ser considerados apenas para fins de demonstração e são recomendados para desenvolvimento e teste. Para um cluster de produção, a chave deve ser criada com segurança usando uma fonte de aleatoriedade confiável. Recomendamos que você use um HSM externo seguro que esteja offline ou equivalente e que armazene a chave com segurança.
5. Continue com a inicialização do cluster carregando os certificados que acabaram de ser gerados. Clique em Carregar e inicializar (Upload and initialize).
A inicialização do cluster levará alguns minutos.
Criando um cliente
Para gerenciar um cluster do AWS CloudHSM, você precisa se comunicar com os HSMs. A maneira mais fácil de fazer isso é usar uma instância do Amazon EC2 na mesma VPC que o cluster, embora as conexões possam ser feitas de outras VPCs usando peering, usando VPN ou links dedicados por meio do AWS Direct Connect.
É necessário executar uma instância do Amazon EC2 com regras específicas de security groups, permitindo a conectividade entre a instância e o cluster. Para configurar o software cliente, use as seguintes etapas:
1. Instale o cliente do AWS CloudHSM e as ferramentas de linha de comando.
2. Edite a configuração do cliente, usando o endereço IP do HSM disponível no console.
3. É necessário copiar o certificado gerado na seção anterior (CustomerCA.CRT) para o mesmo caminho que os arquivos de configuração.
Ativando o cluster
Quando um cluster do AWS CloudHSM é ativado, seu status mudará de inicializado para ativo. Para ativar o cluster, faça login no HSM com as credenciais do usuário responsável pela criptografia pré-configurado (PRECO), que é um usuário temporário que só existe no primeiro HSM de um cluster do AWS CloudHSM e possui um nome de usuário e senha padrão. Ao alterar a senha, o usuário PRECO se torna um usuário responsável por atividades de criptografia (Crypto Officer ou CO).
Depois de termos o cliente instalado e configurado de acordo com a seção anterior, prosseguimos com a ativação:
1. Estabeleça uma conexão com o HSM usando o seguinte comando. Se a conexão for bem-sucedida, uma mensagem semelhante à seguinte será exibida:
2. Faça login com o usuário PRECO e altere sua senha. Você pode confirmar que o tipo de usuário PRECO mudou para CO.
O cluster mudará para o estado Ativo após alguns minutos.
Limpeza do ambiente
Quando você terminar de usar os recursos criados, é aconselhável excluí-los para evitar cobranças adicionais. Para excluir o cluster, primeiro você deve excluir todos os HSMs que ele contém.
Um backup será criado automaticamente quando o HSM for excluído. O backup pode ser usado para gerar um novo cluster.
Opinião
Quando o processo de ativação estiver concluído, o cluster estará pronto para gerar dispositivos HSMs adicionais, usuários ou chaves criptográficas para seus aplicativos.
Para começar a gerar e usar chaves no novo cluster, um usuário deve ser criado usando as ferramentas de linha de comando. Com os usuários do HSM configurados, é possível fazer login, criar e usar chaves com qualquer uma das seguintes opções:
- Usar o utilitário de gerenciamento de chaves, uma ferramenta de linha de comando.
- Criar um aplicativo C usando a ferramenta Biblioteca PKCS #11.
- Criar um aplicativo Java usando o comando JCE Provider.
- Usar o mecanismo dinâmico OpenSSL diretamente da linha de comando.
- Usar o mecanismo dinâmico OpenSSL para baixar TLS com servidores web NGINX e Apache.
- Usar provedores GNC e KSP para usar o AWS CloudHSM como Autoridade de Certificação (CA) do Microsoft Windows Server.
- Usar provedores GNC e KSP para usar o AWS CloudHSM como uma ferramenta Microsoft Sign.
- Usar os provedores GNC e KSP para baixar o TLS com o servidor web do Internet Information Server (IIS).
Este artigo foi traduzido do Blog da AWS em Espanhol.
Sobre o autor
Omner Barajas é um arquiteto de soluções especialista em segurança na AWS México.
Sobre os revisores
Daniel Garcia é arquiteto de soluções especialista em segurança na AWS Brasil.
Javier Huerta é Senior Solutions Architect especializado em Well-Architected para a América Latina.
Explore mais conteúdos sobre Segurança na página de Sessions On Demand.Acesse > |