Partilhar via


Definir política de senha personalizada para logons SQL no SQL Server no Linux

Aplica-se a: SQL Server 2022 (16.x) e versões posteriores no Linux

Este artigo descreve como pode configurar e gerir políticas de passwords de login em SQL, começando pelo SQL Server 2022 (16.x), Cumulative Update () 23 e SQL Server 2025 (17.x).

As políticas de senha são um aspeto crucial da proteção de qualquer ambiente de banco de dados. Impõem:

  • Complexidade
  • Expiração
  • Alterações

Essa imposição garante que os logons que usam a autenticação do SQL Server sejam seguros.

Observação

As políticas de senha estão disponíveis no Windows. Para obter mais informações, consulte Política de senha.

Configurações de política personalizadas

No SQL Server 2025 (17.x) e versões posteriores no Linux, pode definir os seguintes parâmetros de configuração no mssql.conf ficheiro para aplicar uma política de palavra-passe personalizada.

Opção de configuração Descrição
passwordpolicy.passwordminimumlength Define o número mínimo de caracteres necessários para uma palavra-passe. As palavras-passe podem ter até 128 caracteres.
passwordpolicy.passwordhistorylength Define o número de palavras-passe anteriores que o sistema lembra.
passwordpolicy.passwordminimumage Define a duração mínima que o utilizador deve esperar antes de mudar novamente a palavra-passe.
passwordpolicy.passwordmaximumage Define a duração máxima que uma senha pode ser usada antes de ser alterada.

Observação

Atualmente, pode definir o passwordminimumlength para menos de oito caracteres. A sua palavra-passe deve seguir a política de palavra-passe padrão do SQL Server . Por padrão, a senha deve ter pelo menos oito caracteres e conter caracteres de três dos quatro conjuntos a seguir: letras maiúsculas, letras minúsculas, dígitos de base 10 e símbolos. As palavras-passe podem ter até 128 caracteres. Use senhas tão longas e complexas quanto possível.

Pode configurar políticas personalizadas de palavras-passe para logins de autenticação SQL no SQL Server no Linux de duas formas:

Definir política de senha personalizada com adutil

Em ambientes onde a gestão de políticas é centralizada num servidor Active Directory (AD), os administradores de domínio definem e modificam os valores das políticas de palavra-passe no servidor AD. A máquina Linux a correr SQL Server também deve fazer parte do domínio Windows.

Use adutil para buscar a política de senha do servidor AD e gravá-la no mssql.conf arquivo. Esse método oferece o benefício do gerenciamento centralizado e garante a aplicação consistente de políticas em todo o ambiente do SQL Server.

Requisitos para adutil

  1. Estabeleça uma sessão autenticada com Kerberos:

    • Execute kinit com sudo para obter ou renovar o bilhete de concessão de bilhetes Kerberos (TGT).

    • Use uma conta privilegiada para o comando kinit. A conta precisa de permissão para se ligar ao domínio.

    No exemplo seguinte, substitua <user> por uma conta que tenha privilégios elevados no domínio.

    sudo kinit <user>@CONTOSO.COM
    
  2. Verifique se o bilhete foi concedido:

    sudo klist
    
  3. Para atualizar a política de senha, consulte o domínio com adutil:

    sudo adutil updatepasswordpolicy
    

    Se o comando for bem-sucedido, a saída será semelhante ao exemplo a seguir:

    Successfully updated password policy in mssqlconf.
    Restart SQL Server to apply the changes.
    

    Opcionalmente, você pode adicionar a --path opção ao comando anterior. Você pode usar essa opção se tiver a ferramenta mssql-conf em um local diferente do caminho padrão. O caminho padrão é /opt/mssql/bin/mssql-conf.

  4. Reinicie o serviço SQL Server:

    sudo systemctl restart mssql-server
    

Definir manualmente uma política de palavra-passe personalizada usando mssql-conf

Você pode definir a política de senha de logon de autenticação SQL atualizando os parâmetros no arquivo mssql.conf com o mssql-conf. Essa abordagem fornece simplicidade e controle direto sobre as configurações de política.

Usa este método quando o host Linux que corre SQL Server não faz parte do domínio, e não há controlador de domínio para obter as políticas de palavra-passe.

Execute os seguintes comandos mssql-conf para definir cada propriedade de configuração de política.

  1. Defina o comprimento mínimo da palavra-passe para 14 caracteres, cumprindo os requisitos de complexidade definidos na política de Palavra-passe.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumlength 14
    
  2. Defina a idade mínima da palavra-passe para um dia. Os usuários podem alterar sua senha após um dia.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumage 1
    
  3. Defina o comprimento do histórico de senhas como 8. Os usuários devem usar oito senhas exclusivas antes de reutilizar uma antiga.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordhistorylength 8
    
  4. Defina a idade máxima da palavra-passe para 45 dias. Um usuário pode usar uma senha por até 45 dias antes de alterá-la.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordmaximumage 45
    
  5. Reinicie o serviço SQL Server.

    sudo systemctl restart mssql-server
    

Limitações

Atualmente, o passwordminimumlength não pode ser definido para mais de 14 caracteres.

Depois de atualizar a diretiva de senha de grupo no Active Directory, você deve executar manualmente o comando adutil updatepasswordpolicy para atualizar o mssql.conf. Este comando não é executado automaticamente. Verifique se a máquina Linux que executa o SQL Server faz parte do domínio ou defina-a manualmente usando mssql-conf.

No Active Directory, pode definir ou desdefinir cada política de palavra-passe ao nível do grupo usando uma caixa de seleção.

Captura de ecrã da definição da política de segurança de comprimento mínimo da palavra-passe.

No entanto, desmarcar a política não a desativa no SQL Server no Linux. Para evitar a aplicação da política de senha personalizada, atualize as configurações no mssql-conf em vez de confiar na caixa de seleção.