Установите пользовательскую политику паролей для входов SQL в SQL Server на Linux

Применимо к: SQL Server 2022 (16.x) и более поздних версий в Linux

В этой статье описывается, как настраивать и управлять политиками паролей для логинов SQL Server на Linux. Пользовательские политики паролей доступны начиная с SQL Server 2022 (16.x) накопительного обновления (CU) 23 и SQL Server 2025 (17.x).

Политики паролей применяют правила для сложности, истечения срока действия и изменений, которые помогают обеспечить безопасность входа SQL Server.

Замечание

Политики паролей также доступны в Windows. Дополнительные сведения см. в разделе "Политика паролей".

Настраиваемые параметры политики

Задайте в файле следующие параметры mssql.conf конфигурации, чтобы применить настраиваемую политику паролей:

Параметр конфигурации Описание
passwordpolicy.passwordminimumlength Задает минимальное количество символов, необходимых для пароля. Пароли могут иметь длину до 128 символов.
passwordpolicy.passwordhistorylength Задает количество предыдущих паролей, которые система запоминает.
passwordpolicy.passwordminimumage Устанавливает минимальное время ожидания перед тем, как пользователь сможет снова изменить свой пароль.
passwordpolicy.passwordmaximumage Задает максимальную длительность, которую можно использовать перед изменением пароля.

Замечание

В настоящее время можно задать passwordminimumlength значение, состоящее из менее чем восьми символов. Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен содержать по крайней мере восемь символов и содержать символы из трех из следующих четырех наборов: прописные буквы, строчные буквы, цифры base-10 и символы. Пароли могут иметь длину до 128 символов. Используйте пароли, которые являются максимально длинными и сложными.

Настройте политику одним из двух способов:

Настройка настраиваемой политики паролей с adutil

В средах, где управление политиками централизованно находится на сервере Active Directory (AD), администраторы домена задают и изменяют значения политики паролей на сервере AD. Компьютер Linux под управлением SQL Server также должен быть частью домена Windows.

Используйте adutil , чтобы получить политику паролей с сервера AD и записать ее в mssql.conf файл. Этот метод обеспечивает преимущество централизованного управления и обеспечивает согласованное применение политик в среде SQL Server.

Требования к adutil

  1. Установите сеанс Kerberos, прошедший проверку подлинности:

    • Выполните команду kinit , sudo чтобы получить или продлить билет На предоставление билетов Kerberos (TGT).

    • Для выполнения команды kinit используйте привилегированную учетную запись. Учетная запись должна иметь разрешение на подключение к домену.

    В следующем примере замените <user> на учетную запись с повышенными привилегиями в домене.

    sudo kinit <user>@CONTOSO.COM
    
  2. Убедитесь, что билет предоставлен:

    sudo klist
    
  3. Чтобы обновить политику паролей, выполните запрос к домену с помощью adutil:

    sudo adutil updatepasswordpolicy
    

    Если команда выполнена успешно, выходные данные выглядят примерно так:

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

    При необходимости можно добавить --path параметр в предыдущую команду. Этот параметр можно использовать, если у вас есть инструмент mssql-conf в другом расположении, чем путь по умолчанию. По умолчанию используется путь /opt/mssql/bin/mssql-conf.

  4. Перезапустите службу SQL Server:

    sudo systemctl restart mssql-server
    

Вручную задайте настраиваемую политику паролей с помощью mssql-conf

Обновите параметры политики mssql.conf напрямую, используя mssql-conf. Используйте этот метод, если узел Linux не присоединен к домену или если контроллер домена недоступен для источника политики.

Выполните следующие mssql-conf команды, чтобы задать каждое свойство политики.

  1. Задайте минимальную длину пароля 14 символов, а также требования к сложности, описанные в политике паролей.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumlength 14
    
  2. Задайте минимальный срок действия пароля в один день. Пользователи могут изменить пароль через один день.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumage 1
    
  3. Установите длину истории паролей на 8. Пользователи должны использовать восемь уникальных паролей, прежде чем повторно использовать старый.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordhistorylength 8
    
  4. Задайте максимальный возраст пароля 45 дней. Пользователь может использовать пароль до 45 дней до того, как пользователь должен изменить его.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordmaximumage 45
    
  5. Примените изменения.

    • В SQL Server 2022 (16.x) CU 23 и более поздних версий, а также в SQL Server 2025 (17.x) CU 3 и более поздних версий перезагрузите mssql.conf без перезапуска службы. Подключитесь к экземпляру SQL Server и выполните следующую команду:

      EXECUTE sp_reload_mssqlconf;
      
    • Или, в более ранних версиях, перезапустите службу SQL Server вместо этого:

      sudo systemctl restart mssql-server
      

Ограничения

До SQL Server 2022 (16.x) CU 23 и SQL Server 2025 (17.x) CU 3 параметр passwordminimumlength нельзя задать более 14 символов.

Изменения групповой политики паролей в Active Directory не распространяют автоматически. Выполните adutil updatepasswordpolicy, чтобы обновить mssql.conf после каждого изменения, или задайте значения вручную, используя mssql-conf, если узел Linux не присоединен к домену.

В Active Directory можно определить или отменить настройку каждой политики паролей на уровне группы с помощью флажка:

Снимок экрана: параметр политики безопасности минимальной длины пароля.

Очистка флажка не отключает политику в SQL Server на Linux. Чтобы остановить принудительное применение значения, обновите его непосредственно в mssql-conf.