암호 정책

SQL Server에서는 Windows 암호 정책 메커니즘을 사용할 수 있습니다. 암호 정책은 SQL Server 인증을 사용하는 로그인과 암호를 가진 포함된 데이터베이스 사용자에게 적용됩니다.

SQL Server에서는 Windows에서 사용되는 것과 동일한 복잡성 및 만료 정책을 SQL Server 내부에 사용되는 암호에 적용할 수 있습니다. 이 기능은 NetValidatePasswordPolicy API 값에 따라 달라집니다.

암호 복잡성

암호 복잡성 정책은 가능한 암호의 수를 늘려 문자 조합을 이용한 공격(brute force attacks)을 방지하도록 설계되었습니다. 암호 복잡성 정책이 강제 적용된 경우 새 암호는 다음 지침을 준수해야 합니다.

  • 암호는 사용자의 계정 이름을 포함하지 않습니다.

  • 암호의 길이는 최소 8자 이상이어야 합니다.

  • 암호는 다음 4가지 범주 중 세 범주의 문자를 포함해야 합니다.

    • 라틴어 대문자(A - Z)

    • 라틴어 소문자(a - z)

    • 기본 숫자 10가지(0 - 9)

    • 느낌표(!), 달러 기호($), 숫자 기호(#) 또는 퍼센트(%)와 같은 영숫자 이외의 문자

암호 길이는 128자까지 가능하며 되도록 길고 복잡한 암호를 사용해야 합니다.

암호 만료

암호 만료 정책을 사용하여 암호의 수명을 관리합니다. SQL Server에서 암호 만료 정책을 강제로 적용하면 사용자에게 기존 암호를 변경할 것과 암호가 만료되어 해당 계정을 사용할 수 없게 됨을 알려 줍니다.

정책 적용

암호 정책 적용은 각 SQL Server 로그인마다 별도로 구성할 수 있습니다. ALTER LOGIN(Transact-SQL)을 사용하여 SQL Server 로그인의 암호 정책 옵션을 구성할 수 있습니다. 다음 규칙이 암호 정책 적용 구성에 적용됩니다.

  • CHECK_POLICY가 ON으로 변경되면 다음 동작이 수행됩니다.

    • CHECK_EXPIRATION은 명시적으로 OFF로 설정되지 않은 한 마찬가지로 ON으로 설정됩니다.

    • 암호 기록이 현재 암호 해시 값으로 초기화됩니다.

    • 계정 잠금 기간, 계정 잠금 임계값다음 시간 후 계정 잠금 수를 원래대로 설정도 사용하도록 설정됩니다.

  • CHECK_POLICY가 OFF로 변경되면 다음 동작이 수행됩니다.

    • CHECK_EXPIRATION도 OFF로 설정됩니다.

    • 암호 기록이 지워집니다.

    • lockout_time 값이 다시 설정됩니다.

정책 옵션의 일부 조합은 지원되지 않습니다.

  • MUST_CHANGE를 지정한 경우에는 CHECK_EXPIRATION 및 CHECK_POLICY를 ON으로 설정해야 합니다. 그렇지 않으면 문이 실패합니다.

  • CHECK_POLICY를 OFF로 설정한 경우에는 CHECK_EXPIRATION을 ON으로 설정할 수 없습니다. 이 옵션 조합을 사용하면 ALTER LOGIN 문이 실패합니다.

CHECK_POLICY = ON을 설정하면 다음과 같은 암호가 생성되지 않습니다.

  • Null 또는 빈 문자열 값의 암호

  • 컴퓨터 또는 로그인 이름과 동일한 암호

  • "password", "admin", "administrator", "sa", "sysadmin" 중 하나

보안 정책은 Windows에 설정하거나 도메인에서 가져올 수 있습니다. 컴퓨터에 대한 암호 정책을 보려면 로컬 보안 정책 MMC 스냅인(secpol.msc)을 사용합니다.

관련 태스크

CREATE LOGIN(Transact-SQL)

ALTER LOGIN(Transact-SQL)

CREATE USER(Transact-SQL)

ALTER USER(Transact-SQL)

로그인 만들기

데이터베이스 사용자 만들기

관련 내용

강력한 암호