암호 정책
Windows Server 2003 이상에서 실행되는 SQL Server에서는 Windows 암호 정책 메커니즘을 사용할 수 있습니다.
SQL Server에서는 Windows Server 2003에서 사용되는 것과 동일한 복잡성 및 만료 정책을 SQL Server 내부에 사용되는 암호에 적용할 수 있습니다. 이 기능은 Windows Server 2003 이상 버전에서만 사용할 수 있는 NetValidatePasswordPolicy API에 따라 달라집니다.
암호 복잡성 정책은 가능한 암호의 수를 늘려 문자 조합을 이용한 공격(brute force attacks)을 방지하도록 설계되었습니다. 암호 복잡성 정책이 강제 적용된 경우 새 암호는 다음 지침을 준수해야 합니다.
암호는 사용자 계정 이름의 일부 또는 전체를 포함할 수 없습니다. 계정 이름의 일부는 공백(공백, 탭, 리턴) 또는 쉼표(,), 마침표(.), 하이픈(-), 밑줄(_), 숫자 기호(#) 중 하나로 끝나는 연속된 3자 이상의 영숫자 문자로 정의됩니다.
암호의 길이는 최소 8자 이상이어야 합니다.
암호는 다음 4가지 범주 중 세 범주의 문자를 포함해야 합니다.
라틴어 대문자(A - Z)
라틴어 소문자(a - z)
기본 숫자 10가지(0 - 9)
느낌표(!), 달러 기호($), 숫자 기호(#) 또는 퍼센트(%)와 같은 영숫자 이외의 문자
암호 길이는 128자까지 가능하며 되도록 길고 복잡한 암호를 사용해야 합니다.
암호 정책 적용은 각 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_EXPIRATION 및 CHECK_POLICY는 Windows Server 2003 이상 버전에서만 적용됩니다.
중요Windows Server 2003에서 알려진 문제로 인해 LockoutThreshold에 도달한 후 잘못된 암호 수를 다시 설정하지 못할 수도 있습니다. 이 경우 후속 로그인 시도가 실패하면 즉시 잠금이 발생할 수 있습니다. 간단하게 CHECK_POLICY = ON 앞에 CHECK_POLICY = OFF를 설정하면 잘못된 암호 수를 수동으로 다시 설정할 수 있습니다.
SQL Server가 Windows 2000에서 실행 중인 경우 CHECK_POLICY = ON을 설정하면 다음과 같은 암호가 생성되지 않습니다.
Null 또는 빈 문자열 값의 암호
컴퓨터 또는 로그인 이름과 동일한 암호
"password", "admin", "administrator", "sa", "sysadmin" 중 하나
보안 정책은 Windows에 설정하거나 도메인에서 가져올 수 있습니다. 컴퓨터의 암호 정책을 보려면 로컬 보안 정책 MMC 스냅인(secpol.msc)을 사용합니다.