Porque este artigo é útil: A segurança de um banco de dados consiste em uma série de facilidades que evitarão o acesso e uso indevido das informações mantidas pelo SGBD.

A aplicação de conceitos de segurança é recomendada para empresas de todos os segmentos, mas, em especial, instituições financeiras. Da mesma forma, em situações em que é necessário proteger os dados de usuários não autorizados ou mal intencionados, é importante a adoção de uma estratégica de segurança. Para ilustrar como estes conceitos podem ser aplicados, o artigo descreve conceitos fundamentais sobre o tema segurança de dados. Através de contextualizações e exemplos simples, são destacadas melhores práticas com relação à configuração de opções de segurança durante a criação do banco de dados Oracle.

Para que proteger dados? Parece uma pergunta boba, mas é preciso saber da resposta para que este artigo sirva para você. O que está armazenado no banco de dados é realmente importante, valioso, pois se não fosse não estaria lá. Dados sobre clientes (cartões de crédito, documentos, etc.), empregados, produtos, etc. são armazenados no banco de dados. É partindo deste princípio que os SGBDs (Sistemas Gerenciadores de Bancos de Dados) oferecem geralmente muitos recursos de segurança para serem utilizados.

Para tornar o banco de dados seguro é necessário algum investimento e saber se vale a pena investir é simples. Provavelmente o custo do investimento será muito mais baixo do que o custo envolvido com a violação e/ou perda dos dados e problemas legais (multas, processos, etc.). Eventualmente, ataques acontecem a grandes serviços na rede e muitos dados são comprometidos. Temos como exemplo a Playstation Network, que ficou indisponível por mais de trinta dias devido a um ataque, sites do Governo invadidos e alterados, a rede de supermercados Hannaford & Sweetbay, que vazou 1,8 mil números de cartões de crédito, etc.

Um estudo publicado pelo Verizon Business RISK Team mostra como a violação de dados ocorre, onde elas ocorrem mais, quais métodos usados, além de outras informações e gráficos. O relatório indica, por exemplo, que a maioria das violações se concretizou a partir de uma combinação de eventos em vez de um único evento. Em quase todos os casos algum tipo de erro contribuiu para a violação e menos de 25% exploraram vulnerabilidades. Isso mostra como é importante saber usar os recursos de segurança. Dos incidentes relacionados a vulnerabilidades, 90% tinham correções disponíveis há seis meses ou mais do ataque.

O estudo também mostra que nove de dez violações envolvem algo desconhecido para o proprietário, ou seja, que é comum não saber ou não conhecer que existem dados sensíveis e que deveriam estar protegidos na base de dados. Como proteger aquilo que você não sabe ou não vê? Dois outros fatos apresentados no estudo informam que a maioria das violações permanece despercebida por um longo tempo e são descobertas geralmente por uma empresa terceirizada. Além disso, mostra que a maioria dos ataques é de baixa a média dificuldade, ou seja, o invasor não precisa trabalhar muito para ter sucesso. O estudo foi publicado pelo Verizon Business RISK Team e pode ser obtido pelo link na seção de Links.

Conceitos

Tornar um banco de dados mais seguro não é uma tarefa trivial. O Oracle possui muitos recursos e vantagens, pois é possível se conectar ao banco de dados usando uma vasta lista de bibliotecas de rede e métodos de autenticação, existem milhares de packages e procedures, existe uma máquina virtual Java e um servidor HTTP, você pode chamar recursos externos ao banco de dados usando external procedures ou vários outros pacotes utilitários, etc. Todos estes exemplos de funcionalidades são ótimos do ponto de vista de produtividade e criação de aplicações, pois permitem que mais recursos sejam utilizados, mas do ponto de vista de segurança, quanto mais opções e recursos o servidor tiver, mais difícil será para protegê-lo e monitorá-lo adequadamente. Para que consigamos ter um direcionamento sobre como começar a avaliar o ambiente de banco de dados para deixá-lo mais seguro, é recomendável fazer o seguinte:

  • Descoberta: Não podemos proteger aquilo que não conhecemos. É preciso mapear os ativos, que são instâncias de banco de dados e dados sensíveis, como números de cartões de crédito por exemplo. Além disso, é preciso automatizar esta tarefa porque as informações levantadas neste mapeamento serão diferentes após seis ou doze meses;
  • Verificação de Configuração: É preciso avaliar a configuração do seu banco de dados para garantir que não existam brechas de segurança nele. Essa avaliação não é relacionada apenas ao banco de dados, mas também ao sistema operacional;
  • Harderning: É o processo de mapeamento das ameaças, mitigação dos riscos e execução das atividades corretivas. O que foi levantado anteriormente gerou várias recomendações. Implementá-las é o primeiro passo;
  • Auditoria de Mudanças: Após o processo de hardening, é preciso verificar continuamente se a configuração de segurança foi modificada. Podemos usar ferramentas que verificam periodicamente tais configurações e realizam comparações para descobrir se alguma alteração foi efetuada;
  • Monitoramento da Atividade do Banco de Dados: É apropriado também monitorar modificações nas configurações de segurança do banco de dados feitas através de SQL. O monitoramento permite que invasões, abusos, fraudes e problemas em geral sejam descobertos em tempo real;
  • Auditoria: Trilhas de auditoria, ou audit trails, que são dados gerados pela auditoria em forma de arquivos ou em tabelas, devem ser geradas e mantidas para registrar ações que possam impactar na segurança, integridade ou no acesso a dados sensíveis;
  • ...
    Quer ler esse conteúdo completo? Tenha acesso completo