Linux: Pasos para bajar una base de datos ORACLE en forma segura

Posted by josefabre | Posted in Base de Datos, Noticias, Oracle, Software Libre, Unix/Linux | Posted on 21-05-2014

Tags: , ,

1

Cuando se generen inconvenientes en su empresa y por A o B razón deben bajar las bases de datos, la forma segura de realizar esto es siguiendo los siguientes pasos:

1.-Ingresar al servidor 

ssh o por telnet para ingresar al SQLPlus* ya sea por putty , SSH-Security o cualquier herramienta que maneje su negocio para administrar servidores

2.-Cargar las variables de ambiente

Nota:Este paso es necesario cuando el ambiente de oracle no se encuentra cargado en la sesión actual de sistema operativo

[oracle@docec admin]$ cd

[oracle@docec ~]$ . ./.bash_profile

[oracle@docec ~]$ . oraenv
ORACLE_SID = [nueva] ? nueva
ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/product/11.2.0/dbhome_1
The Oracle base remains unchanged with value /u01/app/oracle

3.-Detener el listener

Esta acción permite que usuarios nuevos no puedan conectarse

[oracle@docec ~]$ lsnrctl stop

LSNRCTL for Linux: Version 12.1.0.1.0 – Production on 21-MAY-2014 14:24:08

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
The command completed successfully

4.-Apagar la base de forma segura

[oracle@docec ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Wed May 21 14:25:16 2014

Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 – 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> shutdown immediate;

Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> exit

5.- Apagar el sistema operativo

[oracle@docec ~]$ poweroff

 

Nota: Realizar los pasos 2 y 4 por cada Instancia (SID) que se tenga en el servidor

 

Auditoria en Oracle 11g

Posted by josefabre | Posted in Administración, Aplicaciones, Base de Datos, Oracle, Proyectos, Software Libre, Unix/Linux | Posted on 15-05-2014

Tags: , ,

3

AUDITORIA EN ORACLE

VERSIÓN: 11G




  1. Auditoria informática
  2. Auditoria en Oracle
  3. Tablas y Vistas
  4. Comprobar activación de auditoria
  5. Comandos audit y noaudit
  6. Consultas de auditoria
  7. Descripción de tablas de auditoria

Auditoria informática

Consiste en recoger, agrupar y evaluar evidencias para determinar si un sistema de información salvaguarda el activo empresarial, mantiene la integridad de los datos, lleva a cabo eficazmente los fines de la organización, utiliza eficientemente los recursos, y cumple con las leyes y regulaciones establecidas.

Auditoria para Oracle

En el caso de Oracle, la auditoría es un conjunto de características que permite al administrador de la base de datos y a los usuarios hacer un seguimiento del uso de la base de datos. El administrador de base de datos puede definir la actividad de auditoría predeterminada. La información de las auditorías se almacena en el diccionario de datos, en la tabla SYS.AUD$ o en la pista de auditoría del sistema operativo (si lo permite). Lo anterior viene definido en el parámetro audit_trail.

Se pueden auditar tres tipos de acciones: intentos de inicio de sesión, accesos a objetos y acciones de la base de datos. Cuando se realizan auditorías, la funcionalidad de la base de datos es dejar constancia de los comandos correctos e incorrectos. Esto puede modificarse cuando se configura cada tipo de auditoría.

 Tablas y Vistas

Oracle almacena en la tabla SYS.AUD$ o en la pista de auditoría del sistema operativo (si lo permite).

Existen varias vistas que se usan para ayudar a la extracción de los datos  deseado en una auditoria en esta tabla (SYS.AUD$).

  • ALL_AUDIT_POLICIES
  • ALL_AUDIT_POLICY_COLUMNS
  • ALL_DEF_AUDIT_OPTS
  • ALL_REPAUDIT_ATTRIBUTE
  • ALL_REPAUDIT_COLUMN
  • APEX_DEVELOPER_AUDIT_LOG
  • DBA_AUDIT_EXISTS
  • DBA_AUDIT_OBJECT
  • DBA_AUDIT_POLICIES
  • DBA_AUDIT_POLICY_COLUMNS
  • DBA_AUDIT_SESSION
  • DBA_AUDIT_STATEMENT
  • DBA_AUDIT_TRAIL
  • DBA_COMMON_AUDIT_TRAIL
  • DBA_FGA_AUDIT_TRAIL
  • DBA_OBJ_AUDIT_OPTS
  • DBA_PRIV_AUDIT_OPTS
  • DBA_REPAUDIT_ATTRIBUTE
  • DBA_REPAUDIT_COLUMN
  • DBA_STMT_AUDIT_OPTS
  • GV_$XML_AUDIT_TRAIL
  • KU$_AUDIT_DEFAULT_VIEW
  • KU$_AUDIT_OBJ_BASE_VIEW
  • KU$_AUDIT_OBJ_VIEW
  • KU$_AUDIT_VIEW
  • KU$_PROC_AUDIT_VIEW
  • KU$_PROCDEPOBJ_AUDIT_VIEW
  • KU$_PROCOBJ_AUDIT_VIEW
  • KU$_10_1_AUDIT_VIEW
  • MGMT$AUDIT_LOG
  • MGMT$ESA_AUDIT_SYSTEM_REPORT
  • SM$AUDIT_CONFIG
  • USER_AUDIT_OBJECT
  • USER_AUDIT_POLICIES
  • USER_AUDIT_POLICY_COLUMNS
  • USER_AUDIT_SESSION
  • USER_AUDIT_STATEMENT
  • USER_AUDIT_TRAIL
  • USER_OBJ_AUDIT_OPTS
  • USER_REPAUDIT_ATTRIBUTE
  • USER_REPAUDIT_COLUMN
  • V_$XML_AUDIT_TRAIL
Estas vistas se pueden ver ejecutando la consulta SQL:

SELECT view_name
FROM dba_views
WHERE view_name LIKE ‘%AUDIT%’
ORDER BY view_name

Las principales son:

– DBA_AUDIT_OBJECT: guarda la información relativa a la auditoría de



– DBA_AUDIT_SESSION: guarda la información relativa a la auditoría de los inicios de sesión de los usuarios.



– DBA_AUDIT_TRAIL: muestra la auditoría estándar (de la tabla AUD$)



– USER_AUDIT_TRAIL: muestra la auditoría estándar (de la tabla AUD$) relativa al usuario actual



– DBA_FGA_AUDIT_TRAIL: muestra información de auditoría de grano fino (obtenida de FGA_LOG$). La auditoría de grano fino (FGA) extiende la auditoría estándar y, además, captura la sentencia SQL que ha sido ejecutada.


Nota: Todo lo anterior estará condicionado al tipo de auditoría que se haya establecido para la base de datos Oracle,

Comprobar activación de auditoría

La activación de la auditoría en Oracle  viene definida por el valor del parámetro: audit_trail.

Para comprobar si la auditoría de la base de datos está activa ejecutamos el siguiente query :

select name, value
from v$parameter
where name like ‘audit_trail’
Valores:

– none: desactiva la auditoría de la base de datos.



– os: activa la auditoría de la base de datos. Los sucesos auditados se escribirán en la pista de auditoría del sistema operativo, no se auditará en Oracle sino en el sistema operativo anfitrión. Esta opción funcionará dependiendo del sistema operativo.



– db: activa la auditoría y los datos se almacenarán en la taba SYS.AUD$ de Oracle.



– db, extended: activa la auditoría y los datos se almacenarán en la taba SYS.AUD$ de Oracle. Además se escribirán los valores correspondientes en las columnas SQLBIND y SQLTEXT de la tabla SYS.AUD$.



– xml: activa la auditoría de la base de datos, los sucesos será escritos en ficheros XML del sistema operativo.



– xml, extended: activa la auditoría de la base de datos, los sucesos será escritos en el formato XML del sistema operativo, además se incluirán los valores de SqlText y SqlBind.


Activa la auditoria
ALTER SYSTEM SET audit_trail = “DB” SCOPE=SPFILE;
Desactivar la auditoria
ALTER SYSTEM SET audit_trail = “NONE” SCOPE=SPFILE;
Nota: En Oracle 11g la auditoria viene activada por defecto, el valor del parámetro “audit_trail” está a “DB”.

Comandos audit y noaudit

Audit

Este comando puede funcionar aunque no esté activada la auditoría de la base de datos. Pero no dejara registro alguno guardado.

Auditorías de inicio de sesión

audit session;

Nota: Auditará tanto los intentos fallidos como los aciertos.

             Sólo los intentos fallidos : audit session whenever not successful;

             Sólo los intentos fallidos : audit session whenever  successful;


Auditorías de acción

Nota: Cualquier acción que afecte a un objeto de la base de datos (tabla, enlace de base de datos, espacio de tablas, sinónimo, segmento de anulación, usuario, índice, etc.) puede auditarse

audit role; 

Nota: Este comando activará la auditoría de las acciones: create rolealter roledrop role y set role.
Auditar a un usuario al realizar la acción “update” :

audit update table by nombre_usuario;



Auditorías de objeto


Auditar las acciones de manipulación de datos sobre objetos.

Por ejemplo, para auditar los “insert” realizados sobre una  tabla:

audit insert on <TABLA> by access;


Nota: al indicar “by access” hay que tener cuidado pues registrará un suceso de auditoría por cada insert, esto puede afectar al rendimiento. De ser así siempre será mejor optar por “by session” que sólo registrará un suceso de auditoría por sesión, aunque es menos exaustivo.

Sintaxis
AUDIT { sql_statement_clause | schema_object_clause | NETWORK } [ BY { SESSION | ACCESS } ] [ WHENEVER [ NOT ] SUCCESSFUL ] ; 
  • sql_statement_clause: activa la auditoría para una sentencia SQL concreta.
  • schema_object_clause: activa la auditoría para un objeto concreto de la base de datos.
  • WHENEVER SUCCESSFUL: activa la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que se completen con éxito.
  • WHENEVER NOT SUCCESSFUL: activa la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que originen error.


Noaudit

La instrucción noaudit se utiliza para detener la actividad de auditoría que se había activado previamente con la instrucción audit.

La instrucción noaudit debe tener la misma sintaxis que la instrucción audit que queramos detener.

Por ejemplo, si hemos auditado un usuario con:

audit session by alonso;

Auditará los inicios de sesión para el usuario de Oracle “alonso”, tanto los fallidos como los correctos. Para desactivar esta auditoría ejecutaremos el comando:
noaudit session by alonso;


Sintaxis

NOAUDIT { sql_statement_clause | schema_object_clause | NETWORK} [ WHENEVER [ NOT ] SUCCESSFUL ] ;  
  • sql_statement_clause: detiene la auditoria de una sentencia SQL concreta.
  • schema_object_clause: detiene la auditoría para un objeto concreto de la base de datos.
  • WHENEVER SUCCESSFUL: detiene la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que se completen con éxito.
  • WHENEVER NOT SUCCESSFUL: detiene la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que originen error.

Consultas de auditoria

  • Auditoria en inicio de sesión :
    select OS_Username Usuario_SO, Username Usuario_Oracle, Terminal ID_Terminal, DECODE (Returncode, '0', 'Conectado', '1005', 'Fallo - Null', 1017, 'Fallo', Returncode) Tipo_Suceso, TO_CHAR(Timestamp, 'DD-MM-YY HH24:MI:SS') Hora_Inicio_Sesion, TO_CHAR(Logoff_Time, 'DD-MM-YY HH24:MI:SS') Hora_Fin_Sesion from DBA_AUDIT_SESSION;
  • Auditoria por acción :
    select OS_Username Usuario_SO, Username Usuario_Oracle, Terminal ID_Terminal, Owner Propietario_Objeto, Obj_Name Nombre_Objeto, Action_Name Accion, DECODE (Returncode, '0', 'Realizado', 'Returncode') Tipo_Suceso, TO_CHAR (Timestamp, 'DD-MM-YY HH24:MI:SS') Hora from DBA_AUDIT_OBJECT;

    Descripción de tablas de auditoria

    Estructura de la tabla SYS.AUD$:

Campo Tipo de datos Tamaño Permite nulos
SESSIONID NUMBER 22 N
ENTRYID NUMBER 22 N
STATEMENT NUMBER 22 N
TIMESTAMP# DATE 7 Y
USERID VARCHAR2 30 Y
USERHOST VARCHAR2 128 Y
TERMINAL VARCHAR2 255 Y
ACTION# NUMBER 22 N
RETURNCODE NUMBER 22 N
OBJ$CREATOR VARCHAR2 30 Y
OBJ$NAME VARCHAR2 128 Y
AUTH$PRIVILEGES VARCHAR2 16 Y
AUTH$GRANTEE VARCHAR2 30 Y
NEW$OWNER VARCHAR2 30 Y
NEW$NAME VARCHAR2 128 Y
SES$ACTIONS VARCHAR2 19 Y
SES$TID NUMBER 22 Y
LOGOFF$LREAD NUMBER 22 Y
LOGOFF$PREAD NUMBER 22 Y
LOGOFF$LWRITE NUMBER 22 Y
LOGOFF$DEAD NUMBER 22 Y
LOGOFF$TIME DATE 7 Y
COMMENT$TEXT VARCHAR2 4000 Y
CLIENTID VARCHAR2 64 Y
SPARE1 VARCHAR2 255 Y
SPARE2 NUMBER 22 Y
OBJ$LABEL RAW 255 Y
SES$LABEL RAW 255 Y
PRIV$USED NUMBER 22 Y
SESSIONCPU NUMBER 22 Y
NTIMESTAMP# TIMESTAMP(6) 11 Y
PROXY$SID NUMBER 22 Y
USER$GUID VARCHAR2 32 Y
INSTANCE# NUMBER 22 Y
PROCESS# VARCHAR2 16 Y
XID RAW 8 Y
AUDITID VARCHAR2 64 Y
SCN NUMBER 22 Y
DBID NUMBER 22 Y
SQLBIND CLOB 4000 Y
SQLTEXT CLOB 4000 Y
OBJ$EDITION VARCHAR2 30 Y

Resumen de Oracle CPU’s Liberados

Posted by Paola Pullas | Posted in Noticias, Seguridad | Posted on 04-10-2009

Tags: , ,

0

Los CPU’s o Critical Patch Updates son “fixes” de seguridad para los productos Oracle, los cuales están liberados para aquellos clientes que tienen contratos válidos de soporte. Estos “fixes” son liberados los martes próximos al quinceavo día de Enero, Abril, Julio y Octubre. A continuación se despliegan las fechas de los próximos CPU’s a ser liberados, en donde podrán notar que hay un retraso para el mes en curso debido a la realización del Oracle Open World 2009:

  • 20 October 2009
  • 12 January 2010
  • 13 April 2010
  • 13 July 2010

Cada CPU que se publica es pre-anunciado el jueves anterior a su liberación y se debe tomar en cuenta que a partir del enero de 2008 se publica la información en OTN y no en Metalink.


Critical Patch Update

MetaLink Note

Latest Version/Date
Critical Patch Update
– July 2009
No MetaLink copy Rev 3, 03 September 2009
Critical Patch Update – April 2009 No MetaLink copy Rev 4, 03 September 2009
Critical Patch Update – January 2009 No MetaLink copy Rev 4, 03 September 2009
Critical Patch Update – October 2008 No MetaLink copy Rev 3, 03 September 2009
Critical Patch Update – July 2008 No MetaLink copy Rev 3, 05 March 2009
Critical Patch Update – April 2008 No MetaLink copy Rev 4, 22 May 2008
Critical Patch Update – January 2008 No MetaLink copy Rev 1, 15 January 2008
Critical Patch Update – October 2007 455284.1 Rev 1, 16 October 2007
Critical Patch Update – July 2007 432865.1 Rev 2, 19 July 2007
Critical Patch Update – April 2007 420055.1 Rev 2, 18 April 2007
Critical Patch Update – January 2007 403335.1 Rev 2, 05 March 2007
Critical Patch Update – October 2006 391558.1 Rev 4, 06 March 2006
Critical Patch Update – July 2006 372927.1 Rev 1, 18 July 2006
Critical Patch Update – April 2006 360044.1 Rev 1, 18 April 2006
Critical Patch Update – January 2006 343382.1 Rev 1, 17 January 2006
Critical Patch Update – October 2005 333953.1 Rev 2, 19 December 2005
Critical Patch Update – July 2005 311034.1 Rev 1, 12 July 2005
Critical Patch Update – April 2005 301040.1 Rev 2, 13 April 2005
Critical Patch Update – January 2005 293953.1 Rev 2, 15 March 2005

Autor: Paola Pullas