Proteger o Banco de Dados SQL do Azure

Aplica-se a:Banco de Dados SQL do Azure

Banco de Dados SQL do Azure é um mecanismo de banco de dados totalmente gerenciado como plataforma como serviço (PaaS) que gerencia a maioria das funções de gerenciamento de banco de datos, como atualização, patch, backups e monitoramento, sem envolvimento do usuário. Como frequentemente armazena dados críticos de negócios, incluindo registros de clientes, informações financeiras e propriedade intelectual, proteger seu Banco de Dados SQL do Azure é essencial para proteger contra violações de dados, acessos não autorizados e violações de conformidade.

Este artigo fornece recomendações de segurança para ajudar a proteger sua implantação no Banco de Dados SQL do Azure.

As recomendações de segurança neste artigo implementam os princípios de Confiança Zero: "Verificar explicitamente", "Usar acesso de privilégio mínimo" e "Presumir violação". Para obter diretrizes abrangentes sobre Confiança Zero, consulte o Centro de Diretrizes de Confiança Zero.

Reduzir a superfície de ataque e mitigar ameaças

Como o Banco de Dados SQL do Azure é um motor PaaS gerenciado, a Microsoft reforça o sistema operacional e a infraestrutura. Sua responsabilidade está em reduzir a exposição da aplicação e da superfície de dados a ataques e em detectar ameaças precocemente.

  • Execute avaliações de vulnerabilidades SQL: Use a avaliação de vulnerabilidades SQL para descobrir, acompanhar e corrigir possíveis configurações e vulnerabilidades incorretas no banco de dados. Agende exames recorrentes e aja com base na linha de base que ela estabelece. Para obter mais informações, consulte a avaliação de vulnerabilidade do SQL.

  • Proteja-se contra injeção SQL: Use consultas parametrizadas e procedimentos armazenados em suas aplicações, e nunca concatene a entrada do usuário em instruções SQL. A injeção SQL continua sendo um dos vetores de ataque mais comuns contra aplicações de banco de dados. Para obter mais informações, consulte SQL Injection.

  • Aplique defesa em profundidade: Combine isolamento de rede, controles de identidade, proteção de dados e monitoramento para que nenhum controle único seja um ponto único de falha. Para mais informações, consulte Guia para abordar requisitos comuns de segurança.

Segurança de rede

A segurança de rede do Banco de Dados SQL do Azure ajuda a prevenir conexões não autorizadas e reduz a exposição a ataques, de modo que apenas fontes confiáveis possam acessar seus bancos de dados.

  • Use ponto de extremidade privados: conecte-se ao seu Banco de Dados SQL do Azure por meio de endereços IP privados usando o Link Privado do Azure para evitar expor seu banco de dados à internet pública. A conectividade privada reduz a superfície de ataque e o risco de exfiltração de dados. Para obter mais informações, consulte o Link Privado do Azure para o Banco de Dados SQL do Azure.

  • Desabilite o acesso à rede pública: Quando você depende de endpoints privados, desative totalmente o acesso à rede pública para que todas as conexões passem pelo endpoint privado. Para obter mais informações, consulte Negar acesso à rede pública.

  • Configure regras de firewall em nível de servidor: Controle o acesso ao seu servidor lógico no Azure com regras de firewall IP que especificam quais endereços ou intervalos podem se conectar, seguindo o princípio do privilégio mínimo. Para obter mais informações, consulte Banco de dados SQL do Microsoft Azure e regras de firewall IP de sinapse do Azure.

  • Configure regras de firewall em nível de banco de dados: Para controle mais detalhado, configure regras de firewall em nível de banco de dados que se aplicam a bancos de dados individuais, habilitando políticas de acesso por banco de dados. Para mais informações, veja Regras de firewall IP em nível de banco de dados.

  • Restringa o tráfego a redes virtuais específicas: Use regras de rede virtual para permitir tráfego apenas de sub-redes específicas dentro das suas redes virtuais do Azure, adicionando isolamento de rede além das regras baseadas em IP. Para obter mais informações, consulte regras de rede virtual para o Banco de Dados SQL do Azure.

  • Defina a versão mínima do TLS: Configure a versão mínima do TLS do servidor lógico para 1.2 ou superior para que conexões que usem protocolos mais antigos e fracos sejam rejeitadas. Para mais informações, veja Versão mínima TLS.

  • Escolha uma política de conexão apropriada: Use a política de conexão Proxy quando quiser que todo o tráfego flua pelo gateway em uma única porta, em vez de expor a faixa de portas de nós back-end, e use o Redirecionamento para menor latência dentro do Azure. Entenda as vantagens e desvantagens antes de substituir a configuração padrão. Para obter mais informações, consulte a arquitetura de conectividade do Banco de Dados SQL do Azure.

Gerenciamento de identidade e acesso

Controles fortes de identidade e autenticação limitam o acesso aos recursos do Banco de Dados SQL do Azure a usuários e aplicativos autorizados, com gerenciamento centralizado de identidade e controle do ciclo de vida da conta mais fácil.

Autenticação e gerenciamento de contas

  • Configure um administrador do Microsoft Entra: Designe um administrador Microsoft Entra para seu servidor lógico para habilitar o gerenciamento centralizado de identidades e políticas avançadas de autenticação. Para obter mais informações, consulte Configurar a autenticação do Microsoft Entra.

  • Use a autenticação Microsoft Entra: Prefira a autenticação Microsoft Entra à autenticação SQL para gerenciamento centralizado de identidade e acesso a recursos como Acesso Condicional e autenticação multifator. Para obter mais informações, consulte Autenticação do Microsoft Entra.

  • Desative a autenticação SQL sempre que possível: Para máxima segurança, exija que todas as conexões utilizem autenticação Microsoft Entra e desative a autenticação SQL, eliminando o risco de senhas SQL fracas ou comprometidas. Para obter mais informações, consulte autenticação exclusiva do Microsoft Entra.

  • Criar usuários de banco de dados contidos: Mapear usuários de banco de dados contidos para identidades ou grupos Microsoft Entra em vez de logins em nível de servidor sempre que possível, simplificando o gerenciamento de permissões e reduzindo o acesso em nível de servidor. Para obter mais informações, consulte Usuários de banco de dados independentes.

  • Impor autenticação multifator: Exigir autenticação multifator (MFA) por meio de Acesso Condicional para as identidades Microsoft Entra que administram e conectam ao servidor lógico, adicionando uma camada de proteção além das senhas. Para mais informações, veja Como funciona a autenticação multifator.

  • Aplique políticas de Acesso Condicional: Use o Acesso Condicional para controlar o acesso com base na localização do usuário, conformidade do dispositivo e risco, oferecendo segurança adaptativa para cada tentativa de acesso. Para obter mais informações, consulte Acesso condicional.

  • Use uma identidade gerenciada para o servidor lógico: Atribua uma identidade gerenciada atribuída pelo sistema ou pelo usuário ao servidor lógico para que ele possa alcançar o Azure Key Vault (para chaves gerenciadas pelo cliente TDE) e o Armazenamento do Azure (para auditoria) sem segredos armazenados. Para mais informações, veja Identidade gerenciada no Microsoft Entra para SQL do Azure.

  • Imponha políticas de senhas fortes: Se você usa autenticação SQL, exija senhas complexas que não podem ser facilmente adivinhadas, rotative-as regularmente e evite reutilizá-las entre contas. Para obter mais informações, consulte a política de senha.

Acesso privilegiado

  • Conceda o privilégio mínimo: Conceda aos usuários apenas as permissões mínimas exigidas para suas funções de trabalho e revise as permissões regularmente. Para obter mais informações, consulte Introdução às permissões do mecanismo de banco de dados.

  • Funções administrativas separadas: Evite conceder direitos administrativos amplos a todos os administradores. Use permissões granulares e separação de funções entre as funções administrativas. Para saber mais, consulte Permissões.

  • Atribuir acesso com funções de banco de dados: Use funções de banco de dados integradas e personalizadas para implementar segurança baseada em papéis, atribuindo os usuários a funções em vez de conceder permissões individuais. Para obter mais informações, consulte funções no nível do banco de dados.

  • Use o Azure RBAC para operações de gerenciamento: Controle o acesso às operações de gerenciamento do Banco de Dados SQL do Azure com controle de acesso baseado em funções no Azure, criando papéis personalizados que concedem apenas as permissões necessárias para tarefas específicas. Para obter mais informações, consulte funções internas do Azure para bancos de dados.

  • Forneça acesso privilegiado sob demanda: Use o Microsoft Entra Privileged Identity Management (PIM) para conceder acesso por tempo limitado, mediante aprovação, a funções administrativas, para que os usuários tenham privilégios elevados somente quando necessário. Para obter mais informações, consulte Privileged Identity Management.

  • Monitore atividades privilegiadas: Permita a auditoria para rastrear ações realizadas por contas privilegiadas, revise os logs para detectar alterações suspeitas e alerte sobre operações sensíveis. Para obter mais informações, confira Auditoria para o Banco de Dados SQL do Azure.

Proteção de dados

A proteção de dados protege suas informações por meio de criptografia, mascaramento e classificação para evitar divulgação não autorizada, manipulação ou perda de informações sensíveis.

  • Ative o Transparent Data Encryption (TDE): Criptografe seu banco de dados, logs e arquivos de backup em repouso. O TDE está ativado por padrão para novos bancos de dados; use chaves gerenciadas pelo cliente no Azure Key Vault para controle adicional sobre chaves de criptografia. Para mais informações, veja Criptografia de dados transparentes (TDE) e TDE com chaves gerenciadas pelo cliente.

  • Proteja dados sensíveis com o Sempre Criptografado: Use o Sempre Criptografado para proteger dados altamente sensíveis em uso, em repouso e em trânsito, para que nem mesmo administradores possam visualizar valores de texto simples. Use enclaves seguros para funcionalidades mais ricas. Para obter mais informações, consulte Always Encrypted.

  • Crie dados à prova de adulteração com a razão: habilite a razão para criar um registro imutável e criptograficamente verificável das alterações em dados confidenciais, o que pode ajudar a atender aos requisitos regulatórios. Para obter mais informações, consulte Ledger.

  • Mascarar dados sensíveis com mascaramento dinâmico: Aplicar mascaramento dinâmico para ofuscar dados sensíveis para usuários não privilegiados, preservando a funcionalidade das aplicações, sem alterar o código da aplicação. Para obter mais informações, consulte Mascaramento de dados dinâmicos.

  • Classifique e rotule dados sensíveis: Use o SQL Data Discovery and Classification para identificar, classificar e rotular dados sensíveis, de modo que recursos como auditoria e mascaramento possam usar os metadados e você possa relatar onde residem dados sensíveis. Para obter mais informações, consulte Descoberta e classificação de dados.

  • Restringa o acesso com permissões em nível de coluna: Conceda ou negue permissões no nível da coluna para que apenas usuários que precisam de uma coluna sensível possam lê-la ou modificá-la. Para mais informações, consulte permissões de objeto GRANT.

  • Restrinja linhas com Segurança em Nível de Linha (RLS): Implemente RLS para que os usuários possam acessar apenas as linhas de dados relevantes para eles, fornecendo segurança no nível do aplicativo, ideal para cenários de multilocação. Para obter mais informações, consulte Row-Level Security.

Registro e monitoramento

Registros e monitoramentos abrangentes ajudam você a detectar atividades anômalas, investigar incidentes e demonstrar conformidade com seus bancos de dados.

  • Ative o Microsoft Defender para SQL: Ative o Microsoft Defender para SQL para detectar tentativas incomuns e potencialmente prejudiciais de acessar ou explorar seus bancos de dados, incluindo avaliação de vulnerabilidades e proteção avançada contra ameaças. Para obter mais informações, consulte o Microsoft Defender para SQL.

  • Integre com o Microsoft Defender para Nuvem: Use o Microsoft Defender para Nuvem para gerenciamento centralizado de segurança, recomendações de segurança e proteção integrada contra ameaças em todos os seus recursos do Azure. Para mais informações, veja Microsoft Defender for SQL no Defender para Nuvem.

  • Configure alertas de proteção contra ameaças: Configure alertas para atividades suspeitas, como tentativas de injeção SQL, padrões anômalos de acesso, autenticação bruta, e encaminhe notificações para os destinatários corretos. Para mais informações, veja Proteção avançada contra ameaças.

  • Ative a auditoria: Configure a auditoria para rastrear eventos do banco de dados e gravá-los em um espaço de trabalho do Log Analytics, Armazenamento do Azure ou Event Hubs. Audite eventos tanto em nível de servidor quanto em nível de banco de dados para cobertura total. Para obter mais informações, confira Auditoria para o Banco de Dados SQL do Azure.

  • Transmitir os logs de diagnóstico: Configure as definições de diagnóstico para enviar logs, incluindo categorias de segurança, como SQLSecurityAuditEvents, para o Azure Monitor Logs, o Event Hubs ou o Armazenamento do Azure para retenção e análise. Para mais informações, veja Monitor Banco de Dados SQL do Azure with Azure Monitor.

  • Revise os registros de auditoria regularmente: Estabeleça um processo para revisar os registros de auditoria em busca de atividades suspeitas, focando em ações de contas privilegiadas, tentativas de autenticação fracassadas e acesso a dados sensíveis. Para obter mais informações, confira Auditoria para o Banco de Dados SQL do Azure.

Conformidade e governança

Os controles de governança ajudam a demonstrar conformidade regulatória e a impor configurações de segurança consistentes em seus bancos de dados.

  • Acompanhe a conformidade regulatória com o Microsoft Defender para Nuvem: Use o painel de conformidade regulatória para avaliar seus bancos de dados em relação a padrões como PCI DSS, ISO 27001 e SOC, além de acompanhar a remediação de controles que falham. Para mais informações, consulte o painel de conformidade regulatória.

  • Imponha configurações com a Azure Policy: atribua definições de Azure Policy internas para o Banco de Dados SQL do Azure para auditar e impor controles como TDE (dados à prova de adulteração), auditoria, ponto de extremidade privados e autenticação somente do Microsoft Entra. Para mais informações, veja as definições embutidas do Azure Policy para Banco de Dados SQL do Azure.

  • Regule dados sensíveis com o Microsoft Purview: Registre e escaneie o Banco de Dados SQL do Azure no Microsoft Purview para catalogar, classificar e governar dados sensíveis em todo o seu patrimônio de dados. Para mais informações, veja Conectar e gerenciar Banco de Dados SQL do Azure no Microsoft Purview.

  • Aplique o benchmark de segurança em nuvem da Microsoft: Use o benchmark de segurança em nuvem da Microsoft como uma linha de base para todo o Azure para priorizar e validar os controles que você aplica ao Banco de Dados SQL do Azure. Para mais informações, veja o benchmark de segurança em nuvem da Microsoft.

Backup e recuperação

Processos confiáveis de backup e recuperação protegem seus dados contra perda devido a falhas, desastres ou ataques. Eles também ajudam você a alcançar seus objetivos de recuperação.

  • Verifique a configuração de backup automatizado: Confirme que os backups automáticos estão configurados e que a retenção atende aos seus requisitos. Banco de Dados SQL do Azure oferece backups automatizados por padrão, com retenção configurável de 1 a 35 dias. Para obter mais informações, consulte backups automatizados.

  • Configure redundância de armazenamento de backup: Escolha a redundância de armazenamento de backup que atenda às suas necessidades de disponibilidade e recuperação de desastres: redundante localmente (LRS), redundante por zona (ZRS), redundante geo-redundante (GRS) ou redundante de zona geográfica (GZRS). Para obter mais informações, consulte Redundância de armazenamento de backup.

  • Use a retenção de longo prazo para conformidade: Configure a retenção de longo prazo (LTR) para armazenar backups completos por até 10 anos quando a conformidade exigir a retenção além do período padrão. Para obter mais informações, consulte Retenção de longo prazo.

  • Teste procedimentos de backup e restauração: Teste regularmente restaurações para confirmar que atendem aos seus objetivos de tempo de recuperação e que os bancos de dados restaurados estão totalmente funcionais com dados intactos. Para obter mais informações, consulte Recuperar um banco de dados.

  • Implemente a restauração geológica para recuperação em caso de desastres: Use a restauração geográfica para restaurar um banco de dados de backups redundantes em qualquer região do Azure, protegendo contra quedas regionais. Para obter mais informações, consulte Geo-restore.

  • Monitore a atividade de backup: Acompanhe operações de backup e configure alertas para falhas usando o Azure Monitor. Para obter mais informações, consulte Monitorar e solucionar problemas de consumo de armazenamento de backup.