06 febrero 2019

Oracle 12C: Dos características interesantes en cuanto a seguridad

Hay muchas características nuevas en la base de datos de 12c que me gustan y que he discutido y hablado sobre ellas con varios colegas. Dos simples adiciones a la base de datos 12c hacen mi vida mucho más fácil en lo relativo a la seguridad de las bases de datos. El requisito era bloquear las cuentas de usuario que no hayan iniciado sesión en la base de datos durante 60 días consecutivos.

Last Login Time 

En las versiones anteriores a Oracle Database 12c (12.1) para averiguar cuándo un usuario inició sesión por última vez con éxito en la base de datos, debemos habilitar la auditoria de sesión, lo que conlleva cierta sobrecarga y el DBA debe configurar rutinas para limpiar la tabla de auditoria, etc. En 11g En la base de datos, tuve que habilitar la auditoría de sesión (mantener los registros de auditoria de la sesión durante al menos 61 días) y escribir un SQL que consultara a DBA_USERS y DBA_AUDIT_SESSION para enumerar a todos los usuarios activos que no usaron la base de datos durante 60 días.

En 12.1, Oracle registra automáticamente el tiempo de inicio de sesión exitoso en la tabla SYS.USER $ y está visible en DBA_USERS. La columna LAST_LOGIN de DBA_USERS muestra la última hora de inicio de sesión del usuario en la base de datos. En la base de datos 12.1, mi requisito se cumple al escribir un SQL simple contra DBA_USERS utilizando la columna LAST_LOGIN. No se requiere auditoria. El resultado se utiliza para crear SQL dinámico para bloquear cada cuenta mediante la instrucción ALTER USER ACCOUNT LOCK (similar a 11g).
Por cierto, notó que cuando inicie sesión en la base de datos utilizando SQL * Plus, también verá el último tiempo de inicio de sesión.

Bloqueo de cuenta inactiva

Mi requerimiento se automatizó completamente en la base de datos 12.2. Oracle introdujo el parámetro INACTIVE_ACCOUNT_TIME para los perfiles de usuario. El parámetro del perfil INACTIVE_ACCOUNT_TIME bloquea una cuenta de usuario que no ha iniciado sesión en la instancia de la base de datos en un número específico de días. El valor predeterminado para INACTIVE_ACCOUNT_TIME es 35. La configuración mínima es 15 y la máxima es 24855.

No hay comentarios:

Publicar un comentario

Por favor deja tu comentario, es valioso.