Segurança do banco de dados: 7 passos práticos e dicas
Em um mundo cada vez mais dependente da tecnologia e da internet, a segurança do banco de dados não pode ser mais deixada para depois.
Especialmente diante da série de notícias recentes sobre violações de dados.
Mas o que exatamente tem nos bancos de dados que atrai os cibercrimonosos?
Bancos de dados frequentemente hospedam vários dados organizacionais sensíveis em um formato fácil de pesquisar e analisar, tornando-os alvos valiosos para threat actors. Daí a necessidade de segurança do banco de dados.
O que é segurança do banco de dados?
Segurança do banco de dados é um termo abrangente que se refere a todos os controles e ferramentas que organizações utilizam para garantir a disponibilidade, integridade e confidenciabilidade dos seus bancos de dados (i.e., sistemas de gerenciamento de dados e todos os softwares conectados).
No geral, o objetivo da segurança do banco de dados é proteger.
- Os dados no banco de dados
- O servidor de banco de dados físico e virtual bem como hardwares de suporte
- Aplicações associadas
- A rede de acesso ao banco de dados e infraestrutura computacional
Por que essas medidas são necessárias? É simples: as consequências de uma violação de dados podem extrapolar o âmbito da sua organização. Talvez você seja forçado a lidar com propriedade intelectual comprometida, danos à reputação da marca, multas e penalidades por descumprimento, e despesas comerciais adicionais em decorrência das violações de dados.
Ameaças comuns à segurança do banco de dados:
(Texto Alternativo: Sinalização “Cuidado com as brechas”)
A seguir estão algumas das ameaças mais comuns à segurança do banco de dados.
1. Erro humano: em anos recentes, compartilhamento de senhas, senhas fracas e outros desleixos de usuários em relação à segurança têm sido citados como causas de quase metade dos casos reportados de violação de dados.
2. Ameaças internas: Uma das causas mais comuns de violação de segurança do banco de dados é a concessão de credenciais de acesso de usuário privilegiado a um número excessivo de funcionários.
Isso pode resultar em:
Um usuário descuidado cometendo erros que exponham o banco de dados a ataques
Um usuário malicioso com más intenções
Um agente infiltrado – um agente malicioso que obtém credenciais de autorização através de phishing ou outros meios antiéticos.
3. Vulnerabilidades de softwares de banco de dados: a boa notícia é que todos os fornecedores de software lançam patches de segurança regularmente para abordar essas vulnerabilidades; no entanto, a falta de celeridade na aplicação desses patches pode expor ainda mais o banco de dados da sua organização.
4.Ataques de injeção de NoSQL/SQL: organizações que não aderem às práticas seguras de codificação de aplicações web ou não conduzem testes de vulnerabilidade regularmente estão suscetíveis a ataques de injeção de NoSQL e SQL. Nos quais uma sequência de ataques arbitrários de NoSQL e SQL são executados em consultas de banco de dados atendidas por cabeçalhos HTTPS ou aplicações web.
5. Malware: malware é criado por threat actors para explorar vulnerabilidades em um banco de dados, geralmente, infiltrando-se por qualquer dispositivo de entrada conectado à rede de banco de dados, deixando muita destruição pelo caminho.
6. Ataques de DDoS/DoS: durante um ataque de DDoS/DoS, um hacker inunda o banco de dados da sua organização com requisições, assim, quando o servidor tenta atender solicitações legítimas de usuários, ele acaba falhando e, muitas vezes, se torna instável ou para de funcionar.
Pior ainda, o dilúvio vem de vários servidores, tornando ainda mais difícil cessar o ataque.
7. Exploração de transbordamento de dados: isso acontece quando um processo tenta escrever mais dados para um bloco de memória de tamanho fixo do que é permitido, deste modo, expondo o banco de dados. Assim, o excesso de dados armazenados em endereços de memória adjacentes é utilizado por hackers para lançar ataques contra o banco de dados da sua organização.
8. Violação de Backups: isso ocorre quando os mesmos controles rigorosos utilizados na proteção do banco de dados da sua organização não são aplicados aos seus backups, deixando-os vulneráveis a ataques.
9. Crescimento desordenado de infraestrutura: a complexidade dos ambientes de rede de hoje, particularmente neste período de migração da carga de trabalho das organizações para uma arquitetura de nuvem ou multinuvem, tem tornado a implantação e gerenciamento de soluções de segurança de banco de dados mais difícil.
10. Requisitos regulatórios rigorosos:
O ambiente de cumprimento regulatório está se tornando cada vez mais extenso, fazendo o cumprimento de todos os mandados mais difícil.
Como avaliar os requisitos de segurança do banco de dados da sua organização
(Texto Alternativo: Close-up de uma câmera de segurança)
A segurança do banco de dados da sua organização deve ser exclusiva dela. Sendo assim, antes de implementar qualquer medida, recomendamos avaliar o ambiente de segurança do seu banco de dados para determinar as prioridades máximas da sua equipe. Como um ponto de partida, considere os fatores a seguir:
Controles de rede e acesso administrativo: o objetivo deve ser limitar o número de usuários que têm acesso ao banco de dados. Qualquer outro cenário deve ser retificado
Segurança física: o seu servidor de banco de dados (tanto na nuvem quanto in loco) está localizado dentro de um ambiente seguro e climatizado?
Encriptação: todos os dados da sua organização (incluindo dados de credenciais) estão encriptados tanto em trânsito quanto estáticos?
Dispositivo de usuário e segurança da conta: Todos os dispositivos de usuários e contas da rede de banco de dados estão sujeitos a controles de segurança a todo momento?
Segurança da web e do servidor de aplicação: todos os servidores web e aplicações que interagem com o banco de dados estão sujeitos a testes de segurança contínuos para garantir que não se tornem condutores de ataques?
Segurança de software de banco de dados: você está executando a versão mais recente do seu software de gerenciamento de banco de dados?
Auditoria: todos os acessos e operações no seu servidor de banco de dados são regularmente gravados e auditados?
Segurança do backup: todas as cópias, backups ou imagens do banco de dados estão sujeitas aos mesmos (ou igualmente rigorosos) controles de segurança como o próprio banco de dados?
7 melhores práticas de segurança do banco de dados
(Texto Alternativo: Papel branco com observação – “Faça acontecer”)
Após você ter avaliado o ambiente de banco de dados da sua empresa, considere implementar alguns dos controles e políticas de segurança de banco de dados listadas abaixo para proteger o seu banco de dados de hackers.
- Utilize um firewall
Uma das melhores formas de garantir que o seu servidor de banco de dados está protegido contra ameaças de segurança do banco de dados é utilizar um firewall que filtre e bloqueie todo tráfego não autorizado e solicitações de acesso. O firewall também deve impedir o seu banco de dados de iniciar requisições de saída não autorizadas.
Dê um passo adiante implantando um firewall de aplicação web. Isso é para proteger contra ataques, tais como injeção de SQL que são normalmente direcionados através de aplicações web que interagem com bancos de dados.
- Mantenha servidores web e de banco de dados separados
No senso convencional, isso simplesmente significa manter o seu servidor de banco de dados em um ambiente seguro e utilizar controles de acesso rigorosos para afastar usuários não autorizados. No entanto, isso também implica hospedar o banco de dados em um servidor físico em vez de um servidor em nuvem.
Pelo fato de o servidor web estar localizado em uma Zona Desmilitarizada (do inglês, DMZ), ele está, na maioria das vezes, mais suscetível a ataques. Isso é, caso ele seja comprometido, um hacker pode obter acesso de usuário root ao seu banco de dados e dados, um risco que é reduzido ao manter o seu banco de dados em um servidor físico.
3. Implemente acessos de usuários com privilégio mínimo
Uma das causas mais comuns de violações de banco de dados é o comprometimento de contas de usuário. Sendo assim, é vital que as contas do banco de dados tenham o mínimo de privilégios para limitar as suas perdas, caso elas sejam comprometidas.
Colocando de uma outra forma, limitar o número de contas de administrador e, mesmo assim, apenas inserir os privilégios exigidos por sessão (confie, mas verifique). No entanto, caso a sua organização seja pequena, talvez isso não seja possível, mas pelo menos, gerencie as permissões através de regras ou grupos, em vez de concedê-las diretamente.
Caso a sua organização seja maior, considere o gerenciamento de acesso automático para que apenas usuários autorizados obtenham senhas temporárias com os privilégios que eles precisam toda vez que tenham necessidade de acessar o banco de dados.
Finalmente, garanta que os procedimentos padrões de segurança de conta sejam seguidos.
- Desative as contas quando funcionários mudarem de funções ou saírem da organização
- Torne obrigatória a criação de senhas fortes
- Bloqueie contas após três ou quatro tentativas fracassadas de acesso
- Encripte e salgue hashes de senhas armazenadas
4. Atualize o seu sistema operacional e software de banco de dados regularmente
Para se proteger contra as mais recentes descobertas de vulnerabilidades é de suma importância atualizar regularmente o seu sistema operacional e software de banco de dados com os patches de segurança mais recentes.
Torne isso uma prioridade organizacional para reduzir o tempo entre o lançamento de um patch e a sua aplicação ao seu banco de dados. Ainda melhor, automatize esse processo. Isso é especialmente importante para bancos de dados que estão conectados a várias aplicações terceirizadas que requerem o seu próprio patch.
5. Monitore e audite as atividades do banco de dados regularmente
A melhor forma de garantir a segurança do banco de dados é monitorar e auditar constantemente as atividades que ocorrem nele. Monitoramento efetivo permite que você detecte rapidamente atividades suspeitas quando uma conta tenha sido comprometida, ou quando o banco de dados esteja sob ataque.
Fique de olho no seguinte:
- Tentativas fracassadas de acesso
- Mau uso de contas de serviço de aplicações
- Conexões de endereços IP desconhecidos
- Transferência de dados robusta
Considere utilizar uma solução de Monitoramento de Banco de Dados ( do inglês, DAM) para centralizar statements da rede e auditar registros em um repositório seguro, caso você precise monitorar ou auditar vários bancos de dados simultaneamente. Uma DAM também pode ser utilizada para gerar vários tipos de relatórios de compliance e gerar alertas baseados na política de segurança da sua organização.
6. Encripte dados e backups
Sem encriptação de dados, hackers podem facilmente contornar controles de segurança de banco de dados e roubar dados através de conexões de rede, arquivos de dados ou armazenamento subjacente. Portanto, encripte todos os dados no seu banco de dados. Isso inclui dados armazenados (Encriptação de Dados Transparente), encriptação de dados em trânsito (TLS, encriptação de rede nativa), e backups de dados.
Nota: o uso da ferramenta de encriptação nativa do seu fornecedor de banco de dados fornecerá a melhor cobertura e desempenho porque ferramentas de encriptação terceirizadas podem ser problemáticas.
Dito isso, encriptar dados e backups é apenas uma parte da solução. Sim, isso reduz o risco de um ataque externo, mas também introduz uma nova vulnerabilidade ao banco de dados: gerenciamento de chaves de descriptografia.
Qual é a solução? Considere utilizar um sistema de gerenciamento de chaves (do inglês, KMS) para armazenar, proteger e distribuir centralizadamente as chaves de encriptação.
Dica profissional: certifique-se de que o seu KMS pode lidar com a carga em todos os cenários e suportar encriptação na implantação multi-tenant, backups, clusterização, recuperação de desastres e implantações de alta disponibilidade.
7. Aborde o risco de configuração do sistema
As violações de bancos de dados mais bem-sucedidas são resultado de um ou dois vetores: uma conta de usuário comprometida ou uma configuração incorreta que expõe o banco de dados. Especialmente considerando a complexidade dos bancos de dados de hoje, com centenas de parâmetros que podem ser ajustados com base nas necessidades de uma organização e vários dos quais, se configurados incorretamente, podem expor o banco de dados a ataques.
Portanto, recomendamos que você utilize utilitários do fornecedor para ajudá-lo a avaliar riscos de configuração. Agende um escaneamento de configuração de banco de dados como parte do seu programa de segurança pelo menos uma vez por trimestre, e fique de olho em desvios de configuração para detectar variações no seu ambiente.
Para finalizar
Não esqueça de testar a sua infraestrutura de segurança de banco de dados por meio de uma simulação de um ataque real. Auditar ou hackear o seu banco de dados irá colocá-lo na mente de um criminoso e irá ajudá-lo a descobrir vulnerabilidades que você tenha negligenciado porventura.
Gostou de ler este artigo? Que tal compartilhá-lo com o mundo?