Criptografia de dados transparente para grupos de disponibilidade Always On do SQL Server

Criptografia de dados transparente para grupos de disponibilidade Always On do SQL Server

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Neste 15º artigo da série SQL Server Always On Availability Groups, abordaremos a criptografia transparente de dados (TDE) para bancos de dados AG.

Introdução

Nos artigos anteriores da série SQL Server Always On, exploramos os tópicos a seguir até agora.

  • Construir servidores virtuais usando Oracle VirtualBox
  • Configuramos o controlador de domínio, o diretório ativo e o serviço de nome de domínio (DNS)
  • Grupos de disponibilidade implantados do SQL Server 2019
  • AG independente de domínio no Windows Server 2016
  • Configuramos grupos de disponibilidade distribuída para o grupo de disponibilidade em clusters independentes

Suponha que, em requisitos específicos, você queira proteger dados confidenciais para fins de conformidade e segurança. SQL Server fornece Criptografia de dados transparente (TDE) para criptografar os arquivos físicos. Neste artigo, exploraremos a TDE para um grupo de disponibilidade Always On do SQL Server.

Visão geral da criptografia transparente de dados (TDE)

O objetivo da implementação da TDE é proteger os dados e arquivos de log de um banco de dados SQL. Suponha que você tenha dados confidenciais de clientes em seu banco de dados. Alguém pode copiar seus arquivos de banco de dados e acessar facilmente informações críticas. Este processo de criptografia não requer nenhuma alteração do final do aplicativo. Ele criptografa os arquivos no nível da página antes de gravar a página no disco. Ele descriptografa os arquivos quando um usuário tenta acessar uma página. Depois de implementar a TDE, não podemos restaurar ou anexar um banco de dados sem um certificado e chave apropriados.

As etapas de alto nível para uma TDE são as seguintes.

Leia Também  Aprimorando a análise de dados com as hierarquias de dimensão do SSAS

Criptografia de dados transparente (TDE)

A TDE não é direta para um banco de dados de grupo de disponibilidade. Na próxima seção, exploraremos as etapas em um Grupo de Disponibilidade Always On do SQL Server de dois nós.

Pré-requisitos

Prepare réplicas de grupo de disponibilidade de dois nós no modo síncrono. Neste artigo, tenho os seguintes servidores.

  • Réplica primária atual: SQLAG1 INST1
  • Réplica secundária: SQLAG2 INST2
  • Status de sincronização: Sincronizado
  • Modo de failover: Automático
  • Banco de dados AG: DBARepository

Painel AG

Etapas para habilitar TDE para grupos de disponibilidade Always On do SQL Server

Vamos explorar as etapas de TDE para o banco de dados do grupo de disponibilidade. Não temos criptografia de dados transparente habilitada em nenhuma das réplicas até agora. O banco de dados [DBARepository] faz parte do grupo de disponibilidade e é necessário habilitar a TDE nele.

A figura a seguir destaca as etapas necessárias para habilitar a TDE em um banco de dados de grupo de disponibilidade.

Etapas gerais para habilitar TDE

Etapa 1: Database Master Key (DMK) na réplica primária

Exigimos uma chave mestra de banco de dados (DMK) na réplica primária para proteger certificados e chaves. Exigimos um DML na instância SQL. Todos os bancos de dados do usuário compartilham o mesmo DMK para criptografias.

Primeiro, você pode verificar se sua instância já tem uma chave mestra de banco de dados. Já criamos um DML para o grupo de disponibilidade distribuída no artigo anterior.

Chave mestre de banco de dados (DMK) na réplica primária

  • Você deve usar senhas complexas para criar uma chave mestra
  • Se a chave mestra do banco de dados já estiver disponível para sua instância SQL, mas você não souber a senha dela, sua conta de serviço SQL com a permissão SA pode descriptografar a chave
  • Você pode criar o DML em todas as instâncias AG com diferentes senhas

Etapa 2: Criar o certificado para o banco de dados AG na réplica primária

Nesta etapa, criamos um certificado para criptografar a chave de criptografia do banco de dados. A chave mestra criada na etapa 1 protege o certificado.

Crie o certificado

Podemos consultar o sys.certificates objeto do sistema para verificar se o certificado existe para nossa instância SQL.

Verifique o certificado

Etapa 3: crie uma chave de criptografia de banco de dados e use o certificado para protegê-la

Nesta etapa, criamos uma chave de criptografia de banco de dados (DEK) para habilitar a TDE. Em nosso caso, o banco de dados DBARepository já faz parte do grupo de disponibilidade e queremos habilitar a TDE nele.

A chave mestra do banco de dados (DEK) é a chave real para a criptografia e descriptografia do banco de dados. O certificado do servidor o protege.

Leia Também  Como descobrir de quem as consultas estão usando mais CPU

Execute o script no contexto do banco de dados AG e especifique o nome do certificado no parâmetro
CRIPTOGRAFIA POR Certificado de Servidor argumento. Na saída, você recebe uma mensagem de aviso. Ele pede que você faça backup do certificado e da chave privada. Não se preocupe com isso. Faremos o backup na próxima etapa.

Etapa 3: crie uma chave de criptografia de banco de dados e use o certificado para protegê-la

Etapa 4: faça backup do certificado e da chave privada na réplica primária

Nesta etapa, precisamos fazer o backup do certificado e de sua chave privada. Este backup também deve ser criptografado por uma senha complexa.

Faça backup do certificado

Ele cria dois arquivos no diretório especificado, conforme mostrado abaixo.

Verifique os certificados

O primeiro arquivo [TDECert] é o certificado e o segundo arquivo [TDECert_private] é o arquivo de chave privada e é protegido pela senha especificada durante o backup.

Etapa 5: crie uma chave mestra de banco de dados na réplica secundária

Esta etapa é semelhante à etapa 1. Você deve criar uma chave mestra de banco de dados em todas as réplicas secundárias, se ela não existir. Em meu ambiente, esta chave de criptografia já existe no nó de réplica secundário SQLAG2 INST2 conforme mostrado abaixo.

Crie uma chave mestra de banco de dados

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Etapa 6: criar um certificado nas réplicas secundárias do certificado da réplica primária

Você deve copiar o certificado da réplica primária para todas as réplicas secundárias. Nesta etapa, criamos um certificado na réplica secundária do certificado da réplica primária.

Crie um certificado nas réplicas secundárias

Você deve especificar a senha que usamos anteriormente para criptografar o backup. Se você especificar uma senha diferente, ele não descriptografará o certificado.

Etapa 7: habilitar a TDE para o banco de dados do SQL Server Always On Availability Group

Estamos prontos para habilitar a TDE para o banco de dados que participa de um grupo de disponibilidade. Execute o seguinte t-SQL na réplica primária.

Habilitar TDE

Monitore a criptografia de dados transparente no grupo de disponibilidade Always On do SQL Server

Usamos a visão de gerenciamento dinâmico sys.dm_database_encryption_keys para monitorar o status da TDE.

Monitore a criptografia de dados transparente

Ele fornece as seguintes saídas de coluna:

  • Is_encrypted: O valor “1” indica que o TDE está habilitado para o banco de dados correspondente
  • Encryption_state: Inicialmente, depois de habilitar o TDE, ele mostra o encryption_state 2 junto com sua porcentagem de conclusão no percent_complete coluna. Pode levar algumas horas para habilitar a TDE em um vasto banco de dados. Você deve monitorar o status dele após ativá-lo. Uma vez que a criptografia é concluída, ela altera o valor encryption_state para 3 e o valor percent_complete para zero
  • Key_algorithm e key_length: Mostra o algoritmo e o comprimento da chave para criptografar os bancos de dados

De acordo com os valores da coluna encryption_state, podemos modificar a consulta com a instrução CASE no SQL. Você pode navegar pelo artigo Como monitorar e gerenciar Transparent Data Encryption (TDE) no SQL Server para a consulta de monitoramento

Leia Também  Como implantar cubos SSAS

Vemos que o certificado TDE criptografa nosso banco de dados DBARepository.

Monitore a criptografia de dados transparente usando a instrução de caso

Você também pode monitorar o status da TDE nos logs de erros do SQL Server. Possui duas entradas úteis.

  • Iniciando a varredura de criptografia do banco de dados para o banco de dados DBARepositório
  • A varredura de criptografia de banco de dados para o banco de dados ‘DBARepository’ está completa

Logs de erros do SQL Server

    Nota: Se o seu banco de dados na réplica primária estiver criptografado, mas este banco de dados estiver associado à réplica secundária, você não poderá usar o assistente de grupo de disponibilidade. Você deve usar o t-SQL para esse propósito. Você pode consultar este artigo, Como adicionar um banco de dados de usuário criptografado por TDE a um Grupo de Disponibilidade AlwaysOn para essa finalidade

    Teste de failover do grupo de disponibilidade Always On do SQL Server após a implementação de TDE

    Você deve fazer o teste de failover depois de implementar qualquer nova funcionalidade no grupo de disponibilidade Always On do SQL Server. Ajuda a solucionar quaisquer problemas previstos apenas durante as implementações. É fácil consertar as coisas em comparação com saber o problema no momento de qualquer failover.

    Inicie o assistente de grupo de disponibilidade de failover e selecione a nova réplica primária.

    No meu caso, temos as seguintes configurações.

    • Réplica primária atual: SQLAG1 INST1
    • Nova réplica primária: SQLAG2 INST2
    • Modo de failover: failover manual sem perda de dados (banco de dados no estado Sincronizado)
    • Banco de dados AG: DBARepository

    Failover de AG

    O failover de AG foi bem-sucedido agora, conforme mostrado abaixo.

    Status de failover

    Abra o painel AG e verifique seu status.

    Verifique o painel AG após o failover

    Verifique a criptografia TDE também após o failover usando os scripts de monitoramento fornecidos anteriormente.

    Ver criptografia TDE

    Anexo

    Conclusão

    Neste artigo, exploramos a criptografia de dados transparente (TDE) para o banco de dados nos grupos de disponibilidade Always On do SQL Server. Você deve implementar a criptografia TDE para proteger arquivos de dados confidenciais e impedir o acesso não autorizado.

    Índice

    Rajendra Gupta
    Últimos posts de Rajendra Gupta (ver tudo)

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br