Partilhar via


Política de palavra-passe

Aplica-se a:SQL Server

O SQL Server pode utilizar mecanismos de política de palavras-passe do Windows. A política de senha se aplica a um logon que usa autenticação do SQL Server e a um usuário de banco de dados contido com senha.

O SQL Server pode aplicar a mesma complexidade e políticas de expiração usadas no Windows a senhas usadas dentro do SQL Server. Essa funcionalidade depende da NetValidatePasswordPolicy API.

Observação

O Banco de Dados SQL do Azure impõe a complexidade da senha. As seções de expiração de senha e imposição de política não se aplicam ao Banco de Dados SQL do Azure. Para obter informações sobre a política de senha para a Instância Gerenciada SQL do Azure, consulte nossas Perguntas frequentes sobre a Instância Gerenciada do SQL.

Complexidade da palavra-passe

As políticas de complexidade de senha são projetadas para impedir ataques de força bruta, aumentando o número de senhas possíveis. Quando a política de complexidade de senha é imposta, as novas senhas devem atender às seguintes diretrizes:

  • A palavra-passe não contém o nome da conta do utilizador.

  • A palavra-passe tem pelo menos oito caracteres.

  • A senha contém caracteres de três das quatro categorias a seguir:

    • Letras maiúsculas latinas (A até Z)
    • Letras minúsculas latinas (a até z)
    • Base 10 dígitos (0 até 9)
    • Caracteres não alfanuméricos como: ponto de exclamação (!), cifrão ($), número (#) ou percentagem (%).

As palavras-passe podem ter até 128 caracteres. Use senhas tão longas e complexas quanto possível.

Expiração da palavra-passe

As políticas de expiração de senha são usadas para gerenciar a vida útil de uma senha. Quando o SQL Server impõe a política de expiração de senha, os usuários são lembrados de alterar senhas antigas e as contas com senhas expiradas são desabilitadas.

Imposição de políticas

A imposição da política de senha pode ser configurada separadamente para cada logon do SQL Server. Use ALTER LOGIN para configurar as opções de política de senha de um logon do SQL Server. As seguintes regras se aplicam à configuração da imposição da política de senha:

  • Quando CHECK_POLICY é alterado para ON, ocorrem os seguintes comportamentos:

    • CHECK_EXPIRATION é também definido como ON a menos que esteja explicitamente definido como OFF.
    • O histórico de senhas é inicializado com o valor do hash de senha atual.
    • A duração do bloqueio de conta, o limite de bloqueio de conta e o contador de redefinição de bloqueio de conta após também estão habilitados.
  • Quando CHECK_POLICY é alterado para OFF, ocorrem os seguintes comportamentos:

    • CHECK_EXPIRATION está também definido como OFF.
    • O histórico de senhas é limpo.
    • O valor de lockout_time é reset.

Algumas combinações de opções de política não são suportadas.

  • Se MUST_CHANGE for especificado, CHECK_EXPIRATION e CHECK_POLICY devem ser definidos como ON. Caso contrário, a instrução falhará.

  • Se CHECK_POLICY for definido para OFF, CHECK_EXPIRATION não pode ser definido para ON. Uma ALTER LOGIN afirmação com esta combinação de opções falha.

  • A definição CHECK_POLICY = ON impede a criação de palavras-passe que são:

    • Nulo ou vazio
    • O mesmo que o nome do computador ou login
    • Qualquer um dos seguintes: password, admin, administrator, , sa, sysadmin

A diretiva de segurança pode ser definida no Windows ou pode ser recebida do domínio. Para exibir a diretiva de senha no computador, use o snap-in MMC da Diretiva de Segurança Local (secpol.msc).

Observação

Para logins do SQL Server que têm CHECK_POLICY ativado, se executares o ALTER LOGIN e não incluires OLD_PASSWORD no comando para mudar a palavra-passe, então o Enforcer Histórico de Palavras-Passe é ignorado. Este é um comportamento por design para permitir redefinições de senha, apesar de quaisquer senhas usadas anteriormente. Outras verificações associadas a CHECK_POLICY, incluindo comprimento e complexidade, são verificadas independentemente de serem usadas ou não OLD_PASSWORD .

Verifique a informação da política de palavra-passe do utilizador em SQL

Você pode revisar as políticas de senha de usuário do SQL e as datas de expiração no SQL Server usando a consulta a seguir. Embora a consulta a seguir também funcione no Banco de Dados SQL do Azure, somente a complexidade da senha é imposta no Banco de Dados SQL do Azure.

SELECT name,
       is_policy_checked,
       is_expiration_checked,
       LOGINPROPERTY(name, 'IsMustChange') AS IsMustChange,
       LOGINPROPERTY(name, 'IsLocked') AS IsLocked,
       LOGINPROPERTY(name, 'LockoutTime') AS LockoutTime,
       LOGINPROPERTY(name, 'PasswordLastSetTime') AS PasswordLastSetTime,
       LOGINPROPERTY(name, 'IsExpired') AS IsExpired,
       LOGINPROPERTY(name, 'BadPasswordCount') AS BadPasswordCount,
       LOGINPROPERTY(name, 'BadPasswordTime') AS BadPasswordTime,
       LOGINPROPERTY(name, 'HistoryLength') AS HistoryLength,
       modify_date
FROM sys.sql_logins;