Exercício – proteger os seus dados em circulação, inativos e no ecrã

Concluído

A base de dados marketplaceDb armazena informações confidenciais, tais como endereços físicos, endereços de e-mail 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 criptografia e mascaramento de dados para aumentar a segurança do seu banco de dados.

Encriptação de redes 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 intercetar o tráfego entre o servidor de aplicativos e o banco de dados não seja capaz de ler os dados. A encriptação TLS é um padrão de proteção do tráfego pela Internet e, neste caso, garante que o seu tráfego de rede de e para a base de dados SQL do Azure está protegido por predefinição.

Encriptação de dados transparente

A Base de Dados SQL do Azure protege os seus dados inativos através de encriptação TDE (Encriptação de Dados Transparente). A TDE realiza a encriptação e desencriptação em tempo real da base de dados, cópias de segurança associadas e ficheiros de registo de transações inativos e não carece de alterações à aplicação. A criptografia de dados transparente executa a criptografia de E/S em tempo real e a descriptografia dos dados no nível da página usando uma chave de criptografia de banco de dados. Cada página é desencriptada quando é lida na memória e encriptada antes de ser escrita no disco.

Por predefinição, a Encriptação de Dados Transparente está ativada para todas as Bases de Dados SQL do Azure recém-implementadas. É importante verificar se a criptografia de dados não está desativada. Os bancos de dados mais antigos do Azure SQL Server podem não ter o TDE habilitado.

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

  1. Inicie sessão no portal do Azure com a mesma conta que utilizou para ativar o sandbox.

  2. Na barra de pesquisa na parte superior do portal do Azure, procure marketplaceDb e selecione o banco de dados.

  3. No painel de menu esquerdo, em Segurança, selecione Encriptação de dados.

  4. Na opção de encriptação de dados, verifique que a Encriptação de dados está definida para Ativado. Também deverá ver o estado de encriptação Encriptada.

Como os novos bancos de dados são criptografados por padrão, você pode ter certeza de que seus dados serão criptografados no disco assim que criar o banco de dados.

Nota

O Azure inclui um serviço interno chamado Microsoft Defender for Cloud que lhe dá visibilidade sobre a segurança do seu ambiente, incluindo bancos de dados SQL do Azure. O Microsoft Defender for Cloud sinaliza todos os bancos de dados que não têm TDE habilitado, oferecendo a você a capacidade de relatar e tomar medidas para proteger seus dados.

Máscara de dados dinâmica

Você pode notar que, quando você executou sua consulta na unidade anterior, algumas das informações no banco de dados são confidenciais. Há números de telefone, endereços de e-mail e outras informações que talvez você não queira exibir totalmente para 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 e-mail, mas ainda deseja disponibilizar uma parte dos dados para que os representantes do atendimento ao cliente identifiquem um cliente. Usando o recurso de mascaramento de dados dinâmicos do Banco de Dados SQL do Azure, você pode limitar os dados exibidos para o 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 sobre campos de banco de dados designados, enquanto os dados no banco de dados não são alterados.

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

  • Valor predefinido, que apresenta o valor predefinido para este 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 x minúsculos.
  • E-mail, que oculta o nome de domínio e todos os carateres menos o primeiro do nome da conta de e-mail.
  • Número, que especifica um número aleatório de entre um intervalo de valores. Por exemplo, no mês e ano de validade do cartão de crédito, pode selecionar meses aleatórios de 1 a 12 e definir o intervalo de anos de 2018 a 3000.
  • Cadeia personalizada, que lhe permite definir o número de carateres expostos do início dos dados, o número de carateres expostos do fim dos dados e os carateres que devem ser repetidos para os restantes 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 mascaradas adicionando-as à lista de usuários SQL excluídos do mascaramento.

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

  1. Ainda no portal no painel de banco de dados marketplaceDb , no painel de menu esquerdo, em Segurança, selecione Mascaramento dinâmico de dados.

    O ecrã de regras de máscara mostra uma lista das máscaras de dados dinâmicas existentes, bem como recomendações de colunas às quais devem, potencialmente, ser aplicadas máscaras de dados dinâmicos.

    Screenshot of the Azure portal showing a list of the recommended masks for the various database columns of a sample database.

  2. Adicione uma máscara para o número de telefone que exiba 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.

    Definição Value
    Esquema SalesLT
    Tabela Cliente
    Coluna Phone (nvarchar)
    Formato do campo de máscara Cadeia personalizada (prefixo [preenchimento] sufixo)
    Prefixo Exposto 0
    Cadeia de Preenchimento XXX-XXX-
    Sufixo Exposto 4
  4. Selecione Adicionar para adicionar a regra de máscara.

    Screenshot of the Azure portal showing the values to add a masking rule.

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

    Definição Value
    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 máscara.

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

Veja 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:serverNNNNN.database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
    
  2. Execute a seguinte consulta.

    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 que você especificar. 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 ocultam o número completo e o endereço de e-mail do cliente da visualização.