다음을 통해 공유


SQL Server on Linux에서 SQL 로그인에 대한 사용자 지정 암호 정책 설정

적용 대상: SQL Server 2025(17.x) 미리 보기 - Linux

이 문서에서는 SQL Server on Linux에 대한 SQL 로그인 암호 정책을 설정하고 관리하는 방법을 설명합니다.

암호 정책은 데이터베이스 환경을 보호하는 중요한 측면입니다. 다음을 적용합니다.

  • 복잡성
  • 만료
  • 변경

이 적용을 통해 SQL Server 인증을 사용하는 로그인이 안전하게 보호됩니다.

비고

암호 정책은 Windows에서 사용할 수 있습니다. 자세한 내용은 Password Policy을 참조하세요.

사용자 지정 정책 설정

Linux의 SQL Server 2025(17.x) 미리 보기부터 파일에서 mssql.conf 다음 구성 매개 변수를 설정하여 사용자 지정 암호 정책을 적용할 수 있습니다.

구성 옵션 설명
passwordpolicy.passwordminimumlength 암호에 필요한 최소 문자 수를 정의합니다. 암호는 최대 128자까지 가능합니다.
passwordpolicy.passwordhistorylength 기억해야 하는 이전 암호의 수를 결정합니다.
passwordpolicy.passwordminimumage 사용자가 암호를 다시 변경하기 전에 기다려야 하는 최소 기간을 지정합니다.
passwordpolicy.passwordmaximumage 암호를 변경하기 전에 사용할 수 있는 최대 기간을 설정합니다.

비고

현재는 passwordminimumlength 8자 미만으로 설정할 수 있습니다. 암호는 SQL Server 기본 암호 정책을 따라야 합니다. 기본적으로 암호의 길이는 8자 이상이어야 하며 대문자, 소문자, 밑이 10자리 숫자, 기호 등 네 집합 중 세 가지의 문자를 포함해야 합니다. 암호는 최대 128자까지 가능합니다. 가능한 한 길고 복잡한 암호를 사용합니다.

SQL Server on Linux에서 SQL 인증 로그인에 대한 사용자 지정 암호 정책을 구성하는 방법에는 두 가지가 있습니다.

  • adutil을 사용하여 사용자 지정 암호 정책 적용
  • mssql.conf 도구를 사용하여 수동으로 파일 구성

adutil을 사용하여 사용자 지정 암호 정책 설정

AD(Active Directory) 서버에서 정책 관리가 중앙 집중식으로 관리되는 환경에서 도메인 관리자는 AD 서버에서 암호 정책 값을 설정하고 수정할 수 있습니다. 또한 SQL Server를 실행하는 Linux 컴퓨터도 Windows 도메인의 일부여야 합니다.

adutil을 사용하여 AD 서버에서 암호 정책을 가져와 파일에 씁니다mssql.conf. 이 메서드는 중앙 집중식 관리의 이점을 제공하고 SQL Server 환경에서 일관된 정책 적용을 보장합니다.

adutil에 대한 요구 사항

  1. Kerberos 인증 세션 설정

    • kinitsudo와 함께 실행하여 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를 사용하여 파일의 매개 변수 를 업데이트하여 SQL 인증 로그인 암호 정책을 설정할 수 있습니다. 이 방법은 정책 설정에 대한 단순성과 직접 제어를 제공합니다.

SQL Server를 실행하는 Linux 호스트가 도메인에 속하지 않고 암호 정책을 가져올 도메인 컨트롤러가 없는 경우 이 메서드를 사용합니다.

다음 mssql-conf 명령을 실행하여 각 정책 구성 속성을 설정합니다.

  1. 암호 정책에 설명된 복잡성 요구 사항을 준수하여 최소 암호 길이를 14자로 설정합니다.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.minimumpasswordlength 14
    
  2. 최소 암호 사용 기간을 1일로 설정합니다. 사용자는 하루 후에 암호를 변경할 수 있습니다.

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumage 1
    
  3. 암호 기록 길이를 8로 설정합니다. 사용자는 이전 암호를 다시 사용하기 전에 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
    

제한점

현재는 minimumpasswordlength 14자 이상으로 설정할 수 없습니다.

Active Directory에서 그룹 암호 정책을 업데이트한 후 수동으로 명령을 실행 adutil updatepasswordpolicy 하여 업데이트 mssql.conf해야 합니다. 이 명령은 자동으로 실행되지 않습니다. SQL Server를 실행하는 Linux 컴퓨터가 도메인의 일부인지 확인하거나 mssql-conf를 사용하여 수동으로 설정합니다.

Active Directory에서 각 그룹 수준 암호 정책은 확인란을 사용하여 정의하거나 정의되지 않도록 할 수 있습니다.

최소 암호 길이 보안 정책 설정의 스크린샷

그러나 정책 선택을 취소해도 SQL Server on Linux에서 사용하지 않도록 설정되지는 않습니다. 사용자 지정 암호 정책을 적용하지 않도록 하려면 확인란을 사용하는 대신 mssql-conf 의 설정을 업데이트합니다.