A segurança do SQL Server sempre foi uma preocupação premente, mesmo para o DBA SQL mais experiente. Independentemente de sua versão, o banco de dados SQL está constantemente sob ameaça, pois contém dados confidenciais aos quais hackers mal-intencionados desejam acessar.

Sendo fáceis de implementar e potencialmente perigosos, os ataques de injeção de SQL (SQLi) são a escolha favorita do hacker. O relatório State of the Internet / Securityrevela que o SQLi sozinho é responsável por 77% de todos os ataques a aplicativos em 2019, onde hackers inserem SQL arbitrário na consulta ao banco de dados do aplicativo para destruí-lo.

Gráfico de ataque SQL

Fonte

A segurança dos ambientes SQL Server é considerada uma das principais responsabilidades dos administradores de banco de dados. Felizmente, o SQL Server foi projetado para ser uma plataforma de banco de dados segura. Ele possui vários recursos que podem criptografar dados, limitar o acesso e a autorização e proteger os dados contra roubo, destruição e outros tipos de comportamento mal-intencionado.

No entanto, inúmeras organizações continuam a enfrentar vulnerabilidades de banco de dados SQL, ataques de injeção de SQL, credenciais SQL de força bruta e outros ataques lançados para manipular a recuperação de dados.

A ameaça aos servidores SQL é onipresente hoje em dia. Mas isso não significa que não possamos fazer nada a respeito. Para proteger a organização de tais ataques, os DBAs e os profissionais de segurança devem entender as ameaças potenciais à plataforma de gerenciamento de banco de dados e tomar medidas proativas para mitigar os riscos de segurança.

Práticas recomendadas de segurança do SQL Server

O SQL Server é uma das plataformas de dados mais populares do mundo. Ele é usado para executar as operações e processos críticos de uma organização. Como resultado, ele oferece uma variedade de ferramentas de segurança para proteção contra ataques mal-intencionados e para proteger instâncias do SQL Server.

No entanto, usar as configurações de segurança padrão pode deixar lacunas de segurança, deixando a rede vulnerável a ataques.

Aqui está uma lista de verificação de segurança do SQL Server para cortar efetivamente as ameaças à sua plataforma de banco de dados.

1. Execute várias auditorias de segurança do SQL Server

Auditorias regulares de segurança, login e permissão do servidor são um pré-requisito para evitar possíveis ataques e para ajudar em qualquer análise forense de uma possível violação de dados. No entanto, uma auditoria de segurança do SQL Server de nível corporativo não é apenas um investimento em segurança, tornou-se um requisito legal após a nova legislação, como HIPAA e GDPR.

Para começar, defina o que você deseja auditar. Talvez você queira monitorar o seguinte em suas auditorias de servidor.

  • Logins de usuários
  • Auditoria C2
  • Critérios comuns de conformidade
  • Auditoria de Login
  • Configuração do servidor
  • Alterações de esquema
  • Auditoria do SQL Server
  • Rastreamento SQL
  • Eventos estendidos
  • Alterar a captura de dados
  • Gatilhos DML, DDL e logon

Uma auditoria de rotina pode ajudar a melhorar a integridade do banco de dados e da rede. Por exemplo, se uma consulta não for executada, uma auditoria poderá apontar o motivo subjacente. Isso aponta para uma ameaça à segurança? É devido a um erro com aordem de operações SQL?

Da mesma forma, logons com falha repetidos no servidor, alterações e exclusões em objetos de banco de dados restritos e alterações em configurações e permissões indicam que alguém está tentando acessar seu servidor. Auditorias de segurança regulares (incluindo auditoria de login) podem ajudá-lo a detectar esses sinais de possíveis ataques ao servidor e prendê-los antes que causem danos significativos.

2. Tenha uma política de senha forte

Todas as contas de administrador de banco de dados devem ter uma senha forte que ajude a combater ataques de força bruta.

  • Inclua um mínimo de 10 caracteres, incluindo números, letras maiúsculas e minúsculas e caracteres especiais. Você também pode usar senhas que consistem em um mínimo de 15 caracteres com letras e números.
  • Evite senhas fáceis de adivinhar, como “senha”, “qwerty” ou nomes e datas de nascimento de seu cônjuge. Além disso, abstenha-se de usar a mesma senha para vários sistemas.
  • Altere a senha periodicamente.
  • Use ferramentas de gerenciamento de senhas com uma chave mestra forte para armazenar várias senhas.

Quer mais notícias de tecnologia? Assine a Newsletter da ComputingEdge hoje!

3. Mantenha-o enxuto

Ter software desnecessário e aplicativos extras permite que hackers explorem seu servidor de banco de dados SQL. Além disso, vários aplicativos são difíceis de gerenciar e logo ficam desatualizados.

Todos nós sabemos como aplicativos desatualizados ou não corrigidos introduzem brechas de segurança no sistema, convidando invasores a executar código não autorizado em um servidor SQL por meio de um caminho autorizado (injeção de SQL).

Limite a instalação dos componentes e recursos do banco de dados SQL aos que são necessários para determinadas tarefas. Isso reduzirá a utilização de recursos pelo banco de dados e simplificará a administração, minimizando assim o risco de segurança.

4. Aplicar o Princípio do Privilégio Mínimo

Todos nós estamos cientes do princípio do menor privilégio, uma frase comum usada nos campos da segurança da informação e TI. Ele afirma que uma conta deve receber apenas os privilégios (neste caso, permissões mínimas e direitos do sistema) necessários para que ela funcione corretamente.

Determine quais contas devem ter permissão para executar quais serviços de banco de dados com base nesse princípio. Melhor ainda, atribua uma conta separada a um serviço específico. Dessa forma, se um serviço for comprometido, os outros poderão reforçar ainda mais a segurança e continuar a operar normalmente.

Aqui estão algumas contas que você pode ter para serviços do SQL Server.

  • Conta de usuário de domínio – Este é o tipo de conta mais comumente usado para executar serviços do SQL Server, pois é bastante seguro devido à ausência de privilégios de administrador.
  • Conta de serviço gerenciado do Active Directory– Essa conta é mais segura do que uma conta de usuário de domínio, pois não é possível fazer logon no servidor com essa conta e não é necessário gerenciar manualmente as redefinições de senha.
  • Conta de usuário local – geralmente é uma boa opção para ambientes que não são de domínio.
  • Conta do sistema local – Essas contas têm privilégios extensivos e acesso irrestrito a todos os recursos do sistema local. A conta do sistema local tem permissões que um SQL Server não precisa, portanto, você pode evitar usá-las para executar serviços.
  • Conta de serviço de rede – Tem menos privilégios do que uma conta de sistema, mas tem mais acesso a recursos e objetos de rede do que os membros do grupo de usuários. Evite usar esse tipo de conta sempre que possível.
  • Conta de serviço virtual – Essa conta é semelhante à conta de serviço gerenciado do AD, mas pode ser usada para gerenciar serviços sem um domínio. Em termos técnicos, é como uma conta de serviço de rede integrada, com seu identificador exclusivo. Isso torna as contas de serviço virtual ideais para serviços SQL.

5. Tenha uma estratégia robusta de backup de banco de dados em vigor

Sempre faça backups para seu banco de dados SQL e salve-o em locais diferentes fora da rede. Conte com ferramentas de recuperação de SQL de terceiros para resolver problemas de banco de dados SQL, como corrupção e inacessibilidade de arquivos de banco de dados.

Além disso? Lembre-se de criptografar os backups do banco de dados do SQL Server. Seu backup tem os mesmos dados confidenciais que seu banco de dados; portanto, ela precisa ser igualmente protegida. Você não quer chegar a um arquivo de backup corrompido. Portanto, aplique os mesmos protocolos a eles, incluindo restringir o acesso, usar medidas de segurança e monitorar/controlar o acesso aos dados de backup.

6. Use uma ferramenta de monitoramento SQL adequada

Uma ferramenta sólida de monitoramento SQLdeve ser capaz de verificar os processos de um aplicativo de banco de dados e monitorar as alterações nas configurações do servidor de banco de dados. Ele deve detectar prontamente erros, sessões e instruções SQL individuais que permitem o acesso a informações confidenciais.

Para não perder, a própria ferramenta de monitoramento pode representar um risco de segurança devido à natureza sensível do sistema que monitora. Portanto, a ferramenta deve usar práticas de segurança modernas, permitindo que você mantenha a integridade a longo prazo do seu banco de dados e rede.

Implante uma ferramenta de monitoramento do SQL Server adequada para proteger seu servidor contra ataques frequentes, resolver problemas de desempenho e manter sua rede em funcionamento.

Resumindo

O SQL Server oferece vários recursos para dar suporte e proteger aplicativos de banco de dados. No entanto, é impossível prever quais ameaças de segurança podem surgir em qualquer lugar. Portanto, é aconselhável conhecer as práticas recomendadas e as considerações de segurança comuns que entram na proteção de seus aplicativos de banco de dados.

As informações compartilhadas acima o guiarão na criação de uma forte estratégia de segurança do SQL Server, permitindo que você combata as ameaças comuns à segurança.

——–

Sobre o autor:
Gaurav Belanié analista sênior de SEO e marketing de conteúdo daGrowfusely, uma agência de marketing de conteúdo especializada em SEO orientado a dados. Ele tem mais de sete anos de experiência em marketing digital e adora ler e escrever sobre tecnologia educacional, IA, aprendizado de máquina, ciência de dados e outras tecnologias emergentes. Em seu tempo livre, ele gosta de assistir filmes e ouvir música. Conecte-se com ele no Twitter em@belanigaurav.


Por Gaurav Belani

Artigo Original