Visão geral da segurança do banco de dados no Azure Cosmos DB for MongoDB vCore.
APLICA-SE AO: MongoDB vCore
Este artigo discute as melhores práticas de segurança de banco de dados e os principais recursos oferecidos pelo Azure Cosmos DB for MongoDB vCore para ajudar você a prevenir, detectar e responder a violações de banco de dados.
Novidades na segurança do Azure Cosmos DB for MongoDB vCore
A criptografia em repouso agora está disponível para documentos e backups armazenados no Azure Cosmos DB for 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 é necessário configurar nada. Você obtém a mesma latência, taxa de transferência, disponibilidade e funcionalidade excelentes de antes, com o benefício de saber que seus dados estão seguros e protegidos com a criptografia em repouso. Os dados armazenados em seu cluster do Azure Cosmos DB for MongoDB vCore são criptografados de forma automática e contínua com chaves gerenciadas pela Microsoft usando as chaves gerenciadas pelo serviço.
Como fazer para proteger meu banco de dados
A segurança dos dados é uma responsabilidade compartilhada por você, o cliente e seu provedor de banco de dados. Dependendo do provedor de banco de dados que você escolher, o tamanho da responsabilidade pode variar. Se você escolher uma solução local, precisará fornecer tudo, desde a proteção do ponto de extremidade até a segurança física do seu hardware, o que não é uma tarefa fácil. Se você escolher um provedor de banco de dados em nuvem PaaS, como o Azure Cosmos DB, sua área de interesse será consideravelmente reduzida. A imagem a seguir, retirada do white paper Responsabilidades compartilhadas para a 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 de nuvem de alto nível, mas com quais itens você precisa se preocupar especificamente para sua solução de banco de dados? E como você pode comparar as soluções?
Recomendamos a seguinte lista de verificação de requisitos para comparação dos sistemas de banco de dados:
- Configurações de firewall e de 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 de dados locais em um data center
- Backup de dados automático
- Restauração de dados excluídos de backups
- Proteger e isolar dados confidenciais
- Monitoramento de ataques
- Resposta aos ataques
- Capacidade de limitar os dados geograficamente a fim de aderir a restrições de controle de dados
- Proteção física dos servidores em data centers protegidos
- Certificações
E embora pareça óbvio, as falhas recentes em grande escala de banco de dados nos lembram da importância simples, mas fundamental, dos requisitos a seguir:
- Servidores com patches que permanecem atualizados
- Criptografia HTTPS por padrão/TLS
- Contas administrativas com senhas fortes
Como o Azure Cosmos DB protege meu banco de dados
O Azure Cosmos DB for MongoDB vCore cumpre perfeitamente todos e cada um desses requisitos de segurança.
Vamos examinar cada um deles em detalhes.
Requisito de segurança | Abordagem de segurança do Azure Cosmos DB |
---|---|
Segurança de rede | O acesso privado implementado por meio da tecnologia madura Private Link permite que você forneça acesso ao cluster para recursos em VNets do Azure. O acesso público permite que você abra o cluster para um conjunto definido de endereços IP públicos. O acesso privado e público podem ser combinados e ativados ou desativados a qualquer momento. Configuração padrão: os clusters vCore do Azure Cosmos DB for MongoDB são criados bloqueados por padrão. Para fornecer acesso ao cluster, as configurações de rede devem ser atualizadas para permitir acesso privado e/ou público ao cluster durante ou após sua criação. Acesso privado: com o acesso privado habilitado, um ponto de extremidade privado pode ser criado para acessar o cluster de forma privada a partir da rede virtual do Azure. O ponto de extremidade privado é criado na sub-rede de uma VNet especificada. Uma vez feito isso, todos os recursos de rede virtual do Azure estarã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, entre outros. Acesso público: Usar um firewall IP é a primeira camada de proteção para proteger seu banco de dados. O Azure Cosmos DB for MongoDB vCore dá suporte a controles de acesso baseados em IP orientados por políticas para suporte ao 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. Entretanto, eles são expandidos para que um cluster do Azure Cosmos DB for MongoDB vCore seja acessível somente a partir de um conjunto aprovado de computadores ou serviços de nuvem. Todas as solicitações originadas de computadores fora dessa lista permitida são bloqueadas pelo Azure Cosmos DB for MongoDB vCore. As solicitações de computadores e de serviços de nuvem aprovados devem concluir o processo de autenticação para receber o controle de acesso aos recursos. |
Replicação local | Mesmo dentro de uma única região, o Azure Cosmos DB for MongoDB vCore replica os dados no nível de armazenamento, mantendo 3 réplicas síncronas de cada fragmento físico de forma transparente o tempo todo. Os clusters habilitados para HA têm outra camada de replicação entre cada par de fragmentos físicos primário e de espera. Alta disponibilidade a replicação é síncrona e fornece perda zero de dados em failovers, garantindo assim um SLA de disponibilidade mensal de 99,99% para configuração de região única. |
Replicação global | O Azure Cosmos DB for MongoDB vCore oferece replicação entre regiões , o que permite que você replique seus dados para outra região do Azure. A replicação global permite que você dimensione globalmente e forneça acesso de baixa latência aos seus dados no mundo inteiro. No contexto de segurança, a replicação global garante a proteção de dados contra interrupções regionais pouco frequentes. Com o cluster de réplica entre regiões, uma cópia dos seus 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 multirregional. |
Isolamento do Banco de Dados | Os bancos de dados vCore do Azure Cosmos DB for MongoDB são hospedados em seus próprios recursos dedicados. Isso significa que cada cluster obtém seu próprio nó dedicado, chamado de shard físico, ou alguns em uma configuração multishard. Cada fragmento físico tem seu próprio computador e armazenamento remoto anexados 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 for MongoDB é habilitado no momento da criação do cluster, é totalmente automatizado e não pode ser desabilitado. Restaurar é fornecido para qualquer registro de data e hora dentro do período de retenção de backup de 35 dias. |
Restaurar dados excluídos | Os backups online automatizados podem ser usados para recuperar dados de um cluster que você pode ter excluído acidentalmente até ~7 dias após o evento. |
Criptografia HTTPS/SSL/TLS | Todas as comunicações de rede com clusters vCore do Azure Cosmos DB for MongoDB são criptografadas. Somente conexões por meio de um cliente MongoDB são aceitas e a criptografia é sempre imposta. Sempre que dados são gravados no Azure Cosmos DB for MongoDB vCore, seus dados são criptografados em trânsito. A criptografia de dados suporta níveis TLS de até 1.3 (incluído). |
Criptografia em repouso | Os dados do Azure Cosmos DB for MongoDB vCore, incluindo todos os backups, são criptografados no disco, incluindo os arquivos temporários. O serviço usa a criptografia 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 habilitada e não pode ser desabilitada. |
Monitorar ataques | Ao usar registro de auditoria e registros de atividade, você pode monitorar seu banco de dados em busca de atividades normais e anormais. Você pode exibir quais operações foram realizadas em seus recursos. Esses dados incluem quem iniciou a operação, quando a operação 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 de cinco etapas é iniciado. A meta do processo de cinco etapas é restaurar a segurança e as operações de serviço normais. O processo de cinco etapas restaura os serviços o mais rápido possível após a detecção de um problema e o início de uma investigação. Saiba mais em Responsabilidade compartilhada na nuvem. |
Instalações protegidas | Os dados no Azure Cosmos DB for MongoDB vCore são armazenados nos data centers protegidos do Azure. Saiba mais em Datacenters globais da Microsoft |
Servidores com patches | O Azure Cosmos DB for MongoDB vCore elimina a necessidade de gerenciar atualizações de software e clusters de patches, o que é feito automaticamente para você. |
Contas administrativas com senhas 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 for MongoDB vCore. A senha deve ter pelo menos 8 caracteres, incluir letras maiúsculas e minúsculas do idioma inglês, números e caracteres não alfanuméricos. A segurança via autenticação baseada em segredo TLS está incorporada por padrão. |
Contas secundárias | Para acesso mais granular, contas de usuários 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 proteção de dados e de segurança | Para obter a lista mais atualizada de certificações, consulte Conformidade do Azure e o documento de conformidade do Azure mais recente com todas as certificações do Azure, incluindo a do Azure Cosmos DB. |
A captura de tela a seguir mostra como você pode usar os logs de atividade e log de auditoria 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 podem ser configuradas para seu cluster. Você pode combinar opções de acesso público e privado em seu cluster. Você pode alterar as configurações de rede a qualquer momento.
Sem acesso
Sem acesso é a opção padrão para um cluster recém-criado se nenhuma regra de firewall ou pontos de extremidade privados tiverem sido criados durante o provisionamento de cluster para acesso público ou privado, respectivamente. Nesse caso, nenhum computador, seja 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 for especificado em uma das regras de firewall no cluster, as solicitações desse endereço IP serão rejeitadas pelo firewall e não alcançarão o banco de dados.
Acesso privado
Na opção de acesso privado, um ponto de extremidade privado é criado para o cluster. Este ponto de extremidade privado está associado a uma VNet (rede virtual) do Azure 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 do Azure Cosmos DB for MongoDB vCore.
Visão geral do firewall
O Azure Cosmos DB for MongoDB vCore usa um firewall em nível de cluster para impedir todo o acesso ao seu 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 seu firewall, você cria regras de firewall que especificam intervalos de endereços IP aceitáveis.
As regras de firewall permitem que os clientes acessem o cluster e todos os bancos de dados dentro dele. Regras de firewall em 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 seu cluster em outro computador, você precisa especificar uma ou mais regras de firewall em nível de cluster para habilitar o acesso ao seu cluster. Use as regras de firewall para especificar quais intervalos de endereços IP da Internet permitir. As regras de firewall não afetam o acesso ao site do portal do Azure. Tentativas de conexão da Internet e do Azure devem primeiro passar pelo firewall antes de poderem chegar aos seus bancos de dados.