Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O SQL Server é um RDBMS (sistema de gerenciamento de banco de dados relacional) que armazena e gerencia dados comerciais críticos para aplicativos, análises e relatórios. Como 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 diretrizes sobre como proteger melhor o SQL Server.
Segurança de rede
Proteger o acesso à rede ao 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.
Restringir o tráfego de entrada com firewalls e NSGs: limite o acesso à rede ao SQL Server configurando o Firewall do Windows para acesso ao Mecanismo de Banco de Dados. Para o SQL Server em VMs (máquinas virtuais) do Azure, use o Firewall do Azure e os NSGs (Grupos de Segurança de Rede) para impor essas restrições.
Criptografar conexões com o SQL Server: configure o Mecanismo de Banco de Dados do SQL Server para criptografar conexões usando um certificado. Isso garante que os dados em trânsito estejam protegidos contra interceptações e adulterações. Para obter mais informações, consulte Criptografar conexões com o Mecanismo de Banco de Dados do SQL Server.
Gerenciamento remoto seguro: use protocolos criptografados (como o TLS 1.3) para todas as conexões remotas. Para obter mais informações, consulte Configurar o TLS 1.3.
Conecte-se ao SQL Server com criptografia estrita: o SQL Server 2022 introduziu a opção
strictde criptografia, que exige que todas as conexões usem criptografia. Isso ajuda a garantir que todos os dados em trânsito estejam protegidos. Para obter mais informações, consulte Conectar-se ao SQL Server com criptografia estrita.
Gerenciamento de identidades
Controles fortes de identidade e autenticação ajudam a garantir que somente usuários e aplicativos autorizados possam acessar 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 de ciclo de vida de conta mais fácil. Para obter mais informações, veja Escolher um modo de autenticação.
Use contas de serviço gerenciadas por grupo (gMSA) para serviços: use gMSA para gerenciar credenciais de conta de serviço de forma automática e segura. Para obter mais informações, consulte Group-Managed visão geral das Contas de Serviço.
Impor políticas de senha fortes: se você estiver usando a autenticação sql, exija senhas complexas que não podem ser facilmente adivinhadas e não são usadas para outras contas. Atualize regularmente senhas e imponha políticas do Active Directory. Para obter mais informações, consulte Senhas fortes.
Use usuários de banco de dados independentes quando apropriado: considere usuários de banco de dados independentes para aplicativos que precisam de autenticação no nível do banco de dados sem a necessidade de 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 das 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 privilégios mínimos. Para obter mais informações, consulte Introdução às permissões do mecanismo de banco de dados.
Separe os administradores de banco de dados (DBA) e as
sysadminfunções: evite concedersysadmindireitos a todos os DBAs. Use a permissão CONTROL SERVER quando possível, pois respeitaDENYas 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 logon 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 com privilégios: habilite a auditoria para controlar as alterações feitas por contas privilegiadas e examine os logs regularmente para atividades suspeitas. Para obter mais informações, confira Auditoria do SQL Server (Mecanismo de Banco de Dados).
Implementar a separação de função: coloque usuários do Active 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 dados em repouso e em trânsito é essencial para evitar a divulgação ou a adulteração não autorizadas.
Criptografar informações confidenciais com Always Encrypted: Use Always Encrypted e Always Encrypted com enclaves seguros para proteger dados confidenciais no SQL Server. Prefira a criptografia aleatória para uma segurança mais forte. Para obter mais informações, consulte Always Encrypted.
Use a TDE (Transparent Data Encryption) para arquivos de banco de dados: habilite o TDE para criptografar arquivos de banco de dados, backup e tempdb, protegendo os dados se a mídia física estiver comprometida. Para obter mais informações, confira Transparent Data Encryption (TDE).
Mascarar dados confidenciais com o DDM (Máscara de Dados Dinâmicos): use o 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.
Conceda permissões no nível da coluna: limite o acesso a colunas confidenciais concedendo
SELECT,REFERENCESouUPDATEpermissões apenas para usuários autorizados. Para obter mais informações, consulte as permissões GRANT.Use o RLS (Row-Level Security) para restringir o acesso a dados: implemente o RLS para garantir que os usuários vejam apenas dados relevantes para eles. Use
SESSION_CONTEXTpara aplicativos de camada intermediária em que os usuários compartilham contas SQL. Para obter mais informações, consulte Row-Level Security.Combine os recursos de segurança para proteção máxima: use Row-Level Security junto 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.
Registro em log e detecção de ameaças
O registro em log e o monitoramento abrangentes ajudam a detectar ameaças, investigar incidentes e atender aos requisitos de conformidade.
Habilitar e configurar a Auditoria do SQL Server: auditar o acesso e as alterações em dados e configurações confidenciais no nível do servidor e do banco de dados. Considere a auditoria de tabelas e colunas com dados confidenciais que tenham medidas de segurança aplicadas a elas. Examine regularmente os logs de auditoria, especialmente para tabelas que contêm informações confidenciais em que medidas de segurança completas não são possíveis. Para obter mais informações, confira Auditoria do SQL Server (Mecanismo de Banco de Dados).
Use ledger no SQL Server: Habilite o ledger para criar um registro imutável de alterações em dados confidenciais, fornecendo um registro em log que evidencie alterações. Para obter mais informações, confira Configurar um banco de dados do razão.
Backup e recuperação
Processos confiáveis de backup e recuperação protegem seus dados contra perda devido a falhas, desastres ou ataques.
Automatizar backups regulares: agende backups automatizados para bancos de dados, configurações do sistema e logs de transações. Use o Backup do Azure ou as ferramentas nativas do SQL Server. Para obter mais informações, consulte Backup e restauração de um banco de dados do SQL Server com SSMS e Backup e restauração para SQL Server em VMs do Azure.
Criptografar dados de backup: proteger arquivos de backup com TDE (Transparent Data Encryption).
Testar procedimentos de recuperação regularmente: restaurar periodicamente os backups para validar seu processo de recuperação, assegurando-se de poder atender aos objetivos de ponto e tempo de recuperação. Para obter mais informações, consulte Restaurar arquivos do backup da VM.
Avaliação de segurança e mitigação de ameaças
Avaliar regularmente seu ambiente do SQL Server ajuda a identificar vulnerabilidades e melhorar sua 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 saber mais, veja o tópico Configuração de área da superfície.
Executar avaliações de vulnerabilidade: use a Avaliação de Vulnerabilidades do SQL no SSMS para descobrir e corrigir possíveis vulnerabilidades de banco de dados. Para obter mais informações, consulte a Avaliação de Vulnerabilidades 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.
Examine e reduza ameaças comuns: proteja 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 patch e controle de acesso. Para obter mais informações, consulte injeção de SQL e ataques de Ransomware.
Implementar a segurança de defesa detalhada: 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 as práticas recomendadas de segurança do SQL Server.