Habilite conexões criptografadas para instâncias de SQL banco de dados Postgre na Amazon RDS - Recomendações da AWS

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á.

Habilite conexões criptografadas para instâncias de SQL banco de dados Postgre na Amazon RDS

Criado por Rohit Kapoor () AWS

Ambiente: PoC ou piloto

Tecnologias: bancos de dados; redes; segurança, identidade, conformidade

Workload: código aberto

AWSserviços: AmazonRDS; Amazon Aurora

Resumo

O Amazon Relational Database Service (RDSAmazon) SSL oferece suporte à criptografia para instâncias de banco de dados SQL Postgre. UsandoSSL, você pode criptografar uma SQL conexão Postgre entre seus aplicativos e suas instâncias de banco de dados Amazon RDS for PostgreSQL. Por padrão, o Amazon RDS for Postgre SQL usa SSL/TLS and expects all clients to connect by using SSL/TLS criptografia. O Amazon RDS for Postgre SQL oferece suporte às TLS versões 1.1 e 1.2.

Esse padrão descreve como você pode habilitar conexões criptografadas para uma SQL instância de banco de dados Amazon RDS for Postgre. Você pode usar o mesmo processo para habilitar conexões criptografadas para Amazon Aurora Postgre SQL -Compatible Edition.

Pré-requisitos e limitações

Arquitetura

Habilitando conexões criptografadas para instâncias de SQL banco de dados Postgre na Amazon RDS

Ferramentas

  • pgAdminé uma plataforma de administração e desenvolvimento de código aberto para o Postgre. SQL Você pode usar pgAdmin no Linux, Unix, macOS e Windows para gerenciar seus objetos de banco de dados no SQL Postgre 10 e versões posteriores.

  • SQLOs editores do Postgre fornecem uma interface mais amigável para ajudá-lo a criar, desenvolver e executar consultas e a editar o código de acordo com seus requisitos.

Práticas recomendadas

  • Monitore conexões de banco de dados não seguras.

  • Audite direitos de acesso ao banco de dados.

  • Garanta que os backups e os instantâneos sejam criptografados em repouso.

  • Monitore o acesso ao banco de dados.

  • Evite grupos de acesso irrestrito.

  • Melhore suas notificações com a Amazon GuardDuty.

  • Monitore a adesão à política regularmente.

Épicos

TarefaDescriçãoHabilidades necessárias

Carregue um certificado confiável no seu computador.

Para adicionar certificados ao armazenamento das Autoridades de Certificação Raiz Confiáveis do seu computador, siga estas etapas. (Essas instruções usam o Windows Server como exemplo.)

  1. No Windows Server, escolha Iniciar, Executar e digite mmc.

  2. No console, escolha Arquivo, Adicionar/remover snap-in.

  3. Em Snap-ins disponíveis, escolha Certificados e, em seguida, escolha Adicionar.

  4. Em Este snap-in sempre gerenciará certificados para, escolha Conta de computador, Avançar.

  5. Escolha Computador local, Concluir.

  6. Se você não tiver mais snap-ins para adicionar ao console, escolha OK.

  7. Na árvore do console, clique duas vezes em Certificados.

  8. Clique com o botão direito do mouse em Autoridades de certificação raiz confiáveis.

  9. Escolha Todas as tarefas, Importar para importar os certificados baixados.

  10. Siga as etapas no Assistente de importação de certificados.

DevOps engenheiro, engenheiro de migração, DBA
TarefaDescriçãoHabilidades necessárias

Crie um grupo de parâmetros e defina o parâmetro rds.force_ssl.

Se a SQL instância de banco de dados Postgre tiver um grupo de parâmetros personalizado, edite o grupo de parâmetros e altere rds.force_ssl para 1.

Se a instância de banco de dados usar o grupo de parâmetros padrão que não tem rds.force_ssl habilitado, crie um novo grupo de parâmetros. Você pode modificar o novo grupo de parâmetros usando a Amazon RDS API ou manualmente, conforme as instruções a seguir.

para criar um novo grupo de parâmetros:

  1. Faça login no console AWS de gerenciamento e abra o console da Amazon RDS para a AWS região que hospeda a instância de banco de dados.

  2. No painel de navegação, escolha Grupos de parâmetros.

  3. Escolha Criar grupo de parâmetros e defina os seguintes valores: 

    • Para Parameter group family (Família de grupos de parâmetros), escolha postgres14 ou superior.

    • Em Nome do grupo, digite pgsql-<database_instance>-ssl.

    • Em Descrição, insira uma descrição em formato livre para o grupo de parâmetros que você está adicionando.

    • Escolha Criar.

  4. Escolha o grupo de parâmetros que criou anteriormente.

  5. Em Parameter group actions (Ações do grupo de parâmetros), escolha Edit (Editar).

  6. Encontre rds.force_ssl e altere sua configuração para 1.

    Observação: realize testes do lado do cliente antes de alterar esse parâmetro.

  7. Escolha Salvar alterações.

Para associar o grupo de parâmetros à sua instância de SQL banco de dados Postgre:

  1. No RDS console da Amazon, no painel de navegação, escolha Bancos de dados e, em seguida, escolha a SQL instância de banco de dados Postgre.

  2. Escolha Modificar.

  3. Em Configuração adicional, escolha o novo grupo de parâmetros e, em seguida, escolha Continuar.

  4. Em Schedule modifications (Programar modificações), escolha Apply immediately (Aplicar imediatamente).

  5. Selecione Modify DB instance (Modificar instância de banco de dados).

Para obter mais informações, consulte a RDSdocumentação da Amazon.

DevOps engenheiro, engenheiro de migração, DBA

SSLConexões forçadas.

Conecte-se à instância de SQL banco RDS de dados Amazon for Postgre. As tentativas de conexão que não SSL são usadas são rejeitadas com uma mensagem de erro. Para obter mais informações, consulte a RDSdocumentação da Amazon.

DevOps engenheiro, engenheiro de migração, DBA
TarefaDescriçãoHabilidades necessárias

Instale a extensão SSL.

  1. Inicie um psql ou pgAdmin conexão como umDBA.

  2. Chame a função ssl_is_used () para determinar se está sendo usada. SSL

    select ssl_is_used();

    A função retorna t se a conexão estiver sendo usadaSSL; caso contrário, ela retornaráf.

  3. Instale a extensão SSL.

    create extension sslinfo; show ssl; select ssl_cipher();

Para obter mais informações, consulte a RDSdocumentação da Amazon.

DevOps engenheiro, engenheiro de migração, DBA
TarefaDescriçãoHabilidades necessárias

Configure um cliente paraSSL.

Ao usarSSL, você pode iniciar o SQL servidor Postgre com suporte para conexões criptografadas que usam TLS protocolos. O servidor escuta o padrão e as SSL conexões na mesma TCP porta e negocia com qualquer cliente de conexão se deve ser usado. SSL Por padrão, essa é uma opção cliente.

Se estiver usando o cliente psql:

  1. Certifique-se de que o RDS certificado da Amazon tenha sido carregado em seu computador local.

  2. Inicie uma conexão de SSL cliente adicionando o seguinte:

    psql postgres -h SOMEHOST.amazonaws.com -p 8192 -U someuser sslmode=verify-full sslrootcert=rds-ssl-ca-cert.pem select ssl_cipher();

Para outros SQL clientes do Postgre:

  • Modifique o respectivo parâmetro da chave pública do aplicativo. Isso pode estar disponível como uma opção, como parte de sua cadeia de conexão ou como uma propriedade na página de conexão em GUI ferramentas. 

Examine as páginas a seguir para esses clientes:

DevOps engenheiro, engenheiro de migração, DBA

Solução de problemas

ProblemaSolução

Não é possível baixar o SSL certificado.

Verifique sua conexão com o site e tente baixar novamente o certificado em seu computador local.

Recursos relacionados