Directiva de contraseñas

Cuando SQL Server se ejecuta en Windows Server 2003 o versiones posteriores, puede utilizar mecanismos de directiva de contraseñas de Windows.

SQL Server puede aplicar las mismas directivas de complejidad y caducidad que se usan en Windows Server 2003 a las contraseñas que se usan en SQL Server. Esta funcionalidad depende de la API NetValidatePasswordPolicy, que sólo está disponible en Windows Server 2003 y versiones posteriores.

Complejidad de las contraseñas

Las directivas de complejidad de contraseñas están diseñadas para impedir ataques por fuerza bruta mediante el aumento del número de contraseñas posibles. Cuando se aplica la directiva de complejidad de contraseñas, se exige que las nuevas contraseñas cumplan las siguientes directrices:

  • La contraseña no debe contener parte o todo el nombre de la cuenta del usuario. Una parte de un nombre de cuenta se define como tres o más caracteres alfanuméricos consecutivos delimitados en ambos extremos por un espacio en blanco, como un espacio, tabulación, retorno, etc., o por alguno de los siguientes caracteres: coma (,), punto (.), guión (-), carácter de subrayado (_) o signo de almohadilla (#).

  • La contraseña debe tener una longitud de ocho caracteres como mínimo.

  • La contraseña debe contener caracteres de tres de las siguientes categorías:

    • Letras en mayúsculas del alfabeto Latín (de la A a la Z)

    • Letras en minúsculas del alfabeto Latín (de la "a" a la "z")

    • Dígitos en base 10 (del 0 al 9)

    • Caracteres que no sean alfanuméricos, como signo de admiración (!), signo de moneda ($), signo de almohadilla (#) o porcentaje (%).

Las contraseñas pueden tener hasta 128 caracteres. Se recomienda utilizar contraseñas lo más largas y complejas posible.

Caducidad de las contraseñas

Las directivas de caducidad de contraseñas se utilizan para administrar la duración de una contraseña. Cuando SQL Server aplica la directiva de caducidad de contraseñas, se recuerda a los usuarios que cambien las contraseñas antiguas, y las cuentas con contraseñas que han caducado se deshabilitan.

Aplicación de las directivas

La aplicación de la directiva de contraseñas se puede configurar independientemente para cada inicio de sesión de SQL Server. Utilice ALTER LOGIN (Transact-SQL) para configurar las opciones de la directiva de contraseñas de un inicio de sesión de SQL Server. Se aplican las siguientes reglas a la configuración de la aplicación de directivas de contraseñas:

  • Cuando el valor de CHECK_POLICY se cambia a ON, ocurre lo siguiente:

    • CHECK_EXPIRATION también se establece en ON, salvo que se haya establecido de forma explícita en OFF.

    • El historial de contraseñas se inicializa con el valor hash de la contraseña actual.

  • Cuando el valor de CHECK_POLICY se cambia a OFF, ocurre lo siguiente:

    • CHECK_EXPIRATION también se establece en OFF.

    • Se borra el historial de contraseñas.

    • Se restablece el valor de lockout_time.

Algunas combinaciones de opciones de directiva no se admiten.

  • Si se especifica MUST_CHANGE, CHECK_EXPIRATION y CHECK_POLICY deben establecerse en ON. De lo contrario, se producirá un error en la instrucción.

  • Si CHECK_POLICY se establece en OFF, CHECK_EXPIRATION no puede establecerse en ON. Se producirá un error en una instrucción ALTER LOGIN que combine estas dos opciones.

    Nota importanteImportante

    CHECK_EXPIRATION y CHECK_POLICY sólo se aplican en Windows Server 2003 y versiones posteriores.

    Nota importanteImportante

    Un problema conocido de Windows Server 2003 puede impedir que el recuento de contraseñas erróneas se restablezca una vez alcanzado LockoutThreshold. Esto puede provocar un bloqueo inmediato en posteriores intentos de inicio de sesión erróneos. Puede restablecer el recuento de contraseñas erróneas de forma manual; para ello, tiene que establecer simplemente CHECK_POLICY = OFF, seguido de CHECK_POLICY = ON.

Cuando se ejecuta SQL Server en Windows 2000, puede establecer CHECK_POLICY = ON para evitar la creación de contraseñas que sean:

  • NULL o vacías

  • Iguales al nombre del equipo o el inicio de sesión

  • Una de las siguientes: "password", "admin", "administrator", "sa", "sysadmin"

La directiva de seguridad se podría establecer en Windows o se podría recibir del dominio. Para ver la directiva de contraseñas en el equipo, utilice el complemento de MMC Directiva de seguridad local (secpol.msc).