120104 AECID 00.02 Checklist Seguridad Oracle

download 120104 AECID 00.02 Checklist Seguridad Oracle

of 12

Transcript of 120104 AECID 00.02 Checklist Seguridad Oracle

Item 1.01 Instalacin 10.2 Instalacin 1.02 Instalacin 1.03 Instalacin 1.04 Parches 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13

Recomendacin Comprobar que no hay usuarios conectados mientras se instala el software. Debido a que Oracle crea ficheros temporales en directorios con acceso pblico podra ser posible para otro usuario conectado modificar, eliminar o reescribir estos ficheros. Asignar a las variables de entorno $TMP y $TMPDIR un directorio con privilegios slo para el propietario de la cuenta del software Oracle y el grupo ORA_INSTALL. Instalar nicamente los componentes estrictamente necesarios Usar usuarios diferentes para cada componente de Oracle: Database, Listener e Intelligent Agent

Instalar la ltima versin disponible y actualizar hasta el ltimo nivel de parches La herramienta tkprof permite diagnosticar problemas de rendimiento en la BBDD. En el caso de que no sea estrictamente necesaria en produccin es conveniente eliminarla o, al menos, proteger poniendo tkprof los permisos necesarios (0750 o ms restrictivo). listener Cambiar el nombre por defecto del listener Usar direcciones IP en vez de hostnames listener listener Cambiar los puertos por defecto Usar autenticacin del SO listener otrace Deshabilitar Acciones recomendadas en orden de preferencia: Cuentas por defecto 1. Eliminar el usuario 2. Bloquear el usuario 3. Cambiar la contrasea por defecto OEM Eliminar del sistema si no se utiliza OEM Service or SID name No usar el SID por defecto (ORCL)

Fecha

chmod 750 /oracle/product/10.2.0/bin/tkprof

DROP USER SYSMAN CASCADE:

Item 2.01 Permisos 2.02 Permisos 2.03 Permisos 2.04 Permisos 2.05 Permisos 2.06 spfile.ora

Recomendacin El propietario de todos los ficheros en $ORACLE_HOME/bin debe ser el usuario oracle, excepto los archivos makerootca.sh, oradism, nmo, nmb y extjob que han de ser de root. Los ficheros en $ORACLE_HOME/bin deben tener asignados los permisos 0755 o menos Los ficheros en $ORACLE_HOME (excepto en bin) deben tener permisos 750 La mscara de permisos del usuario oracle debe ser 022 Verificar permisos en $ORACLE_HOME/network/admin

Comprobacin ls -al $ORACLE_HOME/bin/* ls -al $ORACLE_HOME/bin/* ls al $ORACLE_HOME umask ls -al $ORACLE_HOME/network/admin/*

Restringir permisos sobre el fichero spfile.ora al grupo dba y el usuario ls -al $ORACLE_HOME/dbs/spfile.ora oracle Restringir permisos sobre el fichero init.ora al grupo dba y el usuario ls -al $ORACLE_HOME/dbs/init.ora oracle. Restringir permisos sobre el fichero referenciado por ifile al grupo dba y el usuario oracle Verificar el parmetro audit_file_dest. - El directorio de destino debe pertenecer al usuario oracle. - Asignar permisos nicamente al propietario. Verificar el parametro diagnostic_dest - Directorio vlido perteneciente al usuario oracle. - Permisos restringidos al usuario oracle y al grupo dba. Verificar el parmetro control_files. - Permisos limitados al usuario oracle y al grupo dba. Verificar el parametro log_archive_dest_n - Directorio vlido perteneciente al usuario oracle. - Permisos completos al usuario oracle, y de lectura al grupo dba. Restringir permisos sobre los ficheros de datos al grupo dba y al usuario oracle. Verificar permisos del fichero sqlnet.ora - Permisos de lectura y escritura para el usuario oracle, y de lectura para el resto. Verificar el parametro log_directory_client - Directorio vlido perteneciente al usuario oracle. - Permisos de lectura y escritura limitados al usuario oracle, y de lectura al grupo dba. Verificar el parametro log_directory_server - Directorio vlido perteneciente al usuario oracle. - Permisos de lectura y escritura limitados al usuario oracle, y de lectura al grupo dba. Verificar el parametro trace_directory_client - Directorio vlido perteneciente al usuario oracle. - Permisos de lectura y escritura limitados al usuario oracle, y de lectura al grupo dba. Verificar el parametro trace_directory_server - Directorio vlido perteneciente al usuario oracle. - Permisos de lectura y escritura limitados al usuario oracle, y de lectura al grupo dba. Verificar permisos del fichero listener.ora - Permisos de lectura y escritura limitados al usuario oracle y al grupo dba. Verificar el parmetro log_file_listener - Directorio vlido perteneciente al usuario oracle. - Permisos de lectura y escritura limitados al usuario oracle, y de lectura al grupo dba. Verificar el parmetro trace_directory_listener_name - Directorio vlido perteneciente al usuario oracle. - Permisos de lectura y escritura limitados al usuario oracle y al grupo dba. Verificar el valor del parmetro trace_file_listener_name. - El fichero especificado debe pertenecer al usuario oracle. - Permisos de lectura y escritura limitados al usuario oracle y al grupo dba. Los permisos del ejecutable sqlplus deben restringirse al usuario oracle y al grupo dba Los permisos del fichero htaccess deben restringirse al usuario oracle y al grupo dba grep ifile init.ora ls -al grep -i audit_file_dest init.ora ls -al grep -i diagonostic_dest init.ora ls -al grep -i control_files init.ora ls -al select name from V$controlfile; grep -i log_archive_dest init.ora ls -al ls -al $ORACLE_HOME/dbs/* ls al sqlnet.ora

2.07 init.ora 2.08 init.ora 2.09 init.ora

2.10 init.ora

2.11 init.ora

2.12 init.ora 2.13 Ficheros de datos 2.14 sqlnet.ora

2.15 sqlnet.ora

grep -i log_directory_client sqlnet.ora

2.16 sqlnet.ora

grep -i log_directory_client sqlnet.ora

2.17 sqlnet.ora

grep -i trace_directory_client sqlnet.ora

2.18 sqlnet.ora

grep -i trace_directory_server sqlnet.ora

2.19 listener.ora

ls -al $ORACLE_HOME/network/admin/listener.ora

2.20 listener.ora

grep -i log_file_listener listener.ora

2.21 listener.ora

grep -i trace-directory listener.ora

2.22 listener.ora

grep -i trace_file listener.ora ls al which -a sqlplus ls -al ls al .htaccess

2.23 sqlplus 2.24 htaccess

Accin chown oracle.dba $ORACLE_HOME/* chmod 0755 $ORACLE_HOME/bin/* chmod 750 $ORACLE_HOME/* chmod 644 $ORACLE/network/admin/* chown oracle.dba $ORACLE_HOME/network/admin/* chgrp oracle_grp spfile.ora chown oracle spfile.ora chmod 640 spfile.ora chgrp oracle_grp init.ora chown oracle init.ora chmod 644 init.ora chmod 750 ifile chown oracle.dba ifile chmod 600 auditfile chown oracle.dba auditfile chmod 660 diag_file chown oracle.dba diag_file chmod 640 control_file chown oracle.dba control_file chmod 750 file_file_dest chown oracle.dba log_file_dest chown oracle $ORACLE_HOME/dbs/* chgrp dba $ORACLE_HOME/dbs/* chmod 644 sqlnet.ora chown oracle.dba sqlnet.ora chmod 640 log_directory_client chown oracle.dba log_directory_client chmod 640 log_directory_client chown oracle.dba log_directory_client chmod 640 log_directory_client chown oracle.dba log_directory_client chmod 640 trace_directory_server chown oracle.dba trace_directory_server chmod 660 $ORACLE_HOME/network/admin/listener.ora chown oracle.dba $ORACLE_HOME/network/admin/listener.ora chmod 640 \ $ORACLE_HOME/network/log/listener.log chown oracle.dba $ORACLE_HOME/network/log/listener.log chmod 660 trace_dir chown oracleuser.oraclegroup trace_dir chown oracle.dba $ORACLE_HOME/network/trace chmod 660 $ORACLE_HOME/network/trace chown oracle.dba sqlplus chmod 750 sqlplus chown oracle.dba .htaccess chmod 644 .htaccess

Fecha

Item

3.01 init.ora

3.02 init.ora 3.03 init.ora 3.03 init.ora 3.04 init.ora 3.05 init.ora

3.06 init.ora

3.07 init.ora 3.08 init.ora

Comprobacin Ejecutar como sysdba la consulta: SELECT x.ksppinm name, y.ksppstvl value Evitar que los usuarios puedan leer ficheros de trazas, que pueden contener FROM x$ksppi x, x$ksppcv y WHERE x.inst_id = userenv('Instance') AND informacin sensible. y.inst_id = userenv('Instance') AND x.indx = y.indx AND x.ksppinm='_trace_files_public'; Forzar que Oracle compruebe que el nombre del acceso a la BBDD es el mismo grep -i global_names init.ora que el de la BBDD remota. Evitar conexiones sin contrasea grep -i remote_os_authent init.ora Prevenir el spoofing de conexiones grep -i remote_os_roles init.ora Evitar el uso de listener en mquinas remotas grep -i remote_listener init.ora Habilitar la auditora bsica. El valor recomendado es OS, ya que reduce la grep -i audit_trail init.ora probabilidad de un ataque DoS Establecer la redundancia de los ficheros de redo para prevenir su prdida en caso de fallo de un disco fsico. grep -i log_archive_duplex_dest init.ora - Se debe apuntar a un directorio vlido - Permisos de lectura/escritura restringidos al propietario de la cuenta del software Oracle y al grupo DBA. El archivado debe completarse correctamente en ms de una localizacin. grep -i LOG_ARCHIVE_MIN_SUCCEED_DEST init.ora Forzar que un usuario deba tener el privilegio SELECT en una tabla para ser grep -i sql92_security init.ora capaz de ejecutar comandos UPDATE y DELETE con la clusula WHERE. Ubicacin de los ficheros de traza de los usuarios El parmetro user_dump_dest debe apuntar a un directorio vlido grep -i user_dump_dest init.ora Permisos restringidos al propietario de la cuenta del software Oracle y al grupo DBA. Ubicacin de los ficheros de las trazas de los procesos. El parmetro background_dump_dest debe apuntar a un directorio vlido grep -i background_dump_dest init.ora Permisos restringidos al propietario de la cuenta del software Oracle y al grupo DBA. Ubicacin de los ficheros de traza de los ficheros core. El parmetro core_dump_dest debe apuntar a un directorio vlido Permisos restringidos al propietario de la cuenta del software Oracle y al grupo DBA. Evitar que usuarios con roles que permiten SELECT ANY TABLE accedan al diccionario de datos. Forzar un reinicio del listener para que se apliquen las modificaciones en sus parametros Registrar los eventos del listener grep -i core_dump_dest init.ora

Recomendacin

3.09 init.ora

3.10 init.ora

3.11 init.ora

3.12 init.ora 3.13 listener.ora 3.14 listener.ora 3.15 nologging 3.16 spfile.ora 3.17 spfile.ora 3.18 sqlnet.ora 3.19 sqlnet.ora 3.20 cuentas

grep i o7_dictionary_accessibility \ init.ora grep -i admin_restrictions listener.ora grep -i logging_listener listener.ora

No dejar objetos en modo NOLOGGING en entornos de produccin. Comprobar N.A. que todos los objetos de la BBDD (tablas e ndices) estn en modo LOGGING. Deshabilitar los puertos XDB (ftp:2100 y HTTP:8080) grep -i XDB spfile.ora

Monitorizar las acciones de los usuarios con ms privilegios, o sea, los autenticados como SYSDBA y SYSOPER. Configurar el parametro grep -i AUDIT_SYS_OPERATIONS init.ora AUDIT_FILE_DEST (ver 2.09) Activar la lista de nodos permitidos en el listener grep -i tcp.validnode_checking sqlnet.ora Definir una lista de nodos a los que se permite conectar con el listener grep -i tcp.invited_nodes sqlnet.ora SELECT USERNAME, ACCOUNT_STATUS Bloquear cuentas de aplicacin para evitar conexiones a la BBDD FROM DBA_USERS;

Accin

Fecha

Ejecutar como sysdba la consulta: ALTER SYSTEM SET _trace_files_public = TRUE SCOPE=SPFILE;

global_names= TRUE remote_os_authent=FALSE remote_os_roles= FALSE remote_listener="" audit_trail=OS

LOG_ARCHIVE_DUPLEX_DEST=

LOG_ARCHIVE_MIN_SUCCEED_DEST = sql92_security= TRUE

user_dump_dest=

background_dump_dest=

core_dump_dest=

o7_dictionary_accessibility= FALSE admin_restrictions_listener_name=on logging_listener=ON N.A. Borrar del fichero spfile.ora la lnea: dispatchers= (PROTOCOL= TCP)(SERVICE= XDB) AUDIT_SYS_OPERATIONS=TRUE tcp.validnode_checking=YES tcp.invited_nodes = (IP1, IP2, , IPN) ALTER USER ACCOUNT LOCK PASSWORD EXPIRE

Item 4.01 Perfiles

Recomendacin Restringir el nmero mximos de intentos de login para evitar ataques de fuerza bruta.

4.02 Perfiles Restringir la duracin de la contrasea para evitar ataques. Establecer un nmero de contraseas diferentes que deben ser usadas por el usuario antes de la contrasea actual puede reutilizarse. Establecer la cantidad de tiempo que debe transcurrir antes de que una contrasea puede ser reutilizada. Establecer la cantidad de tiempo en das que la cuenta ser bloqueada si se alcanza el nmero mximo de intentos de login fallidos. Establecer la cantidad de tiempo en das que se advierte al usuario cambiar su contrasea antes de que caduque

4.03 Perfiles

4.04 Perfiles

4.05 Perfiles

4.06 Perfiles

Comprobacin SELECT PROFILE, RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE RESOURCE_NAME= FAILED_LOGIN_ATTEMPTS SELECT PROFILE, RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE RESOURCE_NAME= PASSWORD_LIFE_TIME SELECT PROFILE, RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE RESOURCE_NAME= PASSWORD_REUSE_MAX SELECT PROFILE, RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE RESOURCE_NAME= PASSWORD_REUSE_TIME SELECT PROFILE, RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE RESOURCE_NAME= PASSWORD_LOCK_TIME SELECT PROFILE, RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE RESOURCE_NAME= PASSWORD_GRACE_TIME

4.07 Perfiles Establecer la funcin de validacin de contraseas

SELECT PROFILE, RESOURCE_NAME FROM DBA_PROFILES WHERE RESOURCE_NAME='PASSWORD_VERIFY_FUNCTION';

4.08 Perfiles Limitar el uso de CPU por sesin 4.09 Perfiles 4.10 Perfiles

4.11 Perfiles

4.12 Perfiles

SELECT PROFILE, RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE RESOURCE_NAME= CPU_PER_SESSION ; SELECT PROFILE, RESOURCE_NAME, LIMIT FROM DBA_PROFILES Limitar el consumo de SGA por sesin WHERE RESOURCE_NAME= PRIVATE_SGA ; SELECT PROFILE, RESOURCE_NAME, LIMIT Limitar las lecturas a disco por sesin FROM DBA_PROFILES WHERE RESOURCE_NAME= LOGICAL_READS_PER_SESSION ; SELECT PROFILE, RESOURCE_NAME, LIMIT Limitar las sesiones simultneas de un usuario FROM DBA_PROFILES WHERE RESOURCE_NAME= SESSIONS_PER_USER ; Limitar el tiempo mximo que una sesin puede permanecer sin que SELECT PROFILE, RESOURCE_NAME, LIMIT FROM DBA_PROFILES sea utilizada de manera activa.

Accin ALTER PROFILE profile_name LIMIT FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1; ALTER PROFILE profile_name LIMIT password_life_time 90;

Fecha

ALTER PROFILE profile_name LIMIT password_reuse_max 20;

ALTER PROFILE profile_name LIMIT password_reuse_time 365;

ALTER PROFILE profile_name LIMIT password_lock_time 1;

ALTER PROFILE profile_name LIMIT password_grace_time 3; Oracle proporciona el fichero utlpwdmg.sql que se puede usar para crear una funcin de verificacin. Si se usa este script, se deben hacer las siguientes modificaciones: PASSWORD_GRACE_TIME 3 PASSWORD_REUSE_TIME 365 PASSWORD_REUSE_MAX 20 FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1 IF length(password) < 4 por ALTER PROFILE profile_name LIMIT CPU_PER_SESSION ; ALTER PROFILE profile_name LIMIT PRIVATE_SGA ; ALTER PROFILE profile_name LIMIT LOGICAL_READS_ PER_SESSION ;

ALTER PROFILE profile_name LIMIT SESSIONS_PER_USER ;

ALTER PROFILE profile_name LIMIT IDLE_TIME ;

Recomendaciones de seguridad para Tablespaces, Tables, Views, Roles, Synonyms y packages. Por defecto, sys y dba tienen asignados la mayor part Recomendacin 5.01 Tablespace No se debe tener default_tablespace establecido a SYSTEM en las cuentas de usuario Revocar permisos de acceso a SYS.AUD$ donde sea posible. Este punto 5.02 Tables se debe aplicar nicamente si audit trail es db o db_extended (ver item 3.06) Revocar permisos de acceso a SYS.USER_HISTORY$, excepto a los 5.03 Tables usuarios sys y dba. Item 5.04 Tables Revocar permisos de acceso a SYS.LINK$, ya que se almacena informacin sobre usuarios y contraseas. Revocar permisos de acceso a SYS.USER$, ya que se almacena informacin sobre usuarios y contraseas. Revocar permisos de acceso a SYS.SOURCE$, ya que alterar el contenido de la tabla podra comprometer la seguridad e integridad de la BBDD Revocar permisos de acceso a PERFSTAT.STATS$SQLTEXT, donde sea posible. SQLTEXT almacena las sentencias SQL ejecutadas y puede contener informacin sensible. Revocar permisos de acceso a PERFSTAT.STATS$SQL_SUMMARY, donde sea posible. SQL_SUMMARY almacena las primeras lneas de las sentencias SQL ejecutadas y puede contener informacin sensible. Comprobacin SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS; SELECT GRANTEE, PRIVILEGE FROM DBA_TAB_PRIVS WHERE TABLE_NAME= AUD$ SELECT GRANTEE, PRIVILEGE FROM DBA_TAB_PRIVS WHERE TABLE_NAME= USER_HISTORY$ ; SELECT GRANTEE, PRIVILEGE FROM DBA_TAB_PRIVS WHERE TABLE_NAME= LINK$ ; SELECT GRANTEE, PRIVILEGE FROM DBA_TAB_PRIVS WHERE TABLE_NAME= USER$ ; SELECT GRANTEE, PRIVILEGE FROM DBA_TAB_PRIVS WHERE TABLE_NAME= SOURCE$ ; SELECT GRANTEE, PRIVILEGE, TABLE_NAME FROM DBA_TAB_PRIVS WHERE TABLE_NAME= STATS$SQLTEXT ; SELECT GRANTEE, PRIVILEGE, TABLE_NAME FROM DBA_TAB_PRIVS WHERE TABLE_NAME= STATS$SQLSUM ;

5.05 Tables

5.06 Tables

5.07 Tables

5.08 Tables

5.09 Tables

5.10 Vistas

5.11 Vistas

5.12 Vistas

5.13 Vistas

5.14 Vistas

5.15 Vistas

5.16 Roles

Revocar permisos de acceso a las tablas x$. Estas tablas son de uso SELECT GRANTEE, PRIVILEGE, TABLE_NAME FROM DBA_TAB_PRIVS interno de la BBDD y no deben ser accedidas por los usuarios. WHERE TABLE_NAME LIKE( X$% ); Revocar permisos de acceso a las vistas DBA_. Estas vistas guardan SELECT GRANTEE, PRIVILEGE, TABLE_NAME informacin sobre todos los objetos de la BBDD y deben ser accedidas FROM DBA_TAB_PRIVS nicamente por usuarios administradores. WHERE TABLE_NAME LIKE( DBA_$% ); Revocar permisos de acceso a las vistas v$. Estas vistas guardan SELECT GRANTEE, PRIVILEGE, TABLE_NAME FROM informacin sobre la BBDD y deben ser accedidas nicamente por DBA_TAB_PRIVS WHERE TABLE_NAME LIKE( V$% ); usuarios administradores. Revocar permisos de acceso a la vista ALL_SOURCE. Esta vista guarda el SELECT GRANTEE, PRIVILEGE, TABLE_NAME FROM DBA_TAB_PRIVS cdigo de todos los objetos de los usuarios. WHERE TABLE_NAME= ALL_SOURCE ; Revocar permisos de acceso a la vista ROLE_ROLE_PRIVS. Esta vista SELECT GRANTEE, PRIVILEGE, TABLE_NAME FROM DBA_TAB_PRIVS muestra los roles concedidos a otros roles. WHERE TABLE_NAME='ROLE_ROLE_PRIVS'; Revocar permisos de acceso a la vista USER_TAB_PRIVS. Esta vista SELECT GRANTEE, PRIVILEGE, TABLE_NAME FROM DBA_TAB_PRIVS muestra los permisos concedidos sobre tablas a los usuarios. WHERE TABLE_NAME='USER_TAB_PRIVS'; Revocar permisos de acceso a la vista USER_ROLE_PRIVS. Esta vista SELECT GRANTEE, PRIVILEGE, TABLE_NAME FROM DBA_TAB_PRIVS muestra los roles concedidos a los usuarios. WHERE TABLE_NAME='USER_ROLE_PRIVS'; Revocar la asignacin de roles de catlogo a los usuarios que no los necesitan. SELECT GRANTEE, PRIVILEGE, TABLE_NAME - SELECT_CATALOG_ROLE FROM DBA_TAB_PRIVS - EXECUTE_CATALOG_ROLE WHERE TABLE_NAME LIKE("%_CATALOG_%"); - DELETE_CATALOG_ROLE - RECOVERY_CATALOG_OWNER Prevenir los accesos a los sinnimos v$. Estos sinnimos referencian a SELECT SYNONYM_NAME, TABLE_NAME las tablas de ejecucin dinmica, a las que nicmante sys debe tener acceso. Restingir privilegios de sistema a los usuarios dba (excepto CREATE SESSION). Evitar conceder privilegios con ANY, ya que extienden el permiso a todos los esquemas de la BD. FROM ALL_SYNONYMS WHERE TABLE_NAME LIKE "V$%"; SELECT * FROM DBA_SYS_PRIVS; SELECT * FROM DBA_SYS_PRIVS WHERE PRIVILEGE LIKE '%ANY%'; SELECT * FROM DBA_SYS_PRIVS WHERE PRIVILEGE='GRANT ANY PRIVILEGE'; SELECT * FROM DBA_SYS_PRIVS WHERE PRIVILEGE='GRANT ANY OBJECT PRIVILEGE'; SELECT * FROM DBA_SYS_PRIVS WHERE PRIVILEGE='EXEMPT ACCESS POLICY'; SELECT * FROM DBA_SYS_PRIVS WHERE ADMIN_OPTION='YES'; SELECT * FROM DBA_TAB_PRIVS WHERE GRANTABLE='YES'; SELECT * FROM DBA_SYS_PRIVS WHERE PRIVILEGE='ALTER SYSTEM'; SELECT * FROM DBA_SYS_PRIVS WHERE PRIVILEGE LIKE('BECOME USER'); SELECT * FROM DBA_SYS_PRIVS WHERE PRIVILEGE LIKE( SELECT ANY% ); SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE='RESOURCE'; SELECT * FROM DBA_ROLE_PRIVS

5.17 Sinonimos 5.18 Privilegios 5.19 Privilegios

5.20 Privilegios

Evitar conceder ALL PRIVILEGES, ya que da acceso completo a todas las tablas, vistas y objetos del usuario o rol

5.21 Privilegios

5.22 Privilegios

Revocar el privilegio EXEMPT ACCESS POLICY. Este privilegio proporciona acceso a cualquier dato independiente de la poltica de seguridad de acceso. Revocar los privilegios concedidos WITH ADMIN, ya que permite al usuario conceder sus permisos a otros usuarios. Revocar los privilegios concedidos WITH GRANT, ya que permite al usuario conceder ese privilegio a otros usuarios. Revocar el privilegio ALTER SYSTEM, ya que permite alterar dinamicamente la instancia. Revocar el privilegio BECOME USER, ya que permite a un usuario heredar los permisos de otro usuario. Revocar el privilegio SELECT ANY TABLE.

5.23 Privilegios

5.24 Privilegios 5.25 Privilegios 5.26 Privilegios

5.27 Roles

Revocar el rol CONNECT de las cuentas de usuarios normales.

5.28 Roles

Revocar el rol DBA de las cuentas de usuarios normales.

5.29 Paquetes

5.30 Paquetes

5.31 Paquetes

5.32 Paquetes

5.33 Paquetes

5.34 Paquetes

5.35 Paquetes

5.36 Paquetes

5.37 Paquetes

Aplicar restricciones de acceso al paquere UTL_FILE, a que permite el SELECT GRANTEE, TABLE_NAME FROM DBA_TAB_PRIVS acceso al SO. WHERE TABLE_NAME='UTL_FILE'; Aplicar restricciones de acceso al paquere UTL_TCP, ya que permite la SELECT GRANTEE, TABLE_NAME FROM DBA_TAB_PRIVS lectura y escritura de sockets WHERE TABLE_NAME='UTL_TCP'; SELECT GRANTEE, TABLE_NAME Aplicar restricciones de acceso al paquere UTL_HTTP FROM DBA_TAB_PRIVS WHERE TABLE_NAME='UTL_HTTP'; Aplicar restricciones de acceso al paquere UTL_SMTP, ya que permite el SELECT GRANTEE, TABLE_NAME FROM DBA_TAB_PRIVS envo de correos desde la BBDD WHERE TABLE_NAME='UTL_SMTP'; SELECT GRANTEE, TABLE_NAME Aplicar restricciones de acceso al paquere UTL_LOB FROM DBA_TAB_PRIVS WHERE TABLE_NAME='UTL_LOB'; SELECT GRANTEE, TABLE_NAME Aplicar restricciones de acceso al paquere DBMS_SYS_SQL FROM DBA_TAB_PRIVS WHERE TABLE_NAME='DBMS_SYS_SQL'; SELECT GRANTEE, TABLE_NAME Aplicar restricciones de acceso al paquere DBMS_JOB FROM DBA_TAB_PRIVS WHERE TABLE_NAME='DBMS_JOB'; SELECT GRANTEE, TABLE_NAME Aplicar restricciones de acceso al paquere DBMS_BACKUP_RESTORE FROM DBA_TAB_PRIVS WHERE TABLE_NAME='DBMS_BACKUP_RESTORE'; SELECT GRANTEE, TABLE_NAME Aplicar restricciones de acceso al paquere DBMS_RANDOM FROM DBA_TAB_PRIVS

Accin ALTER USER DEFAULT_TABLESPACE table; REVOKE ALL ON SYS.AUD$ FROM ;

Fecha

REVOKE ALL ON SYS.USER_HISTROY$ FROM ;

REVOKE ALL ON SYS.LINK$ FROM ;

REVOKE ALL ON SYS.USER$ FROM ;

REVOKE ALL ON SYS.SOURCE$ FROM ;

REVOKE ALL ON PERFSTAT.STATS$SQLTEXT;

REVOKE ALL ON PERFSTAT.STATS$SQLSUM;

REVOKE ALL ON X$ FROM ;

REVOKE ALL ON DBA_ FROM ;

REVOKE ALL ON v$ FROM ;

REVOKE ALL ON ALL_ SOURCE FROM ;

REVOKE ALL ON ROLE_ROLE_PRIVS FROM ;

REVOKE ALL ON USER_TAB_PRIVS FROM ;

REVOKE ALL ON USER_ROLE_PRIVS FROM ;

REVOKE ALL ON FROM ;

REVOKE ALL ON FROM ; REVOKE ALL FROM ;

REVOKE ALL PRIVILEGES FROM GRANT TO ;

REVOKE FROM ; GRANT TO ; REVOKE GRANT OPTION FOR ON FROM ;

REVOKE ALTER SYSTEM FROM ; REVOKE BECOME USER FROM REVOKE SELECT ANY FROM ;

REVOKE RESOURCE FROM ;

REVOKE DBA FROM ;

REVOKE EXECUTE ON UTL_FILE FROM PUBLIC;

REVOKE EXECUTE ON UTL_TCP FROM PUBLIC;

REVOKE EXECUTE ON UTL_HTTP FROM PUBLIC;

REVOKE EXECUTE ON UTL_SMTP FROM PUBLIC;

REVOKE EXECUTE ON UTL_LOB FROM PUBLIC;

REVOKE EXECUTE ON DBMS_SYS_SQL FROM PUBLIC;

REVOKE EXECUTE ON DBMS_JOB FROM PUBLIC;

REVOKE EXECUTE ON DBMS_BACKUP_RESTORE FROM PUBLIC;

REVOKE EXECUTE ON DBMS_RANDOM FROM PUBLIC;