Partilhar via


Proteja seu SQL Server

O SQL Server é um sistema de gerenciamento de banco de dados relacional (RDBMS) que armazena e gerencia dados corporativos críticos para aplicativos, análises e relatórios. Como ele geralmente contém informações confidenciais, como registros de clientes, dados financeiros e propriedade intelectual, proteger o SQL Server é essencial para proteger sua organização contra violações de dados, acesso não autorizado e riscos de conformidade.

Este artigo fornece orientação sobre como proteger melhor o SQL Server.

Segurança de rede

Proteger o acesso à rede para o SQL Server ajuda a evitar conexões não autorizadas, reduz a exposição a ataques e garante que apenas fontes confiáveis possam acessar seus bancos de dados.

Gestão de identidades

Controles de identidade e autenticação fortes ajudam a garantir que apenas usuários e aplicativos autorizados possam acessar os recursos do SQL Server.

  • Use a autenticação do Windows ou a autenticação do Microsoft Entra: prefira a autenticação do Windows ou a autenticação do Microsoft Entra em vez da autenticação SQL para gerenciamento centralizado de identidades e controle mais fácil do ciclo de vida da conta. Para obter mais informações, veja Escolher um modo de autenticação.

  • Usar contas de serviço gerenciadas por grupo (gMSA) para serviços: use o gMSA para gerenciar credenciais de conta de serviço de forma automática e segura. Para obter mais informações, consulte Visão geralGroup-Managed Contas de serviço.

  • Impor políticas de senha forte: se você estiver usando a autenticação SQL, exija senhas complexas que não possam ser facilmente adivinhadas e não sejam usadas para outras contas. Atualize senhas regularmente e aplique políticas do Ative Directory. Para obter mais informações, consulte Senhas fortes.

  • Usar usuários de banco de dados contidos quando apropriado: considere usuários de banco de dados contidos para aplicativos que precisam de autenticação no nível do banco de dados sem exigir logons no nível do servidor. Para obter mais informações, consulte Usuários de banco de dados contidos.

Acesso privilegiado

Limitar e monitorar o acesso privilegiado ajuda a evitar alterações não autorizadas e reduz o impacto de contas comprometidas.

  • Conceda as permissões mínimas necessárias: atribua o nível mais baixo de privilégio necessário para cada usuário ou serviço. Revise e ajuste regularmente as permissões para manter o mínimo de privilégios. Para obter mais informações, consulte Introdução às permissões do mecanismo de banco de dados.

  • Separe administradores de banco de dados (DBA) e sysadmin funções: evite conceder sysadmin direitos a todos os DBAs. Use a permissão CONTROL SERVER quando possível, pois ela respeita as DENY permissões e permite um controle mais granular. Considere uma separação de tarefas que limitam o acesso à máquina virtual, a capacidade de fazer login no sistema operacional, a capacidade de modificar logs de erro e auditoria e a capacidade de instalar aplicativos e/ou recursos. Para obter mais informações, consulte Permissões (Mecanismo de Banco de Dados).

  • Monitorar e auditar atividades privilegiadas: habilite a auditoria para rastrear alterações feitas por contas privilegiadas e revise os logs regularmente em busca de atividades suspeitas. Para obter mais informações, consulte Auditoria do SQL Server (Mecanismo de Banco de Dados).

  • Implementar separação de funções: coloque os usuários do Ative Directory em grupos do AD, mapeie grupos do AD para funções do SQL Server e conceda às funções do SQL Server as permissões mínimas exigidas pelos aplicativos. Para obter mais informações, consulte Introdução às permissões do mecanismo de banco de dados.

Proteção de dados

Proteger os dados em repouso e em trânsito é fundamental para evitar a divulgação ou adulteração não autorizadas.

  • Encripte dados confidenciais com Always Encrypted: utilize a função Always Encrypted e os enclaves seguros para proteger informações sensíveis no SQL Server. Prefira a criptografia aleatória para maior segurança. Para obter mais informações, consulte Always Encrypted.

  • Use a Criptografia de Dados Transparente (TDE) para arquivos de banco de dados: habilite a TDE para criptografar arquivos de banco de dados, backup e tempdb, protegendo os dados se a mídia física for comprometida. Para obter mais informações, consulte Transparent Data Encryption (TDE).

  • Mascarar dados confidenciais com DDM (Dynamic Data Masking - Mascaramento Dinâmico de Dados): use DDM para ofuscar dados confidenciais nos resultados da consulta quando a criptografia não for possível. Para obter mais informações, consulte Dynamic Data Masking.

  • Conceder permissões em nível de coluna: limite o acesso a colunas confidenciais concedendo SELECT, REFERENCESou UPDATE permissões apenas a usuários autorizados. Para obter mais informações, consulte GRANT permissions.

  • Use a Segurança Row-Level (RLS) para restringir o acesso aos dados: implemente a RLS para garantir que os usuários vejam apenas os dados relevantes para eles. Use SESSION_CONTEXT para aplicativos de camada intermediária onde os usuários compartilham contas SQL. Para obter mais informações, consulte SegurançaRow-Level.

  • Combine recursos de segurança para máxima proteção: use a Segurança Row-Level juntamente com o Always Encrypted ou o Dynamic Data Masking para maximizar a postura de segurança da sua organização. Para obter mais informações, consulte Row-Level Práticas recomendadas de segurança.

Registo e deteção de ameaças

O registro e o monitoramento abrangentes ajudam a detetar ameaças, investigar incidentes e atender aos requisitos de conformidade.

  • Habilitar e configurar a Auditoria do SQL Server: audite o acesso e as alterações em dados e configurações confidenciais no nível do servidor e do banco de dados. Considere auditar tabelas e colunas com dados confidenciais que tenham medidas de segurança aplicadas a elas. Revise regularmente os logs de auditoria, especialmente para tabelas que contenham informações confidenciais onde medidas de segurança completas não sejam possíveis. Para obter mais informações, consulte Auditoria do SQL Server (Mecanismo de Banco de Dados).

  • Usar o livro-razão no SQL Server: habilite o livro-razão para criar um registro imutável de alterações em dados confidenciais, fornecendo registro com prova de violação. Para obter mais informações, consulte Configurar um banco de dados contábil.

Backup e recuperação

Processos confiáveis de backup e recuperação protegem seus dados contra perdas devido a falhas, desastres ou ataques.

Avaliação de segurança e mitigação de ameaças

A avaliação regular do ambiente do SQL Server ajuda a identificar vulnerabilidades e a melhorar a postura de segurança.

  • Limitar recursos habilitados para reduzir a superfície de ataque: habilite apenas os recursos do SQL Server necessários para seu ambiente. Para obter mais informações, consulte Configuração da área de superfície.

  • Executar avaliações de vulnerabilidade: use a Avaliação de Vulnerabilidade do SQL no SSMS para descobrir e corrigir possíveis vulnerabilidades do banco de dados. Para obter mais informações, consulte Avaliação de vulnerabilidade do SQL.

  • Classificar e rotular dados confidenciais: use a Descoberta e Classificação de Dados SQL para identificar e rotular dados confidenciais para melhor proteção e conformidade. Para obter mais informações, consulte Descoberta e classificação de dados SQL.

  • Revise e mitigue ameaças comuns: proteja-se contra injeção de SQL, ataques de canal lateral, força bruta, spray de senha e ransomware seguindo as práticas recomendadas para validação de entrada, aplicação de patches e controle de acesso. Para obter mais informações, consulte Injeção de SQL e ataques de ransomware.

  • Implemente a segurança de defesa profunda: use vários recursos de segurança direcionados a diferentes escopos de segurança para fornecer proteção abrangente contra várias ameaças. Para obter mais informações, consulte Práticas recomendadas de segurança do SQL Server.