Como proteger seus dados usando o Oracle Database Vault

Por Joel Perez , Anar Godjaev (OCE) & Flávio Soares (OCE)
Postado em Dezembro 2014

Revisado por Marcelo Pivovar - Solution Architect

Qualquer medida que deve ser tomada para fins de segurança de dados também deve ser considerado a nível de banco de dados, semelhante aos níveis de hardware, rede e sistema de operacional. Geralmente, as empresas compram um produto de firewall e acham que resolveram seus problemas relacionados à segurança. Pesquisas mostram que, apesar de que é possível tomar medidas contra ataques externos por parte dos produtos como firewall, não podem ser tomadas medidas suficientes contra ataques internos.Em particular, nenhuma ação relacionada à proteção dos dados é feita no servidor onde o banco de dados opera. Tendo o usuário uma conta com privilégio de DBA, ele vai ter toda a autoridade no banco de dados e pode executar as mesmas operações, mesmo quando ele se conecta a partir de outros computadores, possíveis falhas de segurança devem ser consideradas nesses casos.Conectar-se como um administrador de banco de dados para acessar todos os dadosé tão prejudicial como ele conectar a partir de outros computadores e executar as mesmas operações, isso também é uma falha de segurança. Oracle Database Vault, que é uma das soluções de banco de dados Oracle voltada a segurança, que é recomendado como uma aplicação que auxilia na resolução dos problemas acima mencionados.

O que é Oracle Database Vault?
Oracle Database Vault fornece um poderoso controle de segurança para ajudar a proteger os dados da aplicação de acesso não autorizados, e cumprir os requisitos de privacidade regulamentares.
Os controles podem ser implementados para bloquear o acesso à contas privilegiadas para os dados de aplicação e controlar as operações sensíveis dentro do banco de dados usando a autorização por multifatores. Segurança das aplicações podem ser ampliado através da análise de privilégios e roles. Oracle Database Vault protege os existentes ambientes de banco de dados de forma transparente, eliminando tempo e custo consumido pelas alterações nas aplicações.
Oracle Database Vault é um produto que lhe permite realizar controles de comunicação flexíveis e dinâmicos com a segurança do seu banco de dados e realizar relatórios que vem junto com o Oracle Database, queé um ajuste opcional dentro da configuração do banco de dados. Esta propriedade, que opera a nível de kernel do banco de dados é muito mais eficaz do que usar aplicativos de segurança usando PLSQL. O Database Vault é usado também quando o nível de segurança exigido por um banco de dados precisa ser diferente, essa pode ser aplicado a uma single instância do Oracle Database e da mesma forma, pode ser utilizado com sucesso na arquitetura do Oracle RAC.
Essas configurações podem impedir até mesmo o acesso de um administrador de banco de dados para acessar seus dados críticos (como cartão de crédito, informações pessoais do cliente, detalhes da conta, informações salariais, cálculos, despesas e detalhes de conversas).

  • Mantém o seu banco de dados de todas as alterações não autorizadas por você.
  • Permite que você adicione um controlador temporário parar rastrear algo em tempo oportuno.
  • Database Vault, que é um produto da família Oracle é configurado, criado e controlado com muita facilidade e o desempenho do sistema é influenciando insignificantemente.
  • Database Vault é um produto que existe dentro do banco de dados Oracle, que pode ser instalado facilmente.Ele fornece sessão de realm, command rule, factor, rule sets erelatórios.
  • Oracle Database Vault garante um ambiente muito forte e seguro para proteger as aplicações e os dados.
  • Oracle Database pode restringir os usuários autorizados (SELECT ANY TABLE). Ela pode até mesmo restringir os direitos dos usuários com maior privilégios como a role DBA.
  • Qualquer alteração a ser feita sobre os objetos no banco de dados (alter, drop, truncate, e etc) ou no conteúdo de dados (insert, delete, update, e etc) podem ser restringidos, determinando como, quando e por que que eles podem ser feitos.
  • Oracle Database Vault protege o ambiente de banco de dados existente. Desligamento de qualquer software indesejado pode ser evitado, pode também proteger o banco de dados de ataques indesejados.
  • Utiliza o princípio da separação de serviços do banco de dados (Database Duty separation).

    Controles para contas privilegiadas
    Contas de banco de dados privilegiados são um dos caminhos mais utilizados para ganhar acessos a dados sensíveis das as aplicações no banco de dados. Enquanto o acesso amplo e irrestrito facilita a manutenção de banco de dados, o mesmo acesso também cria um ponto de ataque para ganhar entrada a grandes quantidades de dados. O Oracle Database Vault Realms trabalha em torno dos esquemas,tabelas sensíveis e stored procedures que fornece controles para evitar contas privilegiadas de serem exploradas por hackers e insiders para acessar dados de aplicações sensíveis.


    Controles para configuração do banco de dados
    Entre as decisões mais comuns de auditoria são as alterações de direitos não autorizados no banco de dados, incluindo os grants de role de DBA, como também novas contas e objetos de banco de dados. Impedir alterações não autorizadas em ambientes de produção é importante não só para a segurança, mas também o cumprimento de tais mudanças pode enfraquecer a segurança e abrir portas de entrada para hackers, violando os regulamentos de privacidade e conformidade. Oracle Database Vault SQL Command permite que os clientes controlem as operações no banco de dados, incluindo comandos como create table, truncate table e create user. Vários outros fatores de auditoria, como endereço IP, método de autenticação e o nome do programa ajudam a implementar autorização por vários caminhos afim de impedir ataques providos de roubos de senhas. Esses controles evitam alterações acidentais de configuração e também impedem que hackers e insiders maliciosos de adulterar aplicações.


    Recomendações da configuração do Database Vault


    Recomendação 1
    : A linha relevante em/var/opt/oracle/oratabdevem ser claramente apontados para o $ORACLE_HOME. Caso contrário, o botão de configuração será ignorado quando o dbca é iniciado.

    Recomendação2
    : PASSWORD_VERIFY_FUNCTION no profile default dever ser NULL. Entretanto, o erro ORA-29504 vai aparecer. Para a solução siga a nota Doc ID 1509963.1

    Recomendação3
    : O erro ORA-29504 pode aparecer em 85% da configuração com o DBCA. Esse erro pode ser ignorado Oracle Database 11g. Isso foi editado para a versão 12c. Para a solução siga a nota Doc ID 1509963.1

    Controle do DB Vault Option
    Para esse controle, nós entramos com o sqlplus / sysdba:

    Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production 

    Vamos ver no texto de entrada relacionado com o Vault. Se fosse configurado, nos também veríamos "With the Oracle Label Security, Oracle Database Vault options" no texto de entrada.
    Para controle adicional, Podemos verificar através da view abaixo:
    
    SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault'; 
    Oracle Database Vault -----à FALSE (ou seja, está desabilitado )


    Exemplo:


    Habilitando o DB Vault Option para o Oracle

    Passo 1-O banco de dados em questão está em modo shutdown
    SQL> shutdown immediate

    Passo 2-Dbconsole (Enterprise Manager), se existir, deve estar em modo shutdown
    $ emctl stop dbconsole

    Passo 3- Shutdown listener
    lsnrctl stop listener

    Passo 4- DB Vault Option está habilitado para o Oracle
    cd $ORACLE_HOME/rdbms/lib
    make -f ins_rdbms.mk dv_onlbac_onioracle

    AVISO COMUM: Quando uma opção está habilitada no Oracle binário, o comando chopt também pode ser usado em vez do make -f. A sua configuração é descrita no seguinte Link

    Exemplo:

    chopt enable lbac 
    Writing to /u01/app/oracle/product/11.2.0/dbhome_2/install/enable_lbac.log... 
      /usr/bin/make -f /u01/app/oracle/product/11.2.0/dbhome_2/rdbms/lib/ins_rdbms.mk lbac_on 
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_2 
     /usr/bin/make -f /u01/app/oracle/product/11.2.0/dbhome_2/rdbms/lib/ins_rdbms.mk ioracle 
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_2 
    chopt enable dv 
    Writing to /u01/app/oracle/product/11.2.0/dbhome_2/install/enable_dv.log... 
      /usr/bin/make -f /u01/app/oracle/product/11.2.0/dbhome_2/rdbms/lib/ins_rdbms.mk dv_on 
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_2 
      /usr/bin/make -f /u01/app/oracle/product/11.2.0/dbhome_2/rdbms/lib/ins_rdbms.mk ioracle 
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_2 


    PASSO 5-Database e o Listenerdevem estar abertos e devem ser verificado se o DB Vault está habilitado ou não.

    Sqlplus> startup; 
    SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault'; Oracle Database 
     
    Vault --à TRUE (isto é, está habilitado) 
      

    Quando entrar novamente no sqlplus, With the Oracle Label Security, Oracle Database Vault options irá aparecer.

    Exemplo

     

    Ele vem como selecionado na configuração do banco de dados do Oracle Database Vault. Database Vault tanto pode ser selecionado enquanto a Oracle está sendo configurado ou ativado após a configuração da instância Oracle. A fim de ativá-lo após a configuração da instância do Oracle, o Database Configuration Assistant deve ser utilizado pelo comando dbca.     


    Descrição do usuário/senha é utilizada para Database Vault e opcionalmente para Account Manager (Registro recomendado).


    Depois do terminado da configuração, entre no browser no seguinte endereçohttps://hostname(ou host ip):porta/ e a tela do Oracle Database Vault irá aparecer.



    Datatabase Vault Separação de Deveres (Duty Separation)
    A feature Duty Separation do Oracle Database Vault irá criar três contas diferentes, tais como o administrador de segurança no banco de dados, gerenciador de contas e o administrador de banco de dados.
    O administrador de segurança (Security Administration), é a pessoa responsável pela segurança é também o gerente do Vault  Oracle. Ele é responsável por todas as operações de segurança no banco de dados. Ele pode gerenciar domínios, regras de comando e os fatores e pode operar relatórios do Database Vault, enquanto que ele pode não ter acesso aos dados da aplicação.
    O Gerente de Conta (Account Management) pode criar, apagar e alterar contas de usuário e o administrador de banco de dados (Database Administration) tem funções de DBA, como backup/recovery, aplicação de patches e gerenciamento de desempenho.

     



     


    Joel é um DBA Especialista (Oracle ACE Director, OCM Cloud Admin. & OCM11g ). Com mais de 14 anos de experiência do mundo Oracle Technology, especializado em arquitetura e implementação de soluções como: Cloud, Alta disponibilidade, Disaster Recovery, Upgrades, replicação e todos as área relacionada com bancos de dados Oracle. Consultor Internacional realizando conferências em mais de 50 países e inúmeros clientes em todo o mundo. Um dos principais escritores de artigos da Technical Oracle: OTN Espanhol e Português OTN. Regular Speaker nos eventos Oracle em todo o mundo como: OTN LAD, OTN MENA, OTN APAC e muito mais. Joel sempre foi conhecida por ser pioneiro em tecnologia Oracle desde os primeiros dias de sua carreira sendo o primeiro latino-americano premiado como "OTN Expert" no ano de 2003 pela Oracle Corporation, um dos primeiros "ACE Oracle" no Oracle ACE Program no ano de 2004, um dos primeiros OCP Database Cloud Administrator em todo o mundo no ano de 2013 e como um das maiores realizações profissionais em sua carreira, recentemente ele foi homenageado como o primeiro "OCM Database Cloud Administrator" do mundo.

    Anar Godjaev é Oracle Certified Professional (10g, 11g, OCP, OCE / ACE Associate) com mais de 8 anos de experiência com Unix/Linux/Windows e com o Oracle Database. Ele tem se dedicado totalmente às tecnologias de banco de dados como Oracle RAC, Data Guard, RMAN, ASM, Grid Control, Performance Tuning, e de Segurança (Oracle Database Vault). Anar é autor do livro | "Oracle 11g R2 General Concepts With Examples" em turco, e este livro foi distribuído gratuitamente para iniciantes Oracle na Turquia e Azerbaijão. Atualmente ele está trabalhando como DBA Sênior no banco YapiKredi em Azerbaijão.

    Flávio Soares é um Oracle DBA Sênior, Exadata DMA, Troubleshooter e Consultor Oracle, certificado em OCP/OCE RAC. Especialista em Exadata, alta disponibilidade e replicação de dados com soluções Oracle. Flávio disponibiliza frequentes informações para a comunidade Oracle através do seu blog

    Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.