Proteger a sua Base de Dados SQL do Azure

Aplica-se a:Banco de Dados SQL do Azure

O Base de Dados SQL do Azure é um motor de base de dados totalmente gerido como plataforma como serviço (PaaS) que gere a maioria das funções de gestão de bases de dados, como atualização, atualização, backups e monitorização, sem envolvimento do utilizador. Como frequentemente armazena dados empresariais críticos, incluindo registos de clientes, informações financeiras e propriedade intelectual, proteger a sua Base 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 a sua implementação no Base de Dados SQL do Azure.

As recomendações de segurança neste artigo implementam os princípios do Confiança Zero: "Verificar explicitamente", "Usar acesso com privilégios mínimos" e "Assumir violação". Para obter orientações abrangentes sobre Confiança Zero, consulte o Centro de Orientação Confiança Zero.

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

Como o Base de Dados SQL do Azure é um motor PaaS gerido, a Microsoft reforça o sistema operativo e a infraestrutura. A sua responsabilidade centra-se em reduzir a aplicação e a superfície de dados expostas a ataques e em detetar ameaças precocemente.

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

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

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

Segurança de rede

A segurança de rede do Base de Dados SQL do Azure ajuda a prevenir ligações não autorizadas e reduz a exposição a ataques, permitindo que apenas fontes confiáveis acedam às suas bases de dados.

  • Utilize pontos finais privados: Ligue-se à sua Base de Dados SQL do Azure através de endereços IP privados com o Azure Private Link para evitar expor a sua base de dados à Internet pública. A conectividade privada reduz a superfície de ataque e o risco de exfiltração de dados. Para mais informações, consulte Azure Private Link para Base de Dados SQL do Azure.

  • Desativar o acesso à rede pública: Quando depender de endpoints privados, desative completamente o acesso à rede pública para que todas as ligações passem pelo endpoint privado. Para mais informações, consulte Negar acesso público à rede.

  • Configurar regras de firewall ao nível do servidor: Controla o acesso ao teu servidor lógico no Azure com regras de firewall IP que especificam quais os endereços ou intervalos que podem ligar-se, seguindo o princípio do privilégio mínimo. Para obter mais informações, consulte Banco de Dados SQL do Azure e Regras de firewall IP do Azure Sinapse.

  • Configure regras de firewall ao nível da base de dados: Para um controlo mais detalhado, configure regras de firewall ao nível da base de dados que se apliquem a bases de dados individuais, permitindo políticas de acesso por base de dados. Para mais informações, consulte Regras de firewall IP ao nível da base 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 Azure, adicionando isolamento de rede para além das regras baseadas em IP. Para mais informações, consulte Regras de Rede Virtual para Base de Dados SQL do Azure.

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

  • Escolha a política de ligação adequada: utilize a política de ligação Proxy quando pretender que todo o tráfego flua através do gateway numa única porta, em vez de expor o intervalo de portas dos nós de back-end, e utilize Redirect para obter menor latência no Azure. Compreenda os trade-offs antes de substituir a predefinição. Para mais informações, consulte Arquitetura de conectividade Base de Dados SQL do Azure.

Gestão de identidade e acesso

Controlos fortes de identidade e autenticação limitam o acesso aos seus recursos da Base de Dados SQL do Azure a utilizadores e aplicações autorizados, com gestão centralizada de identidades e um controlo mais fácil do ciclo de vida da conta.

Autenticação e gestão de contas

  • Configure um administrador Microsoft Entra: Designe um administrador Microsoft Entra para o seu servidor lógico para permitir a gestão centralizada 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 gestão centralizada de identidades e acesso a funcionalidades 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 ligações utilizem autenticação Microsoft Entra e desative a autenticação SQL, eliminando o risco de palavras-passe SQL fracas ou comprometidas. Para mais informações, consulte a autenticação exclusiva para Microsoft Entra.

  • Criar utilizadores de base de dados contidos: Associe os utilizadores de base de dados contidos a identidades ou grupos do Microsoft Entra, em vez de inícios de sessão ao nível do servidor, sempre que possível, simplificando a gestão de permissões e reduzindo o acesso ao nível do servidor. Para obter mais informações, consulte Utilizadores de bases de dados contidas.

  • Impor autenticação multifator: Exigir autenticação multifator (MFA) através de Acesso Condicional para as identidades Microsoft Entra que administram e se ligam ao servidor lógico, adicionando uma camada de proteção para além das palavras-passe. 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 utilizador, conformidade do dispositivo e risco, proporcionando segurança adaptativa para cada tentativa de acesso. Para mais informações, consulte Acesso condicional.

  • Use uma identidade gerida para o servidor lógico: Atribua uma identidade gerida atribuída pelo sistema ou pelo utilizador ao servidor lógico para que este possa aceder ao Azure Key Vault (para chaves geridas pelo cliente TDE) e ao Armazenamento do Azure (para auditoria) sem segredos armazenados. Para mais informações, consulte Identidade gerida no Microsoft Entra para SQL do Azure.

  • Imponha políticas de palavras-passe fortes: Se usar autenticação SQL, exija palavras-passe complexas que não possam ser facilmente adivinhadas, roda-as regularmente e evite reutilizá-las entre contas. Para obter mais informações, consulte Política de senha.

Acesso privilegiado

  • Conceder o privilégio mínimo: Conceder aos utilizadores apenas as permissões mínimas necessárias para as suas funções de trabalho e rever 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 funções administrativas. Para obter mais informações, consulte Permissões.

  • Atribuir acesso com funções de base de dados: Utilize funções de base de dados incorporadas e personalizadas para implementar segurança baseada em papéis, atribuindo aos utilizadores funções em vez de conceder permissões individuais. Para mais informações, consulte Funções ao nível da base de dados.

  • Use o Azure RBAC para operações de gestão: Controle o acesso às operações de gestão do Base de Dados SQL do Azure com controlo 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.

  • Fornecer acesso privilegiado apenas quando necessário: Utilize o Microsoft Entra Privileged Identity Management (PIM) para conceder acesso por tempo limitado e sujeito a aprovação a funções de administração, para que os utilizadores tenham privilégios elevados apenas quando necessário. Para mais informações, consulte Gestão de Identidade Privilegiada.

  • Monitorizar atividades privilegiadas: Permitir auditorias para acompanhar ações realizadas por contas privilegiadas, rever os registos para alterações suspeitas e alertar sobre operações sensíveis. Para mais informações, consulte a Auditoria para o Banco de Dados SQL do Azure .

Proteção de dados

A proteção de dados protege a sua informação através de encriptação, mascaramento e classificação para evitar divulgação não autorizada, manipulação ou perda de informações sensíveis.

  • Ative o Encriptação de Dados Transparente (TDE): Encripte a sua base de dados, registo e ficheiros de backup em repouso. O TDE está ativado por predefinição nas novas bases de dados; utilize chaves geridas pelo cliente no Azure Key Vault para um controlo adicional das chaves de encriptação. Para mais informações, consulte Encriptação de dados transparentes (TDE) e TDE com chaves geridas pelo cliente.

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

  • Crie dados com evidência de adulteração com o livro-razão: Ative o livro-razão para criar um registo imutável e criptograficamente verificável das alterações a dados sensíveis, o que pode ajudar a cumprir os requisitos regulamentares. Para obter mais informações, consulte Ledger.

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

  • Classificar e rotular dados sensíveis: Use a Descoberta e Classificação de Dados SQL para identificar, classificar e rotular dados sensíveis, para que funcionalidades como auditoria e mascaramento possam usar os metadados e possa reportar onde residem dados sensíveis. Para obter mais informações, consulte Descoberta e classificação de dados.

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

  • Restrinja as linhas com segurança ao nível da linha (RLS): Implemente RLS para que os utilizadores possam aceder apenas às linhas de dados que lhes sejam relevantes, proporcionando segurança ao nível da aplicação, ideal para cenários multi-inquilino. Para obter mais informações, consulte Segurança ao Nível de Linha.

Registo e monitorização

Registos e monitorização abrangentes ajudam-no a detetar atividades anómalas, investigar incidentes e demonstrar conformidade com as suas bases de dados.

  • Ative o Microsoft Defender para SQL: Ative o Microsoft Defender para SQL para detetar tentativas invulgares e potencialmente prejudiciais de aceder ou explorar as suas bases de dados, incluindo avaliação de vulnerabilidades e proteção avançada contra ameaças. Para obter mais informações, consulte Microsoft Defender for SQL.

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

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

  • Ativar a auditoria: Configure a auditoria para acompanhar eventos na base de dados e escreva-os num espaço de trabalho do Log Analytics, Armazenamento do Azure ou Event Hubs. Audite eventos tanto ao nível do servidor como ao nível da base de dados para cobertura total. Para mais informações, consulte a Auditoria para o Banco de Dados SQL do Azure .

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

  • Rever regularmente os registos de auditoria: Estabelecer um processo para rever os registos de auditoria em busca de atividades suspeitas, focando-se em ações de contas privilegiadas, tentativas falhadas de autenticação e acesso a dados sensíveis. Para mais informações, consulte a Auditoria para o Banco de Dados SQL do Azure .

Conformidade e governança

Os controlos de governação ajudam-no a demonstrar conformidade regulatória e a impor configurações de segurança consistentes em todas as suas bases de dados.

  • Acompanhe a conformidade regulatória com o Microsoft Defender para a Cloud: Use o painel de conformidade regulatória para avaliar as suas bases de dados em relação a normas como PCI DSS, ISO 27001 e SOC, e para acompanhar a remediação de controlos falhados. Para mais informações, consulte o painel de conformidade regulamentar.

  • Impor configurações com o Azure Policy: Atribua definições incorporadas do Azure Policy para o Base de Dados SQL do Azure para auditar e impor controlos como TDE, auditoria, endpoints privados e autenticação exclusiva do Microsoft Entra. Para mais informações, consulte as definições incorporadas do Azure Policy para Base de Dados SQL do Azure.

  • Regule dados sensíveis com o Microsoft Purview: Registe e digitalize o Base de Dados SQL do Azure no Microsoft Purview para catalogar, classificar e gerir dados sensíveis em todo o seu património de dados. Para mais informações, consulte Conectar-se e gerir Base de Dados SQL do Azure no Microsoft Purview.

  • Aplique o benchmark de segurança cloud da Microsoft: Utilize o benchmark de segurança cloud da Microsoft como uma linha de base para toda a Azure para priorizar e validar os controlos que aplica ao Base de Dados SQL do Azure. Para mais informações, consulte o benchmark de segurança na cloud da Microsoft.

Backup e recuperação

Processos confiáveis de backup e recuperação protegem seus dados contra perdas devido a falhas, desastres ou ataques. Também o ajudam a atingir os seus objetivos de recuperação.

  • Verifique a configuração automática de backups: Confirme que os backups automáticos estão configurados e que a retenção cumpre os seus requisitos. O Base de Dados SQL do Azure fornece backups automáticos por defeito 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 corresponda às suas necessidades de disponibilidade e recuperação de desastres: redundante localmente (LRS), redundante por zona (ZRS), redundante geo-redundante (GRS) ou redundante por zona geográfica (GZRS). Para obter mais informações, consulte Redundância de armazenamento de backup.

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

  • Teste procedimentos de backup e restauro: Teste regularmente as restaurações para confirmar que cumprem os seus objetivos de tempo de recuperação e que as bases de dados restauradas estão totalmente funcionais com dados intactos. Para mais informações, consulte Recuperar uma base de dados.

  • Implemente a restauração geográfica para recuperação de desastres: Use a restauração geográfica para restaurar uma base de dados a partir de backups geo-redundantes para qualquer região do Azure, protegendo contra falhas regionais. Para mais informações, consulte Geo-restore.

  • Monitorize a atividade de backup: Acompanhe as operações de backup e configure alertas para falhas usando o Azure Monitor. Para mais informações, consulte Monitorizar e resolver problemas com o consumo de armazenamento de backup.