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ço https://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.
