Por Joel Perez , Aman Sharma , Karan Dodwal (OCM) & Carlos H. Y. Furushima
Postado em Abril 2015
Revisado por Marcelo Pirovar - Solution Architect
Neste artigo, oferecemos-lhe a continuidade do artigo correspondente na parte II. Recomendamos que leia primeiro a PARTE I do presente. Continuamos..
Conforme descrito em parágrafos anteriores, a unifiedauditing (auditoria unificada) está disponível para a versão 12c (12.1.0.2), porém não está habilitada por default na versão 12c (12.1.0.2). Assim um banco de dados recém-criado está hábil somente a usar o mecanismo antigo de diretivas de auditoria disponíveis desde 11g ou release inferior, usando a política predefinida ORA_SECURECONFIG como é a única política que é habilitada por padrão. Para usar a unifiedauditing (auditoria unificada) é necessário habilita-la explicitamente, para ser utilizada, neste mecanismo, podemos utilizar outras duas políticas predefinida como, ORA_ACCOUNT_MGMT (gestão dos logons de usuário e privilégios relacionados com auditoria) e ORA_DATABASE_PARAMETER (auditoria para modificações de parâmetros).
OBS.: A política predefinida ORA_SECURECONFIG está presenta em ambos os mecanismos.
É importante ressaltar que não há uma mudança de local da trilha de auditoria para o mecanismo antigo, portanto o parâmetro AUDIT_FILE_DEST e/ou AUD$, ainda serão validos no 12c.Somente a diretiva recém-criado atualizaria a view de trilha de auditoria unificada (UnifiedAuditing), ou seja, a view UNIFIED_AUDIT_TRAIL.
Para habilitar a auditoria unificada (UnifiedAuditing) é necessário que o software oracle tenha um modulo interno adicional chamado UNIAUD_ON, que não é compilado em uma instalação padrão, por este motivo, a auditoria unificada (UnifiedAuditing) não é habilitada por default. É importante frisar que no momento da execução desta manobra, todos os recursos oracle deve estar parados (Listener, Database, Grid, etc.), uma vez que os binários do ORACLE_HOME, sofrerá uma ação de relink (recompilação).
Parando os principais serviços do oracle.
$ lsnrctl stop LSNRCTL for Linux: Version 12.1.0.2.0 - on 21-MAY-2014 02:50:36 Copyright (c) 1991, 2014, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) The command completed successfully
$ sqlplus / as sysdba Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 -64bit ProductionWith the Partitioning, OLAP, Advanced Analytics and RealApplication Testing options
SQL>shutdown immediate Database closed. Database dismounted. ORACLE instance shut down.
Após parar todos os serviços, é necessário adicionar o "modulo interno" chamado UNIAUD_ON.
$ cd $ORACLE_HOME/rdbms/lib $ make -f ins_rdbms.mk uniaud_onioracle ORACLE_HOME=$ORACLE_HOME /usr/bin/ar d /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/libknlopt.a kzanang.o /usr/bin/arcr /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/libknlopt.a /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/kzaiang.o chmod 755 /u01/app/oracle/product/12.1.0/dbhome_1/bin - Linking Oracle rm -f /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/oracle /u01/app/oracle/product/12.1.0/dbhome_1/bin/orald -o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/oracle -m64 -z noexecstack -Wl,--disable-new-dtags - L/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ - L/u01/app/oracle/product/12.1.0/dbhome_1/lib/ - L/u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs/ -Wl,-E /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/opimai.o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ssoraed.o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ttcsoi.o -Wl,- -whole-archive -lperfsrv12 -Wl,--no-whole-archive /u01/app/oracle/product/12.1.0/dbhome_1/lib/nautab.o /u01/app/oracle/product/12.1.0/dbhome_1/lib/naeet.o /u01/app/oracle/product/12.1.0/dbhome_1/lib/naect.o /u01/app/oracle/product/12.1.0/dbhome_1/lib/naedhs.o
... << Saída omitida por questão de brevidade >> ...
Concluído a adição do “modulo interno”, voltaremos os serviços novamente para estado online.
$ sqlplus / as sysdba Connected to an idle instance.
SQL>startup mount ORACLE instance started.
Total System Global Area 524288000 bytes Fixed Size 2926320 bytes Variable Size 444598544 bytes Database Buffers 71303168 bytes Redo Buffers 5459968 bytes Database mounted. Database opened.
SQL>EXIT Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit With the Partitioning, OLAP, Advanced Analytics, Real Application Testing and Unified Auditing options
É possível ver no banner ao executar o sqlplus, o anuncio da UnifiedAuditing (unificação auditoria), neste momento, ela está devidamente habilitada para o banco de dados. Para certificar essa informação, podemos consultar a visão V$OPTION do banco de dados.
SQL> select value from v$option where PARAMETER = 'Unified Auditing';
VALUE ---------------------------------------------------------------- TRUE
Para verificar se temos a diretiva padrão ORA_SECURECONFIG, basta consultar a view AUDIT_UNIFIED_POLICIES, como mostrado abaixo:
SQL> column POLICY_NAME format a30 SQL> column AUDIT_OPTION format a30 SQL> select POLICY_NAME, AUDIT_OPTION from AUDIT_UNIFIED_POLICIES where policy_name= ‘ORA_SECURECONFIG’ order by 2;
POLICY_NAME AUDIT_OPTION ----------------------------- ------------------------------ ORA_SECURECONFIG ADMINISTER KEY MANAGEMENT ORA_SECURECONFIG ALTER ANY PROCEDURE ORA_SECURECONFIG ALTER ANY SQL TRANSLATION PROFILE ORA_SECURECONFIG ALTER ANY TABLE ORA_SECURECONFIG ALTER DATABASE ORA_SECURECONFIG ALTER DATABASE LINK ORA_SECURECONFIG ALTER PLUGGABLE DATABASE ORA_SECURECONFIG ALTER PROFILE ORA_SECURECONFIG ALTER ROLE
... << Saída omitida por questão de brevidade >> ...
ORA_SECURECONFIG EXEMPT REDACTION POLICY ORA_SECURECONFIG GRANT ANY OBJECT PRIVILEGE ORA_SECURECONFIG GRANT ANY PRIVILEGE ORA_SECURECONFIG GRANT ANY ROLE ORA_SECURECONFIG LOGMINING ORA_SECURECONFIG PURGE DBA_RECYCLEBIN ORA_SECURECONFIG SET ROLE ORA_SECURECONFIG TRANSLATE ANY SQL
46 rowsselected.
Para confirmar se essa diretiva está ativada para todo a banco de dados, basta consultar a view
AUDIT_UNIFIED_ENABLED_POLICIES.
SQL> select POLICY_NAME, ENABLED_OPT, USER_NAME 2 from AUDIT_UNIFIED_ENABLED_POLICIES 3 where policy_name = 'ORA_SECURECONFIG' 4 /
POLICY_NAME ENABLED_USER_NAME ------------------------------ -------- ------------------------------ ORA_SECURECONFIG BY ALL USERS
Obs.: Habilitada por padrão para todos os usuários.
View UNIFIED_AUDIT_TRAIL
O usuário AUDSYS, armazena os dados de auditoria em suas tabelas internas, este trabalho é feito pelo processo background GEN0. As informações de auditoria pode ser exibidas usando a view somente leitura (read-only) UNIFIED_AUDIT_TRAIL. A view contém algumas colunas que auxiliam na identificação de diferentes server process (clients).
Este artigo continua na sua parte II: Oracle Database 12c Security: "Auditoria no 12c: Unified Auditing" (Part III)
Joel Pérez é 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 áreas relacionadas com bancos de dados Oracle. Consultor internacional com deveres, conferências e atividades em mais de 50 países e inúmeros clientes em todo o mundo. Palestrante regular nos eventos Oracle em todo o mundo como: OTN LAD, OTN MENA, OTN APAC e muito mais. Joel sempre foi conhecido 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.
Aman Sharma é um especialista em banco de dados Oracle, um Oracle Certified Professional (9i, 10g, 11g), um Oracle Certified Expert para Linux e SQL e Sun Certified System Admin com mais de 6 anos de experiência. Aman trabalha como instrutor de formação de profissionais ao redor da Ásia-Pacífico em tecnologias da Oracle relacionadas. Antes disso, ele trabalhou como DBA para uma empresa de desenvolvimento de software de grande porte. Em seu tempo livre, quando Aman não está ensinando ou viajando, ele gosta de passar o tempo em vários fóruns da Oracle através da web.
Karan Dodwal (OCM) é um Oracle arquiteto com especialização em Oracle High Availability. Ele é um DBA Oracle Certified Master (OCM) com vários anos de experiência em banco de dados Oracle e no desenvolvimento Oracle. Ele trabalha como consultor Oracle e já realizou diversos serviços e treinamentos sobre os produtos da Oracle na Ásia Pacífico, Ásia do Sul e na Grande China. Ele é um speaker do All India Oracle Users Group (North India Chapter) e apresenta sessões no Oracle Technology. Ele tem várias configuração feitas do Oracle High Availability em todas as plataformas para missões críticas do Oracle Database. Ele é um expert em todas as soluções de High Availability da Oracle como RAC, Exadata, Data Guard e outros. Ele freqüentemente publica artigos em diversos sites e no seu bloghttp://karandba.blogspot.in e participa ativamente de eventos do grupo de usuários Oracle AIOUG AllIndia Oracle UsersGroup (North IndiaChapter) e ajuda diversos usuário no OTN Fórum da Oracle.
Carlos H. Y. Furushima é um especialista em banco de dados relacional, trabalhando como consultor de TI, atuando principalmente como o Oracle Database Administrator (DBA Oracle). Tem uma vasta experiência e conhecimento em "Performance, diagnosticand tuning", "High Availability", "Backup & Recovery" e "Exadata". Ele também está entusiasmado com sistema operacional Linux/Unix, onde contribui com o desenvolvimento do código do kernel Linux em parceria com a comunidade "GNU Linux", com criação e revisão de novas funcionalidades, melhorias e correções de bugs. Recentemente, Furushima divide seu tempo com consultoria especializada em banco de dados Oracle e estudos sobre "Oracle Internals", com o objetivo de descobrir e entender os benefícios do bancos de dados Oracle em plataforma Linux/Unix.
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.