Compartilhar via


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

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

Este artigo descreve como você pode configurar e gerenciar políticas de senha de logon do SQL, começando com a Atualização Cumulativa 23 do SQL Server 2022 (16.x) e o SQL Server 2025 (17.x).

As políticas de senha são um aspecto crucial para proteger qualquer ambiente de banco de dados. Eles 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 a política de senha.

Configurações de política personalizadas

No SQL Server 2025 (17.x) e versões posteriores no Linux, você pode definir os seguintes parâmetros de configuração no mssql.conf arquivo para impor uma política de senha personalizada.

Opções de configuração Descrição
passwordpolicy.passwordminimumlength Define o número mínimo de caracteres necessários para uma senha. As senhas podem ter até 128 caracteres.
passwordpolicy.passwordhistorylength Define o número de senhas anteriores que o sistema lembra.
passwordpolicy.passwordminimumage Define a duração mínima que um usuário deve esperar antes de alterar a senha novamente.
passwordpolicy.passwordmaximumage Define a duração máxima que uma senha pode ser usada antes de ser alterada.

Observação

No momento, você pode definir o passwordminimumlength para menos de oito caracteres. Sua senha deve seguir a política de senha padrão do SQL Server. Por padrão, a senha precisa ter pelo menos oito caracteres e conter caracteres de três dos seguintes quatro conjuntos: letras maiúsculas, letras minúsculas, dígitos de base 10 e símbolos. As senhas podem ter até 128 caracteres. Use senhas longas e complexas.

Você pode configurar políticas de senha personalizadas para logons de autenticação SQL no SQL Server no Linux de duas maneiras:

Definir política de senha personalizada com adutil

Em ambientes em que o gerenciamento de políticas é centralizado em um servidor do AD (Active Directory), os administradores de domínio definem e modificam os valores da política de senha no servidor do AD. O computador Linux que executa o SQL Server também deve fazer parte do domínio do Windows.

Use adutil para buscar a política de senha do servidor do 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. Estabelecer uma sessão autenticada kerberos:

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

    • Use uma conta com privilégios para o comando kinit. A conta precisa de permissão para se conectar ao domínio.

    No exemplo a seguir, 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 opção --path ao comando anterior. Você poderá 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 do SQL Server:

    sudo systemctl restart mssql-server
    

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

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

Use esse método quando o host linux que executa o SQL Server não fizer parte do domínio e não houver nenhum controlador de domínio para obter as políticas de senha.

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

  1. Defina o comprimento mínimo da senha como 14 caracteres, aderindo aos requisitos de complexidade descritos na política de senha.

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

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

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

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

    sudo systemctl restart mssql-server
    

Limitações

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

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

No Active Directory, você pode definir ou indefinir cada política de senha no nível do grupo usando uma caixa de seleção.

Captura de tela da configuração de política de segurança de comprimento mínimo da senha.

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