Definire criteri di password personalizzati per gli accessi SQL in SQL Server su Linux

Si applica a: SQL Server 2022 (16.x) e versioni successive in Linux

Questo articolo descrive come configurare e gestire i criteri password per gli account di accesso SQL Server in Linux. I criteri password personalizzati sono disponibili a partire da SQL Server 2022 (16.x) Aggiornamento cumulativo (CU) 23 e SQL Server 2025 (17.x).

I criteri delle password applicano regole per la complessità, la scadenza e le modifiche, che consentono di proteggere le autenticazioni di SQL Server.

Annotazioni

I criteri delle password sono disponibili anche su Windows. Per altre informazioni, vedere Criteri password.

Impostazioni dei criteri personalizzate

Impostare i parametri di configurazione seguenti nel mssql.conf file per applicare criteri password personalizzati:

Opzione di configurazione Descrizione
passwordpolicy.passwordminimumlength Imposta il numero minimo di caratteri necessari per una password. Le password possono contenere fino a 128 caratteri.
passwordpolicy.passwordhistorylength Imposta il numero di password precedenti memorizzate dal sistema.
passwordpolicy.passwordminimumage Imposta la durata minima che un utente deve attendere prima di modificare nuovamente la password.
passwordpolicy.passwordmaximumage Imposta la durata massima che può essere usata una password prima che sia necessario modificarla.

Annotazioni

È attualmente possibile impostare su passwordminimumlength meno di otto caratteri. La password deve seguire i criteri password predefiniti di SQL Server. Per impostazione predefinita, la password deve avere una lunghezza di almeno otto caratteri e contenere caratteri da tre dei quattro set seguenti: lettere maiuscole, lettere minuscole, cifre base-10 e simboli. Le password possono contenere fino a 128 caratteri. Usare password il più possibile lunghe e complesse.

Configurare i criteri in uno dei due modi seguenti:

Impostare politica password personalizzata con adutil

Negli ambienti in cui la gestione dei criteri è centralizzata in un server Active Directory (AD), gli amministratori di dominio impostano e modificano i valori dei criteri delle password nel server AD. Anche il computer Linux che esegue SQL Server deve far parte del dominio Windows.

Usare adutil per recuperare il criterio password dal server AD e scriverlo nel mssql.conf file. Questo metodo offre il vantaggio della gestione centralizzata e garantisce un'applicazione coerente dei criteri nell'ambiente SQL Server.

Requisiti per adutil

  1. Stabilire una sessione autenticata Kerberos:

    • Eseguire kinit con sudo per ottenere o rinnovare il ticket di concessione (TGT) Kerberos.

    • Usare un account con privilegi per il comando kinit. L'account deve disporre dell'autorizzazione per connettersi al dominio.

    Nell'esempio seguente sostituire <user> con un account con privilegi elevati nel dominio.

    sudo kinit <user>@CONTOSO.COM
    
  2. Verificare che il ticket sia concesso:

    sudo klist
    
  3. Per aggiornare i criteri di password, eseguire una query sul dominio con adutil:

    sudo adutil updatepasswordpolicy
    

    Se il comando va a buon fine, l'output sarà simile all'esempio seguente:

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

    Facoltativamente, è possibile aggiungere l'opzione --path al comando precedente. È possibile usare questa opzione se si dispone dello strumento mssql-conf in un percorso diverso dal percorso predefinito. Il percorso predefinito è /opt/mssql/bin/mssql-conf.

  4. Riavviare il servizio SQL Server:

    sudo systemctl restart mssql-server
    

Imposta manualmente un criterio di password personalizzato con mssql-conf

Aggiornare i parametri dei criteri in mssql.conf direttamente usando mssql-conf. Usare questo metodo quando l'host Linux non è aggiunto a un dominio o quando nessun controller di dominio è disponibile per fornire i criteri.

Eseguire i comandi mssql-conf seguenti per impostare ogni proprietà dei criteri.

  1. Impostare la lunghezza minima della password su 14 caratteri, rispettando i requisiti di complessità descritti nei criteri password.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumlength 14
    
  2. Impostare la validità minima della password su un giorno. Gli utenti possono modificare la password dopo un giorno.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumage 1
    
  3. Impostare la lunghezza della cronologia delle password su 8. Gli utenti devono usare otto password univoche prima di riutilizzarne una precedente.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordhistorylength 8
    
  4. Impostare la validità massima della password su 45 giorni. Un utente può usare una password per un massimo di 45 giorni prima che l'utente debba modificarla.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordmaximumage 45
    
  5. Applicare le modifiche.

    • In SQL Server 2022 (16.x) CU 23 e versioni successive e in SQL Server 2025 (17.x) CU 3 e versioni successive, ricaricare mssql.conf senza riavviare il servizio. Connettersi all'istanza di SQL Server ed eseguire:

      EXECUTE sp_reload_mssqlconf;
      
    • In alternativa, nelle versioni precedenti riavviare il servizio SQL Server:

      sudo systemctl restart mssql-server
      

Limitazioni

Prima di SQL Server 2022 (16.x) CU 23 e SQL Server 2025 (17.x) CU 3, il parametro passwordminimumlength non può essere impostato su più di 14 caratteri.

Le modifiche apportate ai criteri password di gruppo in Active Directory non vengono propagate automaticamente. Eseguire adutil updatepasswordpolicy per eseguire l'aggiornamento mssql.conf dopo ogni modifica o impostare manualmente i valori usando mssql-conf se l'host Linux non è aggiunto al dominio.

In Active Directory è possibile definire o annullare la definizione di ogni criterio password a livello di gruppo usando una casella di controllo:

Screenshot dell'impostazione dei criteri di sicurezza per la lunghezza minima della password.

La cancellazione della casella di controllo non disabilita i criteri in SQL Server in Linux. Per interrompere l'applicazione di un valore, aggiornarlo direttamente in mssql-conf.