Поделиться через


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

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

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

Политики паролей являются важным аспектом защиты любой среды базы данных. Они обеспечивают выполнение:

  • Сложность
  • Истечение срока действия
  • Изменения

Это гарантирует, что имена входа, использующие проверку подлинности SQL Server, защищены.

Замечание

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

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

В SQL Server 2025 (17.x) и более поздних версиях в Linux можно задать следующие параметры конфигурации в mssql.conf файле, чтобы применить настраиваемую политику паролей.

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

Замечание

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

Пользовательские политики паролей для логинов с аутентификацией SQL можно настроить в SQL Server на Linux двумя способами:

Настройка настраиваемой политики паролей с 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

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

Используйте этот метод, если узел Linux под управлением SQL Server не является частью домена, а контроллер домена не получает политики паролей.

Выполните следующие команды 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.

    sudo systemctl restart mssql-server
    

Ограничения

В настоящее время passwordminimumlength нельзя задать более 14 символов.

После обновления групповой политики паролей в Active Directory необходимо вручную выполнить adutil updatepasswordpolicy команду для обновления mssql.conf. Эта команда не выполняется автоматически. Убедитесь, что компьютер Linux под управлением SQL Server является частью домена или вручную установите его с помощью mssql-conf.

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

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

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