Security WatchWindows 도메인 암호 정책

Derek Melber

Windows 도메인 관리자라면 도메인 사용자 계정에 대한 암호 정책과 관련된 제약 조건을 너무나 잘 알고 있을 것입니다. 그러나 Windows Server 2008의 등장으로 이러한 제약 중 일부는 사라질 것입니다. 그 가운데 여러 암호 정책을 구현할 수 없었던 문제가 이번 새 OS에서 어떻게 해결되었는지 살펴보겠습니다.

현재 Windows® 도메인을 실행 중이라면 Windows NT®, Windows 2000 Active Directory®, Windows Server® 2003 Active Directory 등 버전에 관계없이 도메인당 하나의 암호 정책만 적용할 수 있습니다. 실제로 이러한 제한은 암호 정책에만 국한되지 않고 계정 정책의 설정에도 영향을 줍니다. 그림 1에는 이러한 정책과 설정이 나와 있습니다.

Figure 1 계정 정책

암호 정책
최근 암호 기억
최대 암호 사용 기간
최소 암호 사용 기간
최소 암호 길이
암호는 복잡성 요구 사항을 충족해야 함
해독 가능한 암호화를 사용하여 암호 저장
계정 잠금 정책
계정 잠금 기간
계정 잠금 임계값
다음 시간 후 계정 잠금 수를 원래대로 설정
Kerberos 정책
사용자 로그온 제한을 실시
서비스 티켓 최대 수명
사용자 티켓 최대 수명
사용자 티켓 갱신 최대 수명
컴퓨터 시계 동기화 최대 허용 오차
 

이러한 정책 설정은 기본적으로 모든 도메인과 그에 연결된 사용자 계정에 적용됩니다. 이는 그룹 정책이 Active Directory 구조를 통해 상속되는 방식 때문입니다. 이러한 정책들이 도메인과 로컬 사용자 계정에 어떠한 영향을 미치는지 더욱 정확히 알려면 이러한 정책들이 어디에서 설정되고, 그룹 정책 상속이 다른 모든 사용자 계정에 어떠한 영향을 미치는지 이해하는 것이 중요합니다. 여기서 유의해야 할 점은 Kerberos 정책 설정은 도메인 사용자 계정에만 적용된다는 점입니다. 이것은 도메인 사용자 계정에서만 인증에 Kerberos를 사용하기 때문입니다. 로컬 사용자 계정은 인증에 NTLMv2, NTLM 또는 LM을 사용합니다.

계정 정책 설정

Active Directory 내부에서 그룹 정책은 전체 도메인에 대한 계정 정책을 설정하고 제어합니다. 이는 Active Directory 도메인을 처음 설치할 때 생성되며 기본 GPO(그룹 정책 개체)를 Active Directory의 도메인 노드에 연결함으로써 완성됩니다. 기본 도메인 정책이라 부르는 이 GPO는 계정 정책의 세 개 섹션 모두에 대한 기본 구성을 갖습니다. 그림 2는 Windows Server 2003 도메인의 암호 정책 항목에 대한 초기 설정을 보여 줍니다.

그림 2 Windows Server 2003 도메인의 기본 암호 정책

그림 2** Windows Server 2003 도메인의 기본 암호 정책 **(더 크게 보려면 이미지를 클릭하십시오.)

이 GPO의 설정은 모든 도메인 사용자 계정과 모든 도메인 컴퓨터에 대한 계정 정책을 제어합니다. 모든 도메인 컴퓨터(데스크톱과 서버)에는 로컬 SAM(보안 계정 관리자)이 있다는 점을 기억해야 합니다. 기본 GPO의 설정에 의해 제어되는 것이 바로 이 SAM입니다. 물론, 로컬 SAM에는 해당 컴퓨터의 로컬 사용자 계정도 들어 있습니다.

기본 도메인 정책의 설정은 Active Directory 구조를 통해 GPO를 통상적으로 상속함으로써 모든 도메인 컴퓨터에 영향을 미칩니다. 이 GPO가 도메인 노드에 연결되어 있으므로 해당 도메인의 모든 컴퓨터 계정이 그 영향을 받게 되는 것입니다.

기존 암호 정책의 제약 조건

여러 해 동안 엄격한 테스트가 이루어졌고 증거가 밝혀진 것도 없지만 현재 Windows Server 2003에서의 Active Directory 구현과 관련하여 암호 제어에 대한 수많은 오해들이 있습니다. 정책은 설계된 의도와 다른 방식으로는 작동하지 않는다는 점은 분명한 사실입니다.

그런데 많은 관리자들은 같은 도메인에 있는 사용자에 대해 여러 암호 정책을 갖는 것이 가능하다고 믿고 있습니다. 이들은 사용자가 GPO를 만들어 OU(조직 구성 단위)에 연결할 수 있다고 생각합니다. 즉, 사용자 계정을 OU로 옮기면 GPO가 해당 개체에 영향을 미칠 것이라 생각합니다. GPO 안에서 계정 정책은 암호의 최대 길이를 14자로 설정하는 등의 방식으로 더욱 안전한 암호 정책을 만들도록 수정됩니다. 그러나 몇 가지 이유로 인해 이러한 구성은 원하는 결과를 제공하지 않습니다. 첫째, 암호 정책 설정은 사용자 기반 정책이라기보다는 컴퓨터 기반 정책입니다. 설정의 토대가 그러하기 때문에 사용자 계정에는 영향을 미치지 않습니다. 둘째, 도메인 사용자 계정에 대한 계정 정책 설정을 수정하는 유일한 방법은 해당 도메인에 연결된 GPO 안에 있습니다. 계정 정책 설정을 변경하도록 구성된 OU에 연결된 GPO는 해당 OU 또는 그 하위 OU 안에 있는 컴퓨터의 로컬 SAM을 수정합니다.

두 번째 오해는 루트 도메인(Active Directory 포리스트의 최초 도메인)에 설정된 계정 정책 설정은 해당 포리스트의 자식 도메인으로 상속될 것이라는 생각입니다. 이 역시 사실이 아니며 이러한 방식으로는 해당 설정을 작동시킬 수 없습니다. 도메인과 한 도메인 안의 OU에 연결된 GPO는 다른 도메인의 개체에 영향을 미치지 않습니다. 이는 GPO가 연결된 도메인이 루트 도메인이라 해도 마찬가지입니다. GPO 설정의 적용을 다른 도메인의 개체로 확대하는 유일한 방법은 GPO를 Active Directory 사이트에 연결하는 것입니다.

새로운 암호 정책

방금 살펴본 바와 같이 기존 버전의 Windows에서는 사용자 계정 암호를 단순하고 간단한 방식으로 처리합니다. 즉, 모든 도메인 계정에 하나의 암호 규칙 집합만 적용하고, 계정 정책을 Active Directory의 도메인 노드에 연결된 그룹 정책 개체를 통해 관리합니다. 이러한 단순성은 Windows Server 2008에서 완전히 사라집니다.

Windows Server 2008과 이와 함께 제공되는 Active Directory 인프라에서는 전혀 다른 방식을 취합니다. 모든 도메인 사용자 계정에 하나의 정책만 설정되도록 허용하는 계정 정책을 GPO에 두는 방식 대신 이제 Active Directory의 더 세세한 부분에서 설정할 수 있도록 변경되었습니다. 또한, 계정 정책은 더 이상 컴퓨터 계정을 기반으로 하지 않습니다. 이제는 개별 사용자 및 사용자 그룹별로 암호 제한을 제어할 수 있습니다. 오랫동안 컴퓨터 계정에 대한 계정 정책을 다뤄왔기 때문에 Windows 관리자에게 이것은 근본적으로 새로운 개념일 것입니다.

Windows Server 2008의 계정 정책

Windows Server 2008에서는 기본 도메인 정책을 통해 계정 정책을 설정하지 않습니다. 실제로, 도메인 사용자 계정에 대한 계정 정책을 만들기 위해 GPO를 사용하지 않습니다. Windows Server 2008에서는 Active Directory 데이터베이스로 이동하여 수정 작업을 할 수 있습니다. 구체적으로 말하자면, ADSIEdit와 같은 도구를 사용하여 Active Directory 개체와 그에 연결된 특성을 수정할 수 있습니다.

이렇게 변경된 이유는 그룹 정책이 같은 도메인 안에서 여러 개의 암호를 사용하도록 설계되지 않았기 때문입니다. 도메인별로 여러 개의 암호를 구현할 수 있는 Windows Server 2008의 기능은 매우 뛰어난 기능이기는 하나 모든 사람들이 좋아할 만큼 사용하기 쉬운 기능은 아닙니다. 그러나 시간이 흐르면서 설정 구성을 위한 인터페이스도 액세스가 더 쉬워질 것입니다. 현재로서는 시스템을 변경하려면 마치 Active Directory 데이터베이스를 해킹하는 것 같은 방법을 취해야 합니다.

다른 방식을 선호한다면 계정 정책 설정을 수정하기 위해 굳이 ADSIEdit를 사용하지 않아도 됩니다. Active Directory 데이터베이스를 활용할 수 있는 기타 모든 LDAP 편집 도구를 사용할 수 있으며 심지어 스크립팅도 가능합니다. Windows Server 2008에서 암호 정책을 구현할 때는 과거와는 전혀 다른 방식을 취해야 합니다. 이 새로운 기능은 어느 사용자와 그룹이 어떤 암호 설정을 받게 될 것인지 고려해야 한다는 것을 의미합니다.

암호 길이뿐만 아니라, 최소/최대 사용 기간, 최근 암호 기억 등 암호 정책 설정에 수반되는 추가 제한 사항 역시 고려해야 합니다. 또한 사용자 잠금 정책 설정과 Kerberos 설정을 제어하는 방법도 고려해야 합니다. 현재의 계정 정책 설정과 Windows Server 2008의 Active Directory 데이터베이스에서 구성되는 계정 정책 설정 사이에는 일대일 관계가 성립됩니다. 그러나 이제는 각 정책 설정의 이름이 Active Directory 개체와 특성이므로 기존과 다르다는 점에 유의해야 합니다.

새로운 암호 설정을 구현하려면 암호 설정 컨테이너(LDAP 경로: "cn=Password Settings,cn=System,dc=domainname,dc=com") 아래에 msDS-PasswordSettings라는 이름의 PSO(암호 설정 개체)를 만들어야 합니다. 또한 현재 다루고 있는 도메인의 기능 수준을 Windows Server 2008로 설정해야 합니다. 이 새 개체 아래에 그림 3과 같은 몇 가지 특성에 대한 정보를 입력합니다.

Figure 3 Active Directory의 암호 특성

Active Directory 특성 이름 특성 설명
msDS-PasswordSettingsPrecedence 사용자가 암호화 정책이 서로 다른 여러 그룹의 구성원일 경우 우선 순위를 설정합니다.
msDS-PasswordReversibleEncryptionEnabled 해독 가능한 암호화 사용 여부를 전환합니다.
msDS-PasswordHistoryLength 고유 암호를 몇 개 사용한 후에 이러한 암호를 재사용할 수 있는지 지정합니다.
msDS-PasswordComplexityEnabled 암호에 요구되는 문자의 수와 유형을 지정합니다.
msDS-MinimumPasswordLength 암호의 최소 길이를 지정합니다.
msDS-MinimumPasswordAge 암호를 변경하기 전에 사용해야 하는 최소 기간을 지정합니다.
msDS-MaximumPasswordAge 암호 변경을 요구받기 전에 사용할 수 있는 최대 기간을 지정합니다.
msDS-LockoutThreshold 잘못된 암호 입력을 몇 번 시도하면 사용자 계정이 잠기는지 지정합니다.
msDS-LockoutObservationWindow 잘못된 암호 횟수가 재설정될 때까지 걸리는 시간을 지정합니다.
msDS-LockoutDuration 잘못된 암호 시도 횟수 제한을 넘은 계정을 잠금 상태로 유지할 기간을 지정합니다.
   

그림에서 볼 수 있듯이 계정 정책 설정과 관련된 모든 그룹 정책 설정은 특성으로 복제됩니다. 또한 우선 순위도 설정할 수 있습니다. 같은 도메인에 여러 개의 암호를 구현할 경우, 분명 충돌이 발생할 것이고 이를 처리할 수 있는 메커니즘이 마련되어 있어야 하므로 우선 순위 설정은 필수적입니다.

계정 정책 설정의 대상 지정

생성하는 각 개체에 대해 계정 정책이 각 사용자에 맞게 설정되도록 모든 특성을 입력해야 합니다. msDS-PSOAppliesTo는 정책 설정 집합을 받을 개체를 결정하는 새로운 특성입니다. 이는 특정 설정을 특정 사용자와 연결할 수 있게 하는 매우 중요한 특성입니다. 이 특성 아래의 목록에는 사용자 또는 그룹을 추가할 수 있지만 액세스 제어 목록을 작성할 때는 언제나 그렇듯 사용자 대신 그룹을 사용하는 것이 가장 좋습니다. 그룹이 더 안정적이고 눈에 잘 띄며 일반적으로 다루기 훨씬 쉽기 때문입니다.

환영할 만한 변화

우리는 오랫동안 같은 Active Directory 도메인 안에서 여러 개의 암호를 사용할 수 있기를 원해 왔으며 이제는 그것이 가능해졌습니다. 이제는 같은 도메인에 속한 모든 사용자를 암호와 관련하여 동일한 보안 수준으로 취급하는 일은 없을 것입니다. 예를 들어 이제는 일반 사용자에게는 8자리 암호를 사용하도록 하고 (관리자 권한을 갖고 있을) IT 전문가에게는 더 복잡한 14자리 암호를 사용하도록 할 수 있습니다.

물론, Active Directory 데이터베이스에서 계정 정책 설정을 수립 또는 수정하는 방식에 익숙해지는 데는 다소 시간이 걸릴 것입니다. 그러나 다행히 새로운 설정은 여러분에게 이미 익숙한 방식을 본떠 구성되었습니다. Windows Server 2008을 접하게 되면 이 새로운 설정부터 검토해보시기 바랍니다. 틀림없이 이 새로운 설정들을 가장 먼저 구성하게 될 것이기 때문입니다.

Derek Melber MCSE, CISM, MVP이며 독립 컨설턴트 겸 강사로 Active Directory, 그룹 정책, 보안, 데스크톱 관리를 중심으로 Microsoft 기술을 교육하고 전파하고 있습니다. 또한 Microsoft Windows Group Policy Guide(Microsoft Press, 2005) 등 몇 권의 IT 서적을 저술했습니다. 문의 사항이 있으면 derekm@braincore.net으로 연락하십시오.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..