Fundamentos de la autenticación de contraseña de Oracle 12c

June 28

La protección de contraseña es la forma más común para proteger los datos en los sistemas informáticos, incluidos Oracle 12c. Esta verdad se aplica a los cajeros automáticos de los bancos, sitios web y, por supuesto, su base de datos Oracle. La protección de contraseña ayuda a establecer la identidad. La superación de esta verificación es el primer paso para mostrar que eres un miembro de confianza del club.

Hoy en día cuando se crea la base de datos:

  • Cuentas por defecto están bloqueadas.
  • SYS y SYSTEM contraseñas se eligen y se establecen durante la creación de la base de datos.
  • La seguridad de contraseña se ve reforzada por forzar contraseñas complejas.

Con estas medidas, la base de datos es bastante seguro, tan pronto como se cree.

Cómo reforzar la seguridad de contraseñas con perfiles en Oracle 12c

Un perfil de la contraseña es un mecanismo en la base de datos que obliga a un usuario para seguir las directrices al crear o modificar las contraseñas. Las directrices ayudan a proporcionar una mayor seguridad en el sistema, al no permitir contraseñas débiles.

Los siguientes son malas ideas para la creación de contraseñas, y ni usted ni sus usuarios debe hacer ninguna de estas cosas. De lo contrario, usted está abriendo la puerta a los huéspedes no invitados. Así que no se considere

  • Hacer la contraseña el mismo que el nombre de usuario
  • Haciendo contraseña su contraseña
  • La reutilización de la misma contraseña cuando el sistema le pide que cambie

El tener que recordar contraseñas complejas a veces es un inconveniente, pero lo aceptan como parte de su responsabilidad. De lo contrario, es posible que en algún momento tenga que asumir la culpa de que alguien adivine su contraseña.

Perfiles contraseña impiden cada uno de los problemas en la lista anterior. Perfiles contraseña son una herramienta (DBA) administrador de base de datos y que permiten hacer lo siguiente:

  • Limite el número de veces que una contraseña se puede volver a utilizar si usted desea dar a sus usuarios un descanso, dejar que vuelva a usar la contraseña dos veces -. Pero eso es todo.
  • Limite la cantidad de tiempo que una contraseña puede ser reutilizado. Quizás hacerles reutilizar la contraseña, pero tienen que esperar 90 días para hacerlo.
  • Límite de intentos de login fallidos. Si se cumple este número, puede bloquear la cuenta hasta que un administrador de seguridad desbloquea o por un cierto período de tiempo.
  • Asigne un tiempo de bloqueo con contraseña. Si alguien (o algo) alcanza el límite establecido para el establecimiento de los intentos de conexión fallidos, puede forzar a un período de espera antes de que el usuario puede volver a intentarlo. Esta configuración puede ayudar contra los ataques de fuerza bruta, donde una máquina bombardea la base de datos con una galleta de la contraseña.
  • Dé contraseñas límite de tiempo (o en la terminología Oráculos, un tiempo de vida limitado). Cuando se cumple este tiempo de vida, el sistema solicita al usuario que cambie su contraseña.
  • Tienen un tiempo de gracia contraseña. Cuando se alcanza el tiempo de la vida, se solicita al usuario con "Tiene X número de días para cambiar su contraseña."
  • Compruebe complejidad de la contraseña. Una función de verificación

    • Se asegura la contraseña y nombre de usuario son diferentes.
    • Se asegura la nueva contraseña difiere de la anterior en tres caracteres.
    • Asegura la contraseña se compone de alfabético, numérico y caracteres especiales.

Usted puede crear su propia función de contraseña de verificación y adjuntarlo a un perfil. Una contraseña función de verificar es un programa escrito en PL / SQL (Lenguaje de procedimientos / Structured Query Language), que examina las contraseñas cuando son elegidos y acepta o las rechaza sobre la base de criterios.

Si usted tiene requisitos especiales de contraseña, usted puede escribir su propia contraseña verificar la función y asignarla a la contraseña del perfil mediante el atributo PASSWORD_VERIFY_FUNCTION del perfil.

Oracle proporciona una contraseña estándar verificar la función con la base de datos. Por defecto, se asegura lo siguiente:

  • La contraseña no es el mismo que el nombre de usuario (hacia adelante y hacia atrás).
  • La contraseña es más de siete caracteres.
  • La contraseña no es el mismo que el nombre del servidor.
  • La contraseña no es una mala elección común, como welcome1, contraseña, base de datos, abcdefg.

Para utilizar la función de contraseña de verificación proporcionada por Oracle, siga estos pasos:

  1. Inicie sesión en la base de datos utilizando SQL * Plus como SYS.
  2. Ejecute el siguiente:

    $ ORACLE_HOME / RDBMS / admin / utlpwdmg.sql

    Este paso crea la contraseña predeterminada verificar la función y la asigna al perfil DEFAULT. Si se siente cómodo con PL / SQL, incluso se puede tomar ejemplo de archivo de Oracle y modificarlo para satisfacer sus necesidades.

Cómo crear un perfil contraseña en Oracle 12c

Para crear un perfil de contraseña, siga estos pasos:

  1. Inicie sesión en la base de datos a través de SQL * Plus como SYSTEM.
  2. Cree el perfil y limitar los intentos fallidos de inicio de sesión, el tiempo de bloqueo de contraseña y el tiempo de vida de la contraseña:

    <CREAR PERFIL report_writer LÍMITE
    FAILED_LOGIN_ATTEMPTS 3
    PASSWORD_LOCK_TIME 1/96
    PASSWORD_LIFE_TIME 90;>

    En este ejemplo, intentos de conexión fallidos se limitan a tres, el tiempo de bloqueo de contraseña está limitado a 15 minutos, y el tiempo de vida de contraseña está limitada a 90 días.

    Usted ve esto:

    Perfil creado.

    El tiempo de bloqueo de la contraseña en el código anterior es 1/96. En vez de Oracle, que es de 15 minutos. Todo el número 1 es de 1 día, y 1/24 es de una hora. Divida 24.01 por 4 y se obtiene 1/96 (o 15 minutos).

  3. Asigne el perfil de usuario escritor de informe a un usuario:

    <ALTER USUARIO hr PERFIL report_writer;>

    Este ejemplo asigna el nuevo perfil para el usuario de recursos humanos. Usted ve esto a cambio:

Alterada usuario.

El perfil predeterminado en Oracle 12c

¿Qué pasa si usted no da a sus usuarios un perfil? En ese caso, todos los usuarios tienen el perfil DEFAULT.

De forma predeterminada en Oracle 12c, el perfil DEFAULT limita el siguiente:

  • FAILED_LOGIN_ATTEMPT = 10
  • PASSWORD_GRACE_TIME 7 (DIAS)
  • PASSWORD_LIFE_TIME 180 (DIAS)
  • PASSWORD_LOCK_TIME 1 (DIA)
  • PASSWORD_REUSE_MAX ILIMITADO
  • NULL PASSWORD_VERIFY_FUNCTION (sin complejidad hace cumplir)
  • PASSWORD_REUSE_TIME ILIMITADO

Puedes editar tu perfil o el perfil DEFAULT. Por ejemplo, para cambiar los intentos de conexión fallidos ajuste a 3 en el perfil predeterminado, escriba lo siguiente:

<ALTER PROFILE límite predeterminado
FAILED_LOGIN_ATTEMPTS 3;>

Usted ve esto:

Perfil alterado.