Exercício – Proteger seus dados em trânsito, em repouso e em exibição

Concluído

O banco de dados marketplaceDb armazena informações confidenciais, como endereços físicos, endereços de email e números de telefone. Se expostos, invasores mal-intencionados podem usar essas informações para prejudicar sua empresa ou seus clientes. Veja como você pode usar a criptografia e o mascaramento de dados para aprimorar a segurança do banco de dados.

Criptografia de rede TLS

O Banco de Dados SQL do Azure impõe a criptografia TLS (Transport Layer Security) sempre para todas as conexões, o que garante que todos os dados sejam criptografados em trânsito entre o banco de dados e o cliente. Usando a criptografia TLS, você pode garantir que qualquer pessoa que possa interceptar o tráfego entre o servidor de aplicativos e o banco de dados não poderá ler os dados. A criptografia TLS é um padrão de proteção do tráfego na Internet e, nesse caso, garante que o tráfego de rede para e do Banco de Dados SQL do Azure seja seguro por padrão.

Transparent Data Encryption

O Banco de Dados SQL do Azure protege seus dados em repouso usando TDE (Transparent Data Encryption). TDE realiza a criptografia e a descriptografia em tempo real do banco de dados, de backups associados e de arquivos de log de transações em repouso, sem a necessidade de alterações no aplicativo. A criptografia de dados transparentes executa criptografia de E/S em tempo real e descriptografia dos dados no nível da página usando uma chave de criptografia de banco de dados. Cada página é descriptografada quando é lida na memória e, em seguida, criptografada antes de ser gravada no disco.

Por padrão, a TDE está habilitada para todos os bancos de dados SQL do Azure recém-implantados. É importante verificar se a criptografia de dados não está desativada. Os bancos de dados mais antigos do SQL Server do Azure podem não ter o TDE habilitado.

Dê uma olhada no portal do Azure em que o TDE está configurado no banco de dados marketplaceDb.

  1. Entre no portal do Azure usando a mesma conta com a qual você ativou a área restrita.

  2. Na barra de pesquisa na parte superior do portal do Azure, pesquise por marketplaceDbe selecione o banco de dados.

  3. No painel de menu à esquerda, em Segurança, selecione Criptografia de dados.

  4. Na opção de criptografia de dados, verifique se Criptografia de dados está definida como Ligada. Você também verá um status de criptografia de Criptografado.

Como novos bancos de dados são criptografados por padrão, você pode ter certeza de que seus dados são criptografados em disco assim que você cria o banco de dados.

Observação

O Azure inclui um serviço integrado denominado Microsoft Defender para Nuvem que fornece visibilidade sobre a segurança de seu ambiente, incluindo bancos de dados SQL do Azure. O Microsoft Defender para Nuvem sinaliza todos os bancos de dados que não têm o TDE habilitado neles, oferecendo a capacidade de relatar e tomar medidas para proteger seus dados.

Mascaramento de dados dinâmicos

Você pode observar que, quando você executou a consulta na unidade anterior, algumas das informações no banco de dados são confidenciais. Há números de telefone, endereços de email e outras informações que talvez você não queira exibir totalmente a todos com acesso aos dados.

Talvez você não queira que seus usuários possam ver o número de telefone completo ou o endereço de email, mas você ainda deseja disponibilizar uma parte dos dados para os representantes do atendimento ao cliente identificarem um cliente. Usando o recurso de mascaramento de dados dinâmicos do Banco de Dados SQL do Azure, você pode limitar os dados exibidos ao usuário. O mascaramento dinâmico de dados é um recurso de segurança baseado em política que oculta os dados confidenciais no conjunto de resultados de uma consulta em campos de banco de dados designados, enquanto os dados no banco de dados não são alterados.

As regras de mascaramento consistem na coluna à qual aplicar a máscara e como os dados devem ser mascarados. Você pode criar seu próprio formato de mascaramento ou usar uma das máscaras padrão, como:

  • Valor padrão, que exibe o valor padrão para esse tipo de dados.
  • Valor do cartão de crédito, que mostra apenas os últimos quatro dígitos do número, convertendo todos os outros números em letras minúsculas x.
  • Email, que oculta o nome de domínio e todos os caracteres do nome da conta de email, com exceção do primeiro.
  • Número, que especifica um número aleatório entre um intervalo de valores. Por exemplo, no ano e mês de vencimento do cartão de crédito, você poderia selecionar meses aleatórios de 1 a 12 e definir o intervalo de ano de 2018 a 3000.
  • Cadeia de caracteres personalizada, que permite que você defina o número de caracteres expostos do início dos dados, o número de caracteres expostos no final dos dados e os caracteres para repetição no restante dos dados.

Quando os administradores de banco de dados consultam as colunas, eles ainda veem os valores originais. Os não administradores veem os valores mascarados. Você pode permitir que outros usuários vejam as versões não máscaras adicionando-as aos usuários do SQL excluídos da lista de máscaras.

Dê uma olhada em como o mascaramento de dados funcionaria em seu banco de dados marketplaceDb.

  1. Enquanto estiver no portal, no painel do banco de dados marketplaceDb, no painel do menu esquerdo, em Segurança, selecione Máscara Dinâmica de Dados.

    A tela de Regras de mascaramento mostra uma lista de máscaras de dados dinâmicos existentes e recomendações para colunas que devem ter potencialmente uma máscara de dados dinâmicos aplicada.

    Captura de tela do portal do Azure mostrando uma lista das máscaras recomendadas para as várias colunas de um banco de dados de exemplo.

  2. Adicione uma máscara para o número de telefone que exibe apenas os últimos quatro dígitos. Selecione o botão Adicionar máscara na parte superior para abrir a caixa de diálogo Adicionar regra de mascaramento.

  3. Selecione os seguintes valores.

    Configuração Valor
    Esquema SalesLT
    Tabela Cliente
    Coluna Phone (nvarchar)
    Formato do campo de máscara Custom string (prefix [padding] suffix)
    Prefixo Exposto 0
    Cadeia de Caracteres de Preenchimento XXX-XXX-
    Sufixo Exposto 4
  4. Selecione Adicionar para adicionar a regra de mascaramento.

    Captura de tela do portal do Azure mostrando os valores para adicionar uma regra de mascaramento.

  5. Adicione mais um para o endereço de email. Selecione o botão Adicionar máscara na parte superior novamente para abrir a caixa de diálogo Adicionar regra de mascaramento.

    Configuração Valor
    Esquema SalesLT
    Tabela Cliente
    Coluna EmailAddress (nvarchar)
    Formato do campo de máscara Email (aXXX@XXX.com)
  6. Selecione Adicionar para adicionar a regra de mascaramento.

  7. Cada nova máscara é adicionada à lista de regras de mascaramento. Selecione Salvar para aplicar as máscaras.

Dê uma olhada em como o mascaramento de dados altera sua consulta.

  1. Agora entre novamente no banco de dados, mas como o usuário ApplicationUser.

    sqlcmd -S tcp:[server-name].database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
    
  2. Execute a consulta a seguir.

    SELECT FirstName, LastName, EmailAddress, Phone FROM SalesLT.Customer;
    GO
    

    Veja como a saída é mascarada.

    FirstName     LastName      EmailAddress         Phone
    ------------- ------------- -------------------- ------------
    Orlando       Gee           oXXX@XXXX.com        XXX-XXX-0173
    Keith         Harris        kXXX@XXXX.com        XXX-XXX-0127
    Donna         Carreras      dXXX@XXXX.com        XXX-XXX-0130
    Janet         Gates         jXXX@XXXX.com        XXX-XXX-0173
    ...
    

Com as regras de mascaramento que você criou, seus dados são mascarados com o formato especificado. Essas regras permitem que seus representantes de atendimento ao cliente verifiquem um cliente com os últimos quatro dígitos de seu número de telefone, mas oculta o número completo e o endereço de email do cliente da exibição.