Planejar e implementar o Transport Layer Security (TLS) para aplicativos, incluindo o Serviço de Aplicativo do Azure e o Gerenciamento de API
A criptografia usada no Microsoft Azure inclui criptografia em repouso, criptografia em versão de pré-lançamento e gerenciamento de chaves com o Azure Key Vault.
Criptografia de dados em repouso
Os dados em repouso incluem informações que residem no armazenamento persistente da mídia física, em qualquer formato digital. A mídia pode incluir arquivos em mídia magnética ou óptica, dados arquivados e backups de dados. O Microsoft Azure oferece uma variedade de soluções de armazenamento de dados para atender às diferentes necessidades, incluindo armazenamento de arquivo, disco, blob e tabela. A Microsoft também fornece criptografia para proteger o Banco de Dados SQL do Azure, o Azure Cosmos DB e o Azure Data Lake.
A criptografia de dados em repouso está disponível para serviços nos modelos de nuvem SaaS (software como serviço), PaaS (plataforma como serviço) e IaaS (infraestrutura como serviço).
Modelos de criptografia do Azure
O Azure dá suporte a vários modelos de criptografia, incluindo criptografia no servidor que usa chaves gerenciadas pelo serviço, chaves gerenciadas pelo cliente no Key Vault ou chaves gerenciadas pelo cliente no hardware controlado pelo cliente. Com a criptografia do lado do cliente, você pode gerenciar e armazenar chaves localmente ou em outro local seguro.
Criptografia do cliente
A criptografia no cliente é realizada fora do Azure. Ele inclui:
- Dados criptografados por um aplicativo em execução no datacenter do cliente ou por um aplicativo de serviço.
- Dados já criptografados quando recebidos pelo Azure.
Com a criptografia do lado do cliente, os provedores de serviços de nuvem não têm acesso às chaves de criptografia e não podem descriptografar esses dados. Você mantém total controle das chaves.
Criptografia no servidor
Os três modelos de criptografia no servidor apresentam características diferentes de gerenciamento de chaves, que você pode escolher de acordo com seus requisitos:
- Chaves gerenciadas pelo serviço: fornecem uma combinação de controle e conveniência com baixa sobrecarga.
- Chaves gerenciadas pelo cliente: proporcionam controle das chaves, incluindo o suporte a BYOK (Bring Your Own Key), ou permitem a geração de novas.
- Chaves gerenciadas pelo serviço em hardware controlado pelo cliente: permitem gerenciar as chaves no repositório proprietário, fora do controle da Microsoft. Essa característica é chamada de HYOK (Host Your Own Key). No entanto, a configuração é complexa e a maioria dos serviços do Azure não dá suporte a esse modelo.
Criptografia de disco do Azure
Você pode proteger seus discos gerenciados usando o Azure Disk Encryption para VMs do Linux, que usa o Device Mapper (DM)-Crypt ou o Azure Disk Encryption para VMs do Windows, que usa o Windows BitLocker, para proteger discos do sistema operacional e discos de dados com criptografia de volume completo.
As chaves de criptografia e os segredos são protegidos em sua assinatura do Azure Key Vault. Usando o serviço Backup do Azure, você pode fazer backup e restaurar VMs (máquinas virtuais) criptografadas que usam a configuração KEK (chave de criptografia de chave).
Criptografia do Serviço de Armazenamento do Azure
Os dados em repouso no Armazenamento de Blobs do Azure e nos compartilhamentos de arquivos do Azure podem ser criptografados em cenários do servidor e do lado do cliente.
A SSE (Criptografia do Serviço de Armazenamento) do Azure pode criptografar os dados automaticamente antes de serem armazenados, descriptografando-os automaticamente quando são recuperados. O processo é completamente transparente para os usuários. A Criptografia do Serviço de Armazenamento usa a criptografia AES de 256 bits, que é uma das codificações de bloco mais fortes disponíveis. O AES manipula a criptografia, a descriptografia e o gerenciamento de chaves com transparência.
Criptografia de blobs do Azure no cliente
Execute a criptografia do lado do cliente de blobs do Azure de várias maneiras.
Use a Biblioteca de Clientes do Armazenamento do Azure para pacote NuGet do .NET para criptografar os dados nos aplicativos cliente antes de carregá-los no armazenamento do Azure.
Quando você usa a criptografia do lado do cliente com o Key Vault, os dados são criptografados usando uma CEK (chave de criptografia de conteúdo) simétrica avulsa que é gerada pelo SDK cliente do Armazenamento do Azure. A CEK é criptografada usando uma KEK (Chave de Criptografia de Chaves), que pode ser uma chave simétrica ou um par de chaves assimétricas. Você pode gerenciá-la localmente ou armazená-la no Key Vault. Em seguida, os dados criptografados são carregados no Armazenamento do Azure.
Por fim, use também a Biblioteca de Clientes do Armazenamento do Azure para Java para executar a criptografia do lado do cliente antes de fazer upload de dados no Armazenamento do Azure e para descriptografar os dados ao baixá-los no cliente. Essa biblioteca também dá suporte à integração com o Key Vault para o gerenciamento de chaves de contas de armazenamento.
Criptografia de dados em repouso com o Banco de Dados SQL do Azure
O Banco de Dados SQL do Azure é um serviço de banco de dados relacional de uso geral no Azure que dá suporte a estruturas como dados relacionais e espaciais, JSON e XML. O Banco de Dados SQL dá suporte à criptografia no servidor por meio do recurso TDE (Transparent Data Encryption) e à criptografia do lado do cliente por meio do recurso Always Encrypted.
Criptografia de Dados Transparente
A TDE é usada para criptografar arquivos de dados do SQL Server, Banco de Dados SQL do Azure e Azure Synapse Analytics em tempo real usando uma DEK (chave de criptografia de banco de dados), que é armazenada no registro de inicialização do banco de dados para disponibilidade durante a recuperação.
A TDE protege dados e arquivos de log usando os algoritmos de criptografia AES e 3DES (DES triplo). A criptografia do arquivo de banco de dados é executada em nível de página. As páginas de um banco de dados criptografado são criptografadas antes de serem gravadas em disco e são descriptografadas quando lidas na memória. A TDE agora é habilitada por padrão em bancos de dados SQL do Azure recentemente criados.
Recurso Always Encrypted
Com o recurso Always Encrypted no SQL do Azure, criptografe dados em aplicativos cliente antes de armazená-los no Banco de Dados SQL do Azure. Habilite também a delegação da administração de banco de dados local para terceiros e mantenha a separação entre aqueles que têm e podem exibir os dados e aqueles que os gerenciam, mas que não devem ter acesso a eles.
Criptografia em nível de célula ou de coluna
Com o Banco de Dados SQL do Azure, você pode aplicar a criptografia simétrica a uma coluna de dados usando o Transact-SQL. Essa abordagem é chamada de CLE (criptografia em nível de célula ou de coluna), pois você pode usá-la para criptografar colunas específicas ou até mesmo células específicas de dados com diferentes chaves de criptografia. Ao fazer isso, você tem uma funcionalidade de criptografia mais granular do que a TDE, que criptografa dados em páginas.
A CLE tem funções internas que você pode usar para criptografar dados usando chaves simétricas ou assimétricas, a chave pública de um certificado ou uma frase secreta usando 3DES.
Criptografia de banco de dados Azure Cosmos DB
O Azure Cosmos DB é o banco de dados multimodelo globalmente distribuído da Microsoft. Os dados de usuário armazenados no Azure Cosmos DB em um armazenamento não volátil (unidades de estado sólido) são criptografados por padrão. Não existem controles para ativá-lo nem desativá-lo. A criptografia em repouso é implementada usando várias tecnologias de segurança, incluindo sistemas seguros de armazenamento de chaves, redes criptografadas e APIs criptográficas. As chaves de criptografia são gerenciadas pela Microsoft e giradas conforme as diretrizes internas da Microsoft. Opcionalmente, você pode optar por adicionar uma segunda camada de criptografia com chaves que você gerencia para usar as chaves gerenciadas pelo cliente ou o recurso CMK.
Criptografia em repouso no Data Lake
O Azure Data Lake é um repositório para toda a empresa de todos os tipos de dados coletados em um único lugar antes de qualquer definição formal de requisitos ou esquema. O Data Lake Store dá suporte por padrão à criptografia transparente de dados em repouso, que é configurada durante a criação da sua conta. Por padrão, o Azure Data Lake Store gerencia as chaves para você, mas você tem a opção de gerenciá-las por conta própria.
Três tipos de chave são usados na criptografia e descriptografia de dados: a MEK (Chave de Criptografia Mestra), DEK (Chave de Criptografia de Dados) e BEK (Chave de Criptografia de Bloco). A MEK é usada para criptografar a DEK, que é armazenada na mídia persistente, e a BEK é derivada da DEK e do bloco de dados. Se estiver gerenciando suas próprias chaves, você poderá alternar a MEK.
Criptografia de dados em trânsito
O Azure oferece muitos mecanismos para manter os dados privados à medida que eles são movidos de um local para outro.
Criptografia de camada de link de dados no Azure
Sempre que o tráfego do Cliente do Azure se move entre data centers, fora dos limites físicos não controlados pela Microsoft (ou em nome da Microsoft), um método de criptografia de camada de link de dados usando os Padrões de Segurança MAC IEEE 802.1AE (também conhecido como MACsec) é aplicado de ponto a ponto em todo o hardware de rede subjacente. Os pacotes são criptografados nos dispositivos antes de serem enviados, impedindo ataques físicos "man-in-the-middle" ou de espionagem/grampeamento. Como essa tecnologia é integrada ao próprio hardware de rede, ela realiza criptografia de taxa de linha no hardware de rede sem aumento de latência de link mensurável. Essa criptografia MACsec está ativada por padrão para todo o tráfego do Azure que viaja dentro de uma região ou entre regiões, e nenhuma ação é necessária na parte dos clientes para habilitar.
Criptografia TLS no Azure
A Microsoft dá aos clientes a capacidade de usar o protocolo TLS (Transport Layer Security) para proteger os dados quando eles estão viajando entre os serviços de nuvem e os clientes. Os datacenters da Microsoft negociam uma conexão TLS com os sistemas cliente que se conectam aos serviços do Azure. O TLS fornece autenticação forte, privacidade de mensagem e integridade (habilitando a detecção de adulteração, interceptação e falsificação de mensagens), interoperabilidade, flexibilidade de algoritmo e facilidade de implantação e uso.
O PFS protege as conexões entre os sistemas cliente dos clientes e os serviços em nuvem da Microsoft por chaves exclusivas. As conexões também usam comprimentos de chave de criptografia de 2.048 bits baseados em RSA. Essa combinação dificulta a interceptação e o acesso a dados que estão em trânsito.
Transações do Armazenamento do Microsoft Azure
Quando você interage com o Armazenamento do Microsoft Azure por meio do Portal do Azure, todas as transações ocorrem por HTTPS. Também é possível usar a API REST do Armazenamento por HTTPS para interagir com o Armazenamento do Microsoft Azure. Imponha o uso de HTTPS ao chamar as APIs REST para acessar objetos em contas de armazenamento habilitando a transferência segura necessária para a conta de armazenamento.
A SAS (Assinaturas de Acesso Compartilhado), que pode ser usada para delegar acesso aos objetos do Armazenamento do Azure, inclui uma opção para especificar que apenas o protocolo HTTPS pode ser usado com as Assinaturas de Acesso Compartilhado. Essa abordagem garante que qualquer pessoa que envia links com tokens SAS use o protocolo apropriado.
O SMB 3.0, que é usado para acessar compartilhamentos de Arquivos do Azure, dá suporte à criptografia e está disponível no Windows Server 2012 R2, Windows 8, Windows 8.1 e Windows 10. Ele permite o acesso entre regiões e até mesmo o acesso na área de trabalho.
A criptografia do lado do cliente criptografa os dados antes de serem enviados à instância do Armazenamento do Azure, de modo que sejam criptografados enquanto viajam pela rede.
Criptografia de protocolo SMB em redes virtuais do Azure
Usando o SMB 3.0 em VMs que executam o Windows Server 2012 ou posterior, você pode tornar as transferências de dados seguras criptografando os dados em trânsito nas Redes Virtuais do Azure. Criptografando os dados, você ajuda a proteger contra ataques de adulteração e interceptação. Os administradores podem habilitar a criptografia SMB para todo o servidor ou apenas para compartilhamentos específicos.
Por padrão, depois que a criptografia SMB é ativada para um compartilhamento ou servidor, somente os clientes do SMB 3.0 podem acessar os compartilhamentos criptografados.
Criptografia em trânsito em VMs
Os dados em trânsito em todas as direções e entre as VMs que executam o Windows podem ser criptografados de várias maneiras, dependendo da natureza da conexão.
Sessões de Protocolo de Área de Trabalho Remota (RDP)
Você pode se conectar e entrar em uma VM usando o protocolo RDP em um computador cliente do Windows ou em um Mac com um cliente RDP instalado. Os dados em trânsito pela rede em sessões RDP podem ser protegidos pelo TLS.
Você também pode usar a Área de Trabalho Remota para se conectar a uma VM Linux no Azure.
Acesso seguro a VMs do Linux com SSH
Para gerenciamento remoto, use o SSH (Secure Shell) para se conectar às VMs do Linux em execução no Azure. O SSH é um protocolo de conexão criptografada que permite entradas seguras em conexões não protegidas. Ele é o protocolo de conexão padrão para as VMs Linux hospedadas no Azure. Usando chaves SSH para autenticação, você elimina a necessidade de senhas para entrada. O SSH usa um par de chaves pública/privada (criptografia assimétrica) para autenticação.
Gateways de VPN do Azure
Use um Gateway de VPN do Azure para enviar o tráfego criptografado entre a rede virtual e o local em uma conexão pública ou para enviar o tráfego entre redes virtuais.
As VPNs site a site usam o protocolo IPsec como a criptografia de transporte. Os gateways de VPN do Azure usam um conjunto de propostas padrão. Você pode configurar os gateways de VPN do Azure para usar uma política personalizada IPsec/IKE com algoritmos de criptografia e intensidades de chave específicos, em vez de conjuntos de política padrão do Azure.
VPNs ponto a site
As VPNs ponto a site permitem que computadores cliente individuais acessem uma Rede Virtual do Azure. O SSTP (Secure Socket Tunneling Protocol) é usado para criar o túnel VPN. Ele pode atravessar firewalls (o túnel aparece como uma conexão HTTPS). Use sua própria AC (autoridade de certificação) raiz de PKI (infraestrutura de chave pública) interna para a conectividade ponto a site.
Configure uma conexão VPN ponto a site com uma rede virtual usando o portal do Azure com autenticação de certificado ou o PowerShell.
VPNs site a site
Você pode usar uma conexão de gateway de VPN site a site para conectar sua rede local a uma rede virtual do Azure por meio de um túnel VPN de protocolo IPsec/protocolo IKE (IKEv1 ou IKEv2). Esse tipo de conexão exige um dispositivo VPN local que tenha um endereço IP público externo atribuído a ele.
Configure uma conexão VPN site a site com uma rede virtual usando o portal do Azure, o PowerShell ou a CLI do Azure.
Criptografia em trânsito no Data Lake
Dados em trânsito (também conhecidos como dados em movimento) também são sempre criptografados no Data Lake Store. Além de criptografar os dados antes de armazená-los em uma mídia persistente, os dados são sempre protegidos em trânsito usando HTTPS. HTTPS é o único protocolo com suporte para as interfaces de Transferência de Estado Representacional (REST) do Data Lake Store.
Gerenciamento de chaves com o Key Vault
Sem a proteção e o gerenciamento de chaves adequados, a criptografia é inútil. O Key Vault é a solução recomendada pela Microsoft para gerenciamento e controle de acesso às chaves de criptografia usadas pelos serviços de nuvem. As permissões para acessar chaves podem ser atribuídas aos serviços ou aos usuários pelas contas do Microsoft Entra.
O Key Vault alivia as organizações da necessidade de configurar, aplicar patch e manter HSMs (módulos de segurança de hardware) e um software de gerenciamento de chaves. Quando você usa o Key Vault, você mantém o controle. A Microsoft nunca vê suas chaves, e os aplicativos não têm acesso direto a elas. Você também pode importar ou gerar chaves em HSMs.