Uso do SSL com uma instância de banco de dados do Microsoft SQL Server - Amazon Relational Database Service

Uso do SSL com uma instância de banco de dados do Microsoft SQL Server

Você pode usar a Secure Sockets Layer (SSL) para criptografar conexões entre seus aplicativos cliente e suas instâncias de banco de dados do Amazon RDS executando o Microsoft SQL Server. O suporte a SSL está disponível em todas as regiões da AWS para todas as edições compatíveis com o SQL Server.

Quando você cria uma instância de banco de dados do SQL Server, o Amazon RDS cria um certificado SSL para ela. O certificado SSL inclui o endpoint da instância de banco de dados como o nome comum (CN) do certificado SSL para se proteger contra ataques de falsificação.

Há 2 maneiras de usar o SSL para se conectar a sua instância de banco de dados do SQL Server:

  • Forçar o SSL para todas as conexões &endash; isso acontece de forma transparente para o cliente, e o cliente não precisa fazer nada para usar o SSL.

  • Criptografar conexões específicas &endash; isso configura uma conexão SSL a partir de um computador cliente específico e você deve trabalhar no cliente para criptografar as conexões.

Para obter informações sobre o suporte a Transport Layer Security (TLS) para SQL Server, consulte TLS 1.2 support for Microsoft SQL Server.

Forçar conexões à sua instância de banco de dados para usar o SSL

Você pode forçar todas as conexões à instância de banco de dados a usarem SSL. Se você forçar as conexões a usarem o SSL, isso acontece de forma transparente para o cliente, e o cliente não precisa fazer nada para usar o SSL.

Se você deseja forçar o SSL, use o parâmetro rds.force_ssl. Por padrão, o parâmetro rds.force_ssl é definido como 0 (off). Defina o rds.force_ssl parâmetro como 1 (on) para forçar as conexões a usarem o SSL. O parâmetro rds.force_ssl é estático, por isso, depois de alterar o valor, você deve reiniciar a instância do banco de dados para que a alteração entre em vigor.

Para forçar todas as conexões à instância de banco de dados a usarem SSL
  1. Determine o grupo de parâmetros a ser anexado à instância de banco de dados:

    1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

    2. No canto superior direito do console do Amazon RDS, escolha a região da AWS da instância de banco de dados.

    3. No painel de navegação, escolha Databases (Bancos de dados) e o nome da instância de banco de dados para mostrar os detalhes.

    4. Escolha a guia Configuration (Configuração). Encontre o Parameter group (Grupo de parâmetros) na seção.

  2. Se necessário, crie um novo parameter group. Se sua instância de banco de dados usa o parameter group padrão, você deve criar um novo parameter group. Se sua instância de banco de dados usa um parameter group diferente do padrão, você pode optar por editar o parameter group existente ou criar um novo parameter group. Se você editar um parameter group existente, a alteração afeta todas as instâncias de banco de dados que usam esse parameter group.

    Para criar um novo parameter group, siga as instruções em Criar um grupo de parâmetros de banco de dados no Amazon RDS.

  3. Edite seu parameter group novo ou existente para configurar o parâmetro rds.force_ssl como true. Para editar o parameter group, siga as instruções em Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS.

  4. Se você criou um novo parameter group, modifique sua instância de banco de dados para anexar o novo parameter group. Modifique a configuração DB Parameter Group (Parameter group de banco de dados) da instância de banco de dados. Para obter mais informações, consulte Modificar uma instância de banco de dados do Amazon RDS.

  5. Reinicialize sua instância de banco de dados. Para obter mais informações, consulte Reinicializar uma instância de banco de dados .

Criptografia de conexões específicas

É possível forçar todas as conexões de sua instância de banco de dados a usar o SSL, ou criptografar conexões somente de computadores cliente específicos. Para usar o SSL de um cliente específico, você deve obter certificados para o computador cliente, certificados de importação no computador cliente, e criptografar as conexões do computador cliente.

nota

Todas as instâncias do SQL Server criadas após 5 de agosto de 2014 usam o endpoint de instância de banco de dados no campo Common Name (CN) do certificado do SSL. Antes de 5 de agosto de 2014, a verificação de certificado do SSL não estava disponível para instâncias do SQL Server baseadas na VPC. Se você tiver uma instância de banco de dados do SQL Server baseada na VPC que foi criada antes de 5 de agosto de 2014, e você deseja usar a verificação de certificado do SSL e garantir que o endpoint da instância seja incluído como CN para o certificado do SSL dessa instância de banco de dados, então renomeie a instância. Quando você renomeia uma instância de banco de dados, um novo certificado é implantado e a instância é reiniciada para habilitar o novo certificado.

Obter certificados para computadores cliente

Para criptografar conexões de um computador cliente para uma instância de banco de dados do Amazon RDS executando o Microsoft SQL Server, você precisa de um certificado no seu computador cliente.

Para obter esse certificado, transfira o certificado para o seu computador cliente. Você pode baixar um certificado raiz que funciona para todas as regiões. Você também pode fazer dowload de um pacote de certificados que contém o certificado raiz antigo e o novo. Além disso, você pode baixar certificados intermediários específicos de região. Para obter mais informações sobre como fazer download de certificados, consulte Usar SSL/TLS para criptografar uma conexão com uma instância ou um cluster de banco de dados.

Após baixar o certificado apropriado, importe o certificado em seu sistema operacional Microsoft Windows seguindo o procedimento na seção a seguir.

Importar certificados em computadores cliente

Você pode usar o seguinte procedimento para importar o certificado para o sistema operacional Microsoft Windows no computador cliente.

Para importar o certificado no sistema operacional Windows:
  1. No menu Iniciar, digite Run na caixa de pesquisa e pressione Enter.

  2. Na caixa Abrir, digite MMC e escolha OK.

  3. No menu Arquivo do console do MMC, escolha Adicionar/remover snap-in.

  4. Na caixa de diálogo Adicionar ou remover snap-ins, para Snap-ins disponíveis, selecione Certificates e escolha Adicionar.

  5. Na caixa de diálogo Certificados de snap-in, selecione Conta de computador e, em seguida, Avançar.

  6. Na caixa de diálogo Selecionar computador, selecione Concluir.

  7. Na caixa de diálogo Adicionar ou remover snap-ins, selecione OK.

  8. No console do MMC, expanda Certificados, abra o menu contextual (clique com o botão direito) para Autoridades de certificação raiz confiáveis, escolha Todas as tarefas e selecione Importar.

  9. Na primeira página do Assistente para Importação de Certificados, escolha Avançar.

  10. Na segunda página do Assistente para Importação de Certificados, escolha Procurar. Na janela de navegação, altere o tipo de arquivo para Todos os arquivos (*.*) pois .pem não é uma extensão de certificado padrão. Encontre o arquivo .pem que você baixou anteriormente.

  11. Escolha Abrir para selecionar o arquivo de certificado, e depois escolha Avançar.

  12. Na terceira página do Assistente para Importação de Certificados, escolha Avançar.

  13. Na quarta página do Assistente para Importação de Certificados, escolha Concluir. É exibida uma caixa de diálogo indicando que a importação foi bem-sucedida.

  14. No console do MMC, expanda Certificados e depois Autoridades de certificação raiz confiáveis, e escolha Certificados. Localize o certificado para confirmar sua existência, conforme mostrado aqui.

    No console do MMC, no painel de navegação, a pasta Certificados é selecionada detalhadamente entre Raiz do Console, Certificados (Computador local) e Autoridade de certificação raiz confiável. Na página principal, selecione o certificado CA necessário.

Criptografar conexões a uma instância de banco de dados do Amazon RDS executando o Microsoft SQL Server

Após ter importado um certificado no computador cliente, você poderá criptografar conexões de um computador cliente para uma instância de banco de dados do Amazon RDS executando o Microsoft SQL Server.

Para o SQL Server Management Studio, use o procedimento a seguir. Para obter mais informações sobre o SQL Server Management Studio, consulte Usar o SQL Server Management Studio.

Para criptografar conexões do SQL Server Management Studio
  1. Inicie o SQL Server Management Studio.

  2. Em Connect to server, digite as informações de servidor, o nome de usuário e a senha de login.

  3. Escolha Options.

  4. Selecione Encrypt connection.

  5. Selecione Conectar.

  6. Confirme se a sua conexão está criptografada executando a seguinte consulta. Verifique se a consulta retorna true para encrypt_option.

    select ENCRYPT_OPTION from SYS.DM_EXEC_CONNECTIONS where SESSION_ID = @@SPID

Para qualquer outro cliente de SQL, use o procedimento a seguir.

Para criptografar conexões de outros clientes de SQL
  1. Adicione encrypt=true à sua string de conexão. Essa string pode estar disponível como uma opção ou como uma propriedade na página de conexão nas ferramentas de GUI.

    nota

    Para habilitar a criptografia SSL para clientes que se conectam usando o JDBC, talvez seja necessário adicionar o certificado de SQL do Amazon RDS para a loja de certificados de Java CA (cacerts). Você pode fazer isso usando o utilitário keytool.

  2. Confirme se a sua conexão está criptografada executando a seguinte consulta. Verifique se a consulta retorna true para encrypt_option.

    select ENCRYPT_OPTION from SYS.DM_EXEC_CONNECTIONS where SESSION_ID = @@SPID