Visão geral da segurança do banco de dados no Azure Cosmos DB para MongoDB vCore
APLICA-SE A: MongoDB vCore
Este artigo discute as práticas recomendadas de segurança de banco de dados e os principais recursos oferecidos pelo Azure Cosmos DB para MongoDB vCore para ajudá-lo a prevenir, detetar e responder a violações de banco de dados.
O que há de novo no Azure Cosmos DB para segurança vCore do MongoDB
A criptografia em repouso agora está disponível para documentos e backups armazenados no Azure Cosmos DB para MongoDB vCore na maioria das regiões do Azure. A criptografia em repouso é aplicada automaticamente para clientes novos e existentes nessas regiões. Não há necessidade de configurar nada. Você obtém a mesma latência, taxa de transferência, disponibilidade e funcionalidade de antes, com o benefício de saber que seus dados estão seguros e protegidos com criptografia em repouso. Os dados armazenados em seu cluster vCore do Azure Cosmos DB para MongoDB são automaticamente e perfeitamente criptografados com chaves gerenciadas pela Microsoft usando chaves gerenciadas por serviço.
Como posso proteger a minha base de dados
A segurança dos dados é uma responsabilidade compartilhada entre você, o cliente e seu provedor de banco de dados. Dependendo do provedor de banco de dados escolhido, a quantidade de responsabilidade que você carrega pode variar. Se você escolher uma solução local, precisará fornecer tudo, desde a proteção do ponto final até a segurança física do seu hardware - o que não é tarefa fácil. Se você escolher um provedor de banco de dados em nuvem PaaS, como o Azure Cosmos DB, sua área de preocupação diminuirá consideravelmente. A imagem a seguir, emprestada do white paper Responsabilidades compartilhadas para computação em nuvem da Microsoft, mostra como sua responsabilidade diminui com um provedor de PaaS como o Azure Cosmos DB.
O diagrama anterior mostra componentes de segurança na nuvem de alto nível, mas com quais itens você precisa se preocupar especificamente para sua solução de banco de dados? E como comparar soluções entre si?
Recomendamos a seguinte lista de verificação de requisitos para comparar sistemas de banco de dados:
- Configurações de firewall e segurança de rede
- Autenticação de usuário e controles de usuário refinados
- Capacidade de replicar dados globalmente para falhas regionais
- Capacidade de failover de um data center para outro
- Replicação local de dados em um data center
- Backups automáticos de dados
- Restauração de dados excluídos de backups
- Proteja e isole dados confidenciais
- Monitorização de ataques
- Resposta a ataques
- Capacidade de cercar geograficamente os dados para aderir às restrições de governança de dados
- Proteção física de servidores em data centers protegidos
- Certificações
E embora possa parecer óbvio, as recentes violações de bases de dados em grande escala recordam-nos a importância simples, mas crítica, dos seguintes requisitos:
- Servidores corrigidos que são mantidos atualizados
- Criptografia HTTPS por padrão/TLS
- Contas administrativas com palavras-passe fortes
Como o Azure Cosmos DB protege meu banco de dados
O Azure Cosmos DB para MongoDB vCore atende perfeitamente a cada um desses requisitos de segurança.
Vamos nos aprofundar em cada um deles.
Requisito de segurança | Abordagem de segurança do Azure Cosmos DB |
---|---|
Segurança da rede | O acesso privado implementado por meio da tecnologia de Link Privado madura permite que você forneça acesso ao cluster para recursos em VNets do Azure. O acesso público permite abrir o cluster para um conjunto definido de endereços IP públicos. O acesso privado e público pode ser combinado e ativado ou desativado a qualquer momento. Configuração padrão: os clusters vCore do Azure Cosmos DB para MongoDB são criados bloqueados por padrão. Para fornecer acesso ao cluster, as configurações de rede devem ser atualizadas para permitir o acesso privado e/ou público ao cluster durante a criação do cluster ou após ele. Acesso privado: com o acesso privado habilitado, um ponto de extremidade privado pode ser criado para acessar o cluster privado de dentro da rede virtual do Azure. O ponto de extremidade privado é criado na sub-rede de uma rede de rede virtual especificada. Uma vez feito, todos os recursos de rede virtual do Azure estão disponíveis para o cluster, incluindo emparelhamento de rede virtual local e global, acesso a ambientes locais privados, filtragem e roteamento de tráfego de rede e outros. Acesso público: usar um firewall IP é a primeira camada de proteção para proteger seu banco de dados. O Azure Cosmos DB para MongoDB vCore dá suporte a controles de acesso baseados em IP orientados por políticas para suporte a firewall de entrada. Os controles de acesso baseados em IP são semelhantes às regras de firewall usadas pelos sistemas de banco de dados tradicionais. No entanto, eles são expandidos para que um cluster vCore do Azure Cosmos DB para MongoDB só seja acessível a partir de um conjunto aprovado de máquinas ou serviços de nuvem. Todas as solicitações originadas de máquinas fora dessa lista permitida são bloqueadas pelo Azure Cosmos DB para MongoDB vCore. As solicitações de máquinas aprovadas e serviços em nuvem devem concluir o processo de autenticação para receber controle de acesso aos recursos. |
Replicação local | Mesmo dentro de uma única região, o Azure Cosmos DB para MongoDB vCore replica os dados no nível de armazenamento, mantendo 3 réplicas síncronas de cada fragmento físico de forma transparente em todos os momentos. Os clusters habilitados para HA têm outra camada de replicação entre cada par de estilhaços físicos primários e em espera. A replicação de alta disponibilidade é síncrona e não oferece perda de dados em failovers, garantindo assim um SLA de disponibilidade mensal de 99,99% para configuração de uma única região. |
Replicação global | O Azure Cosmos DB para MongoDB vCore oferece replicação entre regiões que permite replicar seus dados para outra região do Azure. A replicação global permite dimensionar globalmente e fornecer acesso de baixa latência aos seus dados em todo o mundo. No contexto da segurança, a replicação global garante a proteção dos dados contra interrupções regionais pouco frequentes. Com o cluster de réplica entre regiões, uma cópia dos dados está sempre presente em outra região. A réplica em outra região combinada com alta disponibilidade fornece um SLA de disponibilidade mensal de 99,995% para configuração de várias regiões. |
Isolamento do banco de dados | Os bancos de dados vCore do Azure Cosmos DB para MongoDB são hospedados em seus próprios recursos dedicados. Isso significa que cada cluster recebe seu próprio nó dedicado chamado fragmento físico ou alguns em uma configuração de vários fragmentos. Cada fragmento físico tem sua própria computação e armazenamento remoto conectado a ele. Não há compartilhamento de infraestrutura entre clusters, fornecendo uma camada extra de isolamento físico e lógico para seu banco de dados. |
Backups de cluster automatizados | O backup para clusters vCore do Azure Cosmos DB para MongoDB está habilitado no momento da criação do cluster, é totalmente automatizado e não pode ser desabilitado. A restauração é fornecida para qualquer carimbo de data/hora dentro do período de retenção de backup de 35 dias. |
Restaurar dados apagados | Os backups on-line automatizados podem ser usados para recuperar dados de um cluster que você pode ter excluído acidentalmente até ~7 dias após o evento. |
Encriptação HTTPS/SSL/TLS | Todas as comunicações de rede com o Azure Cosmos DB para clusters vCore do MongoDB são criptografadas. Somente conexões através de um cliente MongoDB são aceitas e a criptografia é sempre imposta. Sempre que os dados são gravados no Azure Cosmos DB para MongoDB vCore, seus dados são criptografados em trânsito. A encriptação de dados suporta níveis TLS até 1.3 (incluídos). |
Encriptação inativa | Os dados vCore do Azure Cosmos DB para MongoDB, incluindo todos os backups, são criptografados no disco, incluindo os arquivos temporários. O serviço usa a cifra AES de 256 bits incluída na criptografia de armazenamento do Azure e as chaves são gerenciadas pelo sistema. A criptografia de armazenamento está sempre ativada e não pode ser desativada. |
Monitorar ataques | Usando o log de auditoria e os logs de atividades, você pode monitorar seu banco de dados em busca de atividades normais e anormais. Você pode visualizar quais operações foram executadas em seus recursos. Esses dados incluem quem iniciou a operação, quando ela ocorreu, o status da operação e muito mais. |
Responder a ataques | Depois de entrar em contato com o suporte do Azure para relatar um possível ataque, um processo de resposta a incidentes em cinco etapas é iniciado. O objetivo do processo de cinco etapas é restaurar a segurança e as operações normais do serviço. O processo de cinco etapas restaura os serviços o mais rápido possível depois que um problema é detetado e uma investigação é iniciada. Saiba mais em Responsabilidade compartilhada na nuvem. |
Instalações protegidas | Os dados no Azure Cosmos DB para MongoDB vCore são armazenados nos data centers protegidos do Azure. Saiba mais em datacenters globais da Microsoft |
Servidores corrigidos | O Azure Cosmos DB para MongoDB vCore elimina a necessidade de gerenciar atualizações de software e clusters de patch que são feitos para você automaticamente. |
Contas administrativas com palavras-passe fortes | É difícil acreditar que precisamos mencionar esse requisito, mas, ao contrário de alguns de nossos concorrentes, é impossível ter uma conta administrativa sem senha no Azure Cosmos DB para MongoDB vCore. A senha deve ter pelo menos 8 caracteres, incluir letras maiúsculas e minúsculas em inglês, números e caracteres não alfanuméricos. A segurança por meio da autenticação baseada em segredo TLS é incorporada por padrão. |
Contas secundárias | Para acesso mais granular, contas de usuário secundárias podem ser criadas em clusters com privilégios de leitura-gravação ou somente leitura nos bancos de dados do cluster. |
Certificações de segurança e proteção de dados | Para obter a lista mais atualizada de certificações, consulte Conformidade do Azure e o documento de conformidade mais recente do Azure com todas as certificações do Azure, incluindo o Azure Cosmos DB. |
A captura de tela a seguir mostra como você pode usar o log de auditoria e os registros de atividades para monitorar sua conta:
Opções de segurança de rede
Esta seção descreve várias opções de segurança de rede que você pode configurar para seu cluster. Você pode combinar opções de acesso público e privado em seu cluster. Você pode alterar as definições de configuração de rede a qualquer momento.
Sem acesso
Nenhum acesso é a opção padrão para um cluster recém-criado se nenhuma regra de firewall ou ponto de extremidade privado tiver sido criado durante o provisionamento do cluster para acesso público ou privado, respectivamente. Nesse caso, nenhum computador, dentro ou fora do Azure, pode se conectar aos nós do banco de dados.
Acesso IP público com firewall
Na opção de acesso público, um endereço IP público é atribuído ao cluster e o acesso ao cluster é protegido por um firewall. Se o endereço IP público não estiver especificado em uma das regras de firewall no cluster, as solicitações desse endereço IP serão rejeitadas pelo firewall e não chegarão ao banco de dados.
Acesso privado
Na opção de acesso privado, um ponto de extremidade privado é criado para o cluster. Esse ponto de extremidade privado está associado a uma rede virtual do Azure (VNet) e a uma sub-rede dentro dessa VNet. O ponto de extremidade privado permite que hosts na rede virtual associada e redes virtuais emparelhadas acessem o cluster vCore do Azure Cosmos DB for MongoDB.
Descrição geral das firewalls
O Azure Cosmos DB para MongoDB vCore usa um firewall no nível de cluster para impedir todo o acesso ao cluster até que você especifique quais computadores (endereços IP) têm permissão. O firewall concede acesso ao cluster com base no endereço IP de origem de cada solicitação. Para configurar o firewall, crie regras de firewall que especifiquem intervalos de endereços IP aceitáveis.
As regras de firewall permitem que os clientes acessem seu cluster e todos os bancos de dados dentro dele. As regras de firewall no nível de cluster podem ser configuradas usando o portal do Azure ou programaticamente usando ferramentas do Azure, como a CLI do Azure.
Por padrão, o firewall bloqueia todo o acesso ao cluster. Para começar a usar o cluster de outro computador, você precisa especificar uma ou mais regras de firewall no nível de cluster para habilitar o acesso ao cluster. Use as regras de firewall para especificar quais endereços IP variam da Internet para permitir. As regras de firewall não afetam o acesso ao próprio site do portal do Azure. As tentativas de conexão da Internet e do Azure devem primeiro passar pelo firewall antes de chegarem aos seus bancos de dados.