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 das Palavras-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 a Z)

    • Letras minúsculas latinas (a a z)

    • Dígitos de base 10 (0 - 9)

    • Caracteres não alfanuméricos, tais como: ponto de exclamação (!), cifrão ($), sinal numérico (#) ou percentagem (%).

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

Expiração de palavras-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.

Aplicaçã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 está definido como ATIVADO, a menos que esteja explicitamente definido como DESATIVADO.

    • 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 também está 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 deverão ser definidos como ATIVADO. Caso contrário, a instrução falhará.

  • Se CHECK_POLICY estiver definido como DESATIVADO, CHECK_EXPIRATION não poderá ser definido como ATIVADO. Uma instrução ALTER LOGIN que tenha essa combinação de opções falhará.

  • A configuração CHECK_POLICY = ON impede a criação de senhas 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 logons do SQL Server com CHECK_POLICY ativada, se executar ALTER LOGIN e não incluir OLD_PASSWORD no comando para mudar a palavra-passe, o Enforce Password History será ignorado. Este é um comportamento por design para permitir redefinições de senha, apesar de quaisquer senhas usadas anteriormente. Outras verificações associadas à CHECK_POLICY, incluindo comprimento e complexidade, são verificadas independentemente de OLD_PASSWORD ser usada.

Verificando informações de política de senha de usuário 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;

CRIAR LOGIN

ALTER LOGIN

CRIAR UTILIZADOR

ALTERAR UTILIZADOR

Criar um login

Criar um usuário de banco de dados