Special Coverage: Windows Server 2008

Active Directory 도메인 서비스의 새로운 기능

Gil Kirkpatrick

 

한 눈에 보기:

  • ADDS에 새로운 서버 관리자 사용
  • Server Core에서 도메인 서비스 실행
  • 읽기 전용 도메인 컨트롤러
  • 암호, 백업 및 감사 기능 관련 변경 사항

Microsoft는 Windows 2000에서 처음으로 Active Directory를 선보였습니다. 그리고 다음 주요 릴리스인 Windows Server 2003에서 Active Directory를 많이 개선했지만

크게 달라진 점은 없었습니다. 그렇게 현재까지 오면서 Active Directory®는 강력한 디렉터리 서비스로 자리잡았습니다. 그럼에도 불구하고 Active Directory 팀은 최신 버전에서 핵심 네트워크 서비스의 보안과 관리 효율성을 향상시키는 몇 가지 주목할 만한 향상된 기능을 선보였습니다.

21세기로 접어들 무렵 Active Directory는 로그인하는 사용자를 인증하고, 사용자와 컴퓨터에 그룹 정책을 적용하고, 사용자가 필요로 하는 프린터를 찾도록 도와주는 솔루션이었습니다. 그리고 몇 년 후 Microsoft는 ADAM(Active Directory Application Mode)이라는 독립 실행형 버전을 발표했습니다.

2006년까지 그 외에 변경된 사항은 없었습니다. Active Directory는 더 이상 특별한 기술이 아니었고, 지금은 Windows®의 기본 ID 및 액세스 제어 서비스를 통칭하는 브랜드 이름이 되었습니다. 그림 1에는 Active Directory라는 브랜드를 구성하는 요소가 요약되어 있습니다.

Figure 1 Active Directory 구성 요소

현재 Active Directory 기술 이전 명칭 설명
ADDS(Active Directory 도메인 서비스) Active Directory 이전에 Active Directory라고 불렀던 구성 요소로, 도메인 사용자 및 컴퓨터에 대한 Kerberos 및 NTLM 기반 인증을 제공하고 OU, 사용자, 그룹, 그룹 정책 등을 관리합니다.
ADLDS(Active Directory Lightweight Directory Services) ADAM(Active Directory Application Mode) ADDS와 동일한 소스 코드를 기반으로 하는 고성능 LDAP 서버입니다.
ADCS(Active Directory 인증서 서비스) 인증서 서비스 X.509 인증서를 사용하여 강력한 인증을 제공합니다.
ADRMS(Active Directory Rights Management Services) Rights Management Server 권한 보호 파일 및 컨테이너를 만들어 문서나 전자 메일 같은 디지털 자산을 무단 사용하지 못하도록 보호합니다.
ADFS(Active Directory Federation Services) ADFS(Active Directory Federation Services) WS-* 호환 웹 서비스에 대해 웹 Single Sign-On 및 ID 페더레이션을 제공합니다.

엄밀히 말하자면 이 기사에서 다루는 주제는 도메인 서비스지만 2000년부터 여러분이 사용해 온 Active Directory와 다를 바가 없습니다.

Windows Server 2008의 서버 관리자

먼저 설명할 Active Directory의 향상된 두 가지 기능은 사실 ADDS(Active Directory 도메인 서비스)에서 변경된 사항이라기보다 Active Directory를 관리하는 방식에 영향을 주는 Windows의 변경 사항입니다. 첫 번째 살펴볼 새 서버 관리자는 Windows Server® 2008 서버를 처음으로 부팅하면 바로 나타납니다. 두 번째로 설명할 Server Core 설치 기능에 대해서는 잠시 후에 살펴보겠습니다.

서버 관리자는 Windows Server 2003을 설치하면 기본적으로 표시되는 서버 구성 마법사와 비슷합니다. 그러나 Windows Server 2003의 서버 구성 마법사는 일상적인 관리 작업에 그리 유용하지 않았고 필자 주위에도 "로그온할 때 이 페이지 표시하지 않음" 확인란을 선택하는 사람이 많았습니다.

그에 비해 Windows Server 2008의 서버 관리자는 상당히 유용합니다. 이번 달 TechNet Magazine에 게재된 Byron Hynes의 기사에서 서버 관리자에 대해 개괄적으로 살펴볼 수 있습니다. 우선 그림 2에서 보듯이 서버 관리자는 Microsoft HTA(HTML 응용 프로그램)가 아니라 MMC(Microsoft® Management Console) 스냅인으로 개발되었습니다. 따라서 익숙하고 쉽게 사용자 지정할 수 있는 완전한 기능의 사용자 인터페이스를 제공합니다. 기본적으로 서버 관리자에서는 서버 역할(DNS, ADDS, IIS 등의 주요 서비스)과 기능(Microsoft .NET Framework, BitLockerTM 드라이브 암호화, Windows PowerShellTM 등의 소프트웨어 구성 요소)의 설치를 관리할 수 있습니다. 단순히 소프트웨어를 추가하고 제거하는 기능만 제공하는 것이 아니라 이벤트 뷰어 및 PerfMon 같은 진단 도구와 장치 관리자 및 Windows 방화벽 스냅인 같은 시스템 구성 유틸리티를 한곳에서 실행할 수 있도록 합니다. 사용자 및 컴퓨터, 도메인 및 트러스트, 사이트 및 서비스 등의 Active Directory용 MMC 스냅인을 추가하면 일상적인 Windows Server 2008 DC(도메인 컨트롤러) 관리 작업을 수행하는 데 매우 유용한 인터페이스를 얻을 수 있습니다.

그림 2 Windows Server 2008의 서버 관리자

그림 2** Windows Server 2008의 서버 관리자 **(더 크게 보려면 이미지를 클릭하십시오.)

Windows Server 2008 Server Core

Windows Server Core는 새로운 Windows 설치 옵션으로 Active Directory 도메인 서비스를 비롯하여 특정 핵심 서버 역할을 실행하는 데 필요한 구성 요소만 포함하는 간소화된 Windows 버전을 제공합니다. Server Core에서 지원되는 역할은 그림 3에 나와 있습니다. Server Core 설치에서도 그래픽 UI가 제공되지만 Windows 데스크톱 셸이 실행되지 않고 Windows 관리 및 구성을 위한 그래픽 도구가 거의 제공되지 않습니다(그림 4 참조). 그 대신 명령 창이 표시되기 때문에 어떻게 사용해야 할지를 몰라 당황하게 되는 경우가 많습니다. "컴퓨터 이름은 어떻게 바꾸어야 하지? 대체 정적 IP 주소는 어떻게 구성해야 하지?"라면서 말입니다.

그림 4 그래픽 기능이 별로 없는 Server Core UI

그림 4** 그래픽 기능이 별로 없는 Server Core UI **(더 크게 보려면 이미지를 클릭하십시오.)

Server Core 설치를 처음 접할 때 잠시 동안은 당황할 수 있지만 약간의 시간을 들여 WMIC, NETSH, NETDOM에 다시 익숙해지면 통상적인 설치 및 구성 작업을 어렵지 않게 수행할 수 있습니다. 그리고 Regedit와 메모장은 계속 제공되므로 그래픽 도구 대신 이를 불편 없이 사용할 수 있습니다.

Server Core의 주된 이점은 기존 Windows 설치 코드 중 이러한 핵심 서버 역할에 필요하지 않은 많은 부분이 제거되었다는 점입니다. 따라서 맬웨어 공격에 취약한 영역이 줄어들고, 더 좋게는 DC에서 수행해야 할 패치 및 재부팅 작업이 적어집니다. 뿐만 아니라 디스크 사용량이 적어지고 하드 드라이브 요구 사항도 줄어듭니다. 이는 보통 큰 이점이라고 할 수는 없지만 가상화된 서버 환경에 도움은 될 수 있습니다.

그래픽 유틸리티가 부족하면 ADDS를 관리하기가 어려워지지는 않을까요? 전혀 그렇지 않습니다. 워크스테이션에서 유틸리티를 원격으로 실행하고 네트워크를 통해 도메인 컨트롤러에 연결하면 거의 모든 관리 작업을 수행할 수 있습니다. 결국에는 대부분의 DC가 Server Core 설치에서 실행될 것입니다.

DCPROMO 변경 사항

ADDS 자체에서 가장 눈에 띄는 변경 사항은 새로운 DCPROMO입니다. 이는 Windows Server 2003의 DCPROMO와 동일하게 작동하지만 사용이 쉽도록 완전히 새로 작성되었습니다. 예를 들어 DCPROMO에서 서버를 승격할 때 현재 로그인의 자격 증명을 사용할 수 있으므로 도메인 관리자 자격 증명을 입력할 필요가 없습니다. 또한 고급 모드 DCPROMO 옵션을 사용하기 위해 DCPROMO /ADV를 입력할 필요도 없습니다. 처음 표시되는 DCPROMO 대화 상자에 이러한 옵션을 사용하도록 설정할 수 있는 확인란이 있습니다. 고급 모드를 사용하면 복제할 기존 도메인 컨트롤러를 선택할 수도 있습니다. 즉, 프로덕션 DC에서 DCPROMO 복제에 따른 로드를 없앨 수 있습니다.

DCPROMO를 통해 DC를 새 도메인 또는 포리스트로 승격할 때는 포리스트와 도메인의 기능 수준을 설정하는 옵션이 제공되므로 나중에 따로 설정하지 않아도 됩니다. 승격 프로세스에서 DC를 배치할 Active Directory 사이트도 지정할 수 있는데, 이는 무인 DCPROMO 시나리오에서 매우 유용합니다. 뿐만 아니라 DCPROMO는 DC의 IP 주소를 기준으로 가장 적합한 사이트도 추천해 줍니다.

새로운 DCPROMO는 모든 구성 옵션을 한 페이지에 표시하므로 여기서 새 DC가 GC(글로벌 카탈로그), DNS 서버, 읽기 전용 DC 중 어떤 것인지를 선택할 수 있습니다. DC를 GC로 지정하기 위해 Active Directory 사이트 및 서비스 스냅인의 이곳저곳을 헤맬 필요가 없어진 것입니다.

그렇지만 새 DCPROMO의 가장 뛰어난 기능은 승격 프로세스를 시작하기 직전에 모든 DCPROMO 설정을 응답 파일에 저장하는 기능이라 할 수 있습니다. 이 방식은 수동으로 응답 파일을 구성하는 것보다 훨씬 간단할 뿐만 아니라 오류 발생 가능성도 적습니다. 모든 DCPROMO 설정을 응답 파일에 저장해 두면 이 응답 파일을 사용하여 다른 서버에서 무인 DCPROMO를 수행할 수 있습니다. 그리고 스크립트 애호가의 경우 이제는 명령줄에서 모든 DCPROMO 옵션에 액세스할 수 있습니다.

읽기 전용 도메인 컨트롤러

Active Directory 출시 초기에는 사용자가 로그인할 수 있는 모든 사이트에 도메인 컨트롤러를 배포하는 기업이 많았습니다. 일례로 은행에서는 모든 지점에 DC를 배치하는 것이 일반적이었습니다. WAN 오류가 발생하더라도 지점의 사용자가 로그인하여 로컬 네트워크 리소스에 액세스할 수 있도록 하자는 논리였지요.

당시에는 DC의 물리적 보안 필요성에 대한 이해가 부족했습니다. 오가는 사람 누구나 쉽게 접근할 수 있는 책상 밑에 도메인 컨트롤러를 두는 경우도 본 적이 있습니다. 몇 년이 지난 후에야 Active Directory 설계자들은 안전하지 않은 DC로 인한 보안 위험을 완전히 파악했고, 비로소 IT 조직에서 DC를 다시 중앙 데이터 센터로 통합하기 시작했습니다. 지점 사용자는 WAN을 통해 인증을 받아야 했지만 보안을 강화하기 위해서는 감수할 수밖에 없는 부분이었습니다.

Windows Server 2008의 Active Directory는 RODC(읽기 전용 도메인 컨트롤러) 도입을 통해 기존의 지점 배포 방식을 바꾸어 놓았습니다. 이 점이 바로 Windows Server 2008 도메인 서비스의 가장 큰 변화입니다.

Active Directory 팀은 RODC 설계 시에 지점 시나리오의 요구 사항에 중점을 두는 한편, "지점에서 발생하는 문제의 영향은 지점으로 한정한다"는 목표를 세웠습니다. 요점은 DC를 물리적으로 안전하지 않은 지점에 배포하는 경우 실질적으로 DC와 DC를 트러스트하는 컴퓨터가 손상되는 것을 막을 방법은 없지만, 지점에서 다른 도메인으로 피해가 확산되는 것은 방지할 수 있다는 것입니다.

RODC는 ADDS 인프라가 크게 변화된 형태이기는 하지만 구현이 어렵지는 않습니다. 도메인이 Windows Server 2003 포리스트 기능 수준에 있고 도메인에 Windows Server 2008 DC가 하나 이상 있기만 하면 됩니다. RODC는 단순한 지점 솔루션이 아니라 인터넷에 노출되는 환경과 DC가 네트워크 주변에 배치되어 있는 환경에도 적합합니다.

DC 도난

지점에서는 몇 가지 위협 요소를 고려해야 합니다. 첫 번째는 누군가 DC나 DC의 디스크를 훔쳐 가는 "DC 도난" 시나리오입니다. 이 경우 위험한 점은 로컬 서비스가 중단되는 데 그치지 않고, 결국 공격자가 도메인의 모든 사용자 이름과 암호에 액세스하여 권한 수준을 올림으로써 보호되는 리소스에 액세스하거나 서비스 거부 공격을 시도할 수 있다는 점입니다. 이러한 위협 요소를 제거하기 위해 RODC는 기본적으로 RODC의 DIT(디렉터리 정보 트리)에 암호 해시를 저장하지 않습니다. 때문에 도메인에 대해 사용자를 인증하기 위해 사용자가 특정 RODC에 대해 처음으로 인증을 받을 때 RODC는 도메인의 FDC(전체 도메인 컨트롤러)로 요청을 전달합니다. FDC가 요청 처리에 성공한 경우 RODC는 암호 해시에 대해 복제 요청을 보냅니다.

공격받은 RODC가 중요한 계정에 대한 암호 해시를 요청할 수도 있습니다. 이 문제는 도메인 관리자가 각 RODC에 대한 암호 복제 정책을 구성하여 방지할 수 있습니다. 암호 복제 정책은 RODC의 컴퓨터 개체에 대한 두 가지 특성으로 구성됩니다. msDS-RevealOnDemandGroup 특성은 암호를 RODC에 캐시할 수 있는 그룹, 사용자 또는 컴퓨터 계정의 고유 이름을 포함합니다. 일반적으로 RODC와 같은 사이트에 있는 사용자와 컴퓨터가 이에 해당합니다. msDS-NeverRevealGroup 특성은 암호를 RODC에 캐시할 수 없는 그룹, 사용자 또는 컴퓨터 계정의 고유 이름을 포함합니다. 예를 들어 도메인 관리자 계정의 암호 해시는 RODC에 캐시되어서는 안 됩니다. RODC가 특정 계정에 대한 암호 해시를 요청하면 FDC가 암호 복제 정책에 따라 요청을 평가하여 암호 해시를 RODC로 복제할지 여부를 결정합니다. 따라서 DC를 도난당하더라도 네트워크에서 제거될 당시 도난된 RODC에 캐시되어 있던 암호에 대해서만 보안 문제가 발생하고 중요한 암호가 도용될 위험은 없습니다.

RODC 컴퓨터 개체에는 암호를 캐시할 계정을 정확하게 결정하는 데 도움이 되는 두 가지 특성이 더 있습니다. msDS-AuthenticatedAtDC 특성은 RODC에 대해 인증을 받은 계정을 나열하고, msDS-RevealedList 특성은 현재 RODC에 암호가 저장된 계정을 나열합니다.

DC에는 사용자 및 컴퓨터 암호 해시 외에 다른 기밀 정보도 저장됩니다. KrbTGT 계정은 각 도메인 컨트롤러에서 실행되는 Kerberos KDC(키 배포 센터) 서비스의 키를 포함합니다. 일반적인 시나리오에서는 도메인의 모든 KDC가 동일한 KrbTGT 계정을 공유하기 때문에 공격자가 도난당한 DC에서 이러한 키를 검색하여 다른 도메인을 공격하는 데 사용할 수 있습니다. 그러나 각 RODC에는 고유한 KrbTGT 계정과 키가 있기 때문에 이러한 문제가 발생하지 않습니다.

응용 프로그램이 암호 또는 다른 기밀 정보를 DIT에 저장하는 경우도 많습니다. 따라서 DC를 훔친 공격자는 이러한 응용 프로그램 암호를 도용하여 응용 프로그램에 액세스할 수 있습니다. 이러한 위험을 줄이기 위해 Windows Server 2008 도메인 서비스에서는 관리자가 RO-FAS(읽기 전용 DC 복제가 제한된 특성 집합)를 정의할 수 있습니다. RO-FAS에 포함된 특성은 RODC로 복제되지 않으므로 도용한 DC에서 검색할 수 없습니다. 스키마에서 해당 attributeSchema 개체의 searchFlags 특성을 비트 9(0x0200)로 설정하여 RO-FAS에 특성을 할당할 수 있습니다.

내부의 적

지점 도메인 컨트롤러에 대한 또 다른 위협 요소로, 로컬 서버 관리자가 다른 도메인 리소스에 대한 액세스 권한을 획득하거나 서비스 거부 공격을 시도하기 위해 DC의 권한을 이용하여 자신의 권한을 승격하는 경우를 들 수 있습니다. 이 경우에도 로컬 관리자가 도메인 컨트롤러에 물리적으로 액세스할 수 있다면 이러한 위험을 막을 방법이 거의 없습니다. 하지만 공격자가 지점 도메인 컨트롤러를 사용하여 도메인의 다른 DC를 도용하지 못하도록 할 수는 있습니다.

RODC는 도메인의 전체 DC에서 도메인 컨트롤러로 트러스트되지 않습니다. 트러스트 관점에서 FDC는 RODC를 도메인의 구성원 서버로 취급합니다. RODC는 Enterprise Domain Controllers 또는 Domain Controllers 그룹의 구성원이 아닙니다. RODC 계정의 디렉터리 항목 업데이트 권한은 매우 제한되어 있기 때문에 공격자가 RODC 계정을 도용하더라도 유용한 권한을 거의 획득할 수 없습니다.

RODC는 일반적인 DS 복제 토폴로지에 표시되지도 않습니다. RODC는 도메인 컨트롤러가 아니라 일반적인 구성원 서버처럼 보이기 때문에 DS 복제 토폴로지 계산을 담당하는 각 DC에 대한 프로세스인 KCC(정보 일관성 검사기)가 RODC로부터의 연결 개체를 만들지 않습니다. 어떤 전체 DC 또는 RODC도 RODC로부터 복제하려고 시도하지 않습니다. 반대로 RODC는 전체 DC로부터의 인바운드 복제 동의를 나타내는 연결 개체를 만들기는 하지만 이 연결 개체는 RODC의 복제본에만 존재하고 다른 DC에는 이 연결 개체의 복사본이 없습니다. 복제와 관련해서 RODC는 디렉터리 개체에 대해 적합하지 않습니다. 개체가 RODC 내로 복제되기는 하지만 외부로 복제되지는 않기 때문입니다.

RODC의 관리자 역할 분리

흔히 도메인 컨트롤러에 대한 백업 실행에서부터 키보드 청소까지 모든 작업을 담당하는 로컬 서버 관리자가 지점 DC를 관리합니다. 하지만 이 경우 원격 사이트 관리자에게 도메인 컨트롤의 일반적인 유지 관리에 필요한 권한이 부여되는 보안 위험이 있으며 사이트 관리자가 마음만 먹으면 도메인에서 자신의 권한을 승격할 수 있습니다. RODC는 이러한 위협 요소를 완화하기 위해 두 가지 관리자 역할 분리 방식을 제공합니다.

첫 번째 역할 분리 방식에서는 도메인 관리자가 DCPROMO를 사용하는 일반적인 방법으로 RODC를 승격하거나 도메인 관리 권한을 부여하지 않고도 지점 사이트 관리자에게 실제 승격 프로세스를 안전하게 위임할 수 있는 두 단계로 이루어진 프로세스를 사용할 수 있습니다. 도메인 관리자는 그림 5와 같이 Active Directory 사용자 및 컴퓨터 MMC 스냅인을 사용하여 도메인에 RODC 컴퓨터 계정을 미리 만듭니다.

그림 5 RODC 컴퓨터 계정 미리 만들기

그림 5** RODC 컴퓨터 계정 미리 만들기 **(더 크게 보려면 이미지를 클릭하십시오.)

"Pre-create Read-only Domain Controller account(읽기 전용 도메인 컨트롤러 계정 미리 만들기)"를 선택하면 간략화된 버전의 DCPROMO가 실행됩니다. 이 DCPROMO 버전은 컴퓨터 계정을 만들고, 사이트에 RODC를 할당하고, DC의 역할을 지정하고, 암호 복제 정책을 지정하고, RODC에 대한 DCPROMO 작업 수행 권한이 필요할 사용자 또는 그룹을 정의하는 등을 비롯하여 도메인에 대한 관리자 권한이 필요한 모든 작업을 수행합니다. 위임된 관리자 또는 그룹은 RODC 컴퓨터 개체의 managedBy 특성에 저장됩니다.

이렇게 위임된 관리자는 서버 자체에서 DCPROMO를 실행할 수 있습니다. DCPROMO는 미리 만들어진 계정을 검색하여 서버를 RODC로 전환합니다. 이 방법으로 DCPROMO를 실행하는 데에는 도메인 관리자 자격 증명이 필요하지 않습니다.

RODC에서 제공되는 두 번째 관리자 역할 분리 방식은 RODC 자체에 로컬 관리자 역할을 만드는 것입니다. 이러한 역할은 컴퓨터 로컬 그룹과 비슷합니다. 즉, 이러한 역할은 RODC의 레지스트리에 저장되고 RODC에서만 평가됩니다. 하지만 관리자는 컴퓨터 관리 MMC 스냅인을 사용하는 대신 NTDSUTIL을 사용하여 로컬 RODC 역할을 관리합니다. 그림 6에는 RODC에 대한 로컬 관리자 역할이 나와 있습니다. 이러한 역할은 Windows의 기본 제공 그룹과 일대일로 대응됩니다.

Figure 6 로컬 RODC 관리자 역할

Account Operators
Administrators
Backup Operators
Certificate Service DCOM Access
Cryptographic Operators
Distributed COM Users
Event Log Readers
Guests
IIS_IUSRS
Incoming Forest Trust Builders
Network Configuration Operators
Performance Log Users
Performance Monitor Users
Pre-Windows 2000 Compatible Access
Print Operators
Remote Desktop Users
Replicator
Server Operators
Terminal Server License Servers
Users
Windows Authorization Access Group

RODC의 특이점

RODC는 읽기 전용이고 다른 도메인 컨트롤러가 RODC로부터 복제되지 않기 때문에 예기치 않은 동작이 몇 가지 발생하기도 합니다. 예를 들어 느린 개체, 즉 다른 곳에서는 모두 삭제되었지만 포리스트의 삭제 표시 기간 내에 복제하지 못한 특정 DC에서는 삭제되지 않은 개체는 일반적으로 DC의 아웃바운드 복제 파트너에 의해 검색됩니다. 그러나 RODC에는 인바운드 복제 파트너가 없기 때문에 느린 개체가 검색되지 않습니다.

RODC는 LDAP 업데이트 작업(추가, 수정, 삭제, 이름 바꾸기 또는 이동)을 지원하지 않습니다. 대신 작업을 지원할 수 있는 쓰기 가능한 DC에 대한 LDAP 조회를 포함한 오류를 반환합니다. LDAP 업데이트를 실행한 응용 프로그램이 조회 작업을 정상적으로 처리하지 못하면 응용 프로그램이 작동하지 않을 수 있습니다.

마지막으로 포리스트의 다른 도메인에 있는 사용자가 RODC에 대해 인증을 받으려는 경우 사용자의 도메인에 있는 DC로 인증 요청을 올바르게 전달할 수 있도록 트러스트 암호를 획득하기 위해서는 RODC가 자체 도메인의 전체 DC에 액세스할 수 있어야 합니다. RODC가 속한 도메인에 있는 전체 DC와 RODC 간의 네트워크 연결을 사용할 수 없으면 인증이 실패합니다.

세분화된 암호 정책

도메인에서 여러 암호 정책을 정의하는 기능은 Windows Server 2008 ADDS에서 가장 많이 요구되었던 기능이라 할 수 있습니다. 알다시피 Windows 2000 및 Windows Server 2003 Active Directory에서 각 도메인은 도메인의 모든 보안 주체에 적용되는 단일 암호 정책만 지원합니다. 따라서 특정 사용자 그룹에 별도의 암호 정책이 필요하면 별도의 도메인을 만들어야 합니다. 그러나 이제는 세분화된 암호 정책이라는 Windows Server 2008 ADDS의 새로운 기능 덕분에 하나의 도메인에 여러 암호 정책을 정의할 수 있게 되었습니다.

이 새로운 방법에서는 그룹을 사용하여 사용자에게 세분화된 암호 정책을 적용합니다. 먼저 CN=Password Settings Container, CN=System, DC=<domain> 컨테이너에 새 msDS-PasswordSettings 개체를 만들어 세분화된 암호 정책을 정의합니다. msDS-PasswordSettings 개체(PSO)에는 그룹 정책의 암호 정책 설정을 병렬화하는 특성이 있습니다(그림 7 참조).

Figure 7 mSDS-PasswordSettings 개체의 특성

특성 설명
mSDS-PasswordReversibleEncryptionEnabled 해독 가능한 암호화를 사용하여 암호를 암호화할지 여부를 나타내는 부울 값입니다.
mSDS-PasswordHistoryLength 암호 기록에 유지되는 항목의 수입니다.
mSDS-PasswordComplexityEnabled 암호 복잡도 제한을 사용할지 여부를 나타내는 부울 값입니다.
mSDS-MinimumPasswordLength 암호의 최소 길이를 정의하는 정수 값입니다.
mSDS-MinimumPasswordAge 변경할 수 있게 되기까지 암호의 최소 사용 기간을 나타내는 INTEGER8 값입니다.
mSDS-MaximumPasswordAge 이 기간이 지난 후 암호를 반드시 변경해야 하는 최대 암호 사용 기간을 나타내는 INTEGER8 값입니다.
mSDS-LockoutThreshold 계정이 잠기기 전에 허용되는 로그인 실패 수를 나타내는 정수 값입니다.
mSDS-LockoutObservationWindow 로그인 실패가 얼마 동안의 시간(나노초) 안에 연속적으로 발생해야 계정이 잠기는지를 나타내는 INTEGER8 값입니다.
mSDS-LockoutDuration 계정이 잠기는 기간(나노초)을 나타내는 INTEGER8 값입니다.

그런 다음 사용자 또는 그룹 이름을 PSO의 mDS-PSOAppliesTo 다중값 특성에 추가하여 사용자나 그룹에 암호 정책을 할당합니다. OU에 암호 정책을 적용하지 않는다는 원리만 이해하면 상당히 간단한 작업이지만 다소 복잡한 문제가 있습니다.

대개 사용자는 여러 그룹에 속해 있습니다. 사용자가 여러 그룹에 속하는 구성원이기 때문에 사용자에게 상충하는 여러 암호 정책이 적용된다면 어떻게 해야 할까요? 이 경우 ADDS는 우선 순위 평가를 통해 적용할 암호 정책을 결정합니다. 예를 들면 다음과 같습니다.

  1. 그룹 구성원 자격을 통해서가 아니라 사용자 개체에 직접 연결되어 있는 암호 정책이 있으면 이 암호 정책이 적용됩니다.
  2. 사용자에게 직접 연결된 암호 정책이 여러 개 있으면 우선 순위 값(PSO의 msDS-PasswordSettingsPrecendence 특성 값에 따라 결정)이 가장 낮은 정책이 적용됩니다.
  3. 우선 순위가 같은 PSO가 여러 개 있으면 objectGUID 값이 가장 낮은 PSO가 적용됩니다.
  4. 사용자에게 직접 연결된 PSO가 없으면 ADDS가 사용자의 그룹에 연결된 PSO를 평가합니다. PSO가 둘 이상 있으면 msDS-PasswordSettingsPrecedence 특성 값이 가장 낮은 PSO가 적용됩니다.
  5. 우선 순위 값이 같은 PSO가 여러 개 있으면 objectGUID 값이 가장 낮은 PSO가 적용됩니다.
  6. 사용자와 연결된 PSO가 없으면 도메인 암호 정책이 사용됩니다.

사용자 개체에는 사용자에게 적용할 PSO를 정확하게 분류하기 위한 msDS-ResultantPSO라는 새로운 특성이 있습니다. 이 특성은 해당 사용자의 암호를 제어하는 PSO의 고유 이름을 포함합니다.

세분화된 암호 정책은 충분한 유연성을 제공하지만 정책을 신중하게 관리하고 가능한 한 단순하게 유지해야 합니다. 세분화된 암호 정책을 정의할 수 있는 기본 유틸리티는 제공되지 않으므로 ADSIEdit 또는 타사 유틸리티를 사용해야 합니다.

재시작 가능한 Active Directory 서비스

DIT 유지 관리를 위해 도메인 컨트롤러의 작동을 중단할 때마다 네트워크 서비스 수준에도 약간의 영향이 미칩니다. Windows Server 2008 DC에는 DC를 완전히 종료하지 않고 디렉터리 서비스를 중지할 수 있는 새로운 기능이 있습니다.

NET STOP NTDS 명령은 Windows Server 2008 DC에서 ADDS를 중지합니다. 이렇게 하면 DC의 LSASS(로컬 보안 기관) 프로세스는 계속 실행되지만 ADDS 관련 DLL이 모두 언로드되고 디렉터리 서비스를 사용할 수 없게 됩니다. 그러면 LSASS가 DC에 도메인 인증 요청을 전달하여 실질적으로 구성원 서버에 있는 것처럼 동작합니다. ADDS를 처리하는 DLL이 언로드되었으므로 ADDS 관련 패치를 적용하거나 DIT의 오프라인 조각 모음을 수행할 수 있습니다. ADDS는 NET START NTDS 명령만 실행하여 간단히 시작할 수 있습니다. 단, 시스템 상태 백업에서 DIT를 복원하려면 이전과 같이 디렉터리 서비스 복구 모드로 부팅해야 합니다.

디렉터리 서비스가 실제 Windows 서비스는 아니라는 점을 이해해야 합니다. 디렉터리 서비스가 여전히 LSASS의 필수 구성 요소이고 컴퓨터를 종료하지 않고는 LSASS를 중지할 수 없기는 하지만, Windows Server 2008에서 디렉터리 서비스를 시작하고 중지하는 기능은 분명 편리한 옵션입니다.

백업 및 복구

Windows Server 2008에서는 백업 및 복원 메커니즘이 전반적으로 개선되었습니다. 여기서 자세히 설명하지는 않겠지만 ADDS에 영향을 주는 몇 가지 Windows Server 백업 관련 변경 사항이 있습니다.

Windows Server 백업은 전체 디스크 볼륨을 한 번에 백업하는 볼륨 기반 백업 솔루션입니다. 또한 디스크(또는 디스크와 유사한) 장치만 백업하고 테이프는 지원하지 않습니다.

WBADMIN 명령줄 백업 유틸리티에 사용할 수 있는 시스템 상태 백업 옵션이 있습니다. 이제 WBADMIN START SYSTEMSTATEBACKUP 명령을 사용하면 도메인 컨트롤러에서 Active Directory를 복원하는 데 필요한 모든 중요 시스템 파일을 포함한 백업 이미지를 만들 수 있습니다. 그러나 백업 세트에는 볼륨을 5개까지 포함할 수 있지만 백업 세트의 볼륨에는 시스템 상태 복원에 필요한 파일만 포함할 수 있습니다. 더 번거로워진 점은 Windows Server 2008의 RC0 빌드부터는 네트워크 공유에 시스템 상태 백업을 수행할 수 없다는 점입니다. 따라서 시스템 상태 백업 이미지를 저장할 수 있는 로컬 디스크 볼륨이 필요하고, 해당 볼륨이 시스템 상태 백업 볼륨 세트에 포함되어 있지 않아야 합니다. 결과적으로 시스템 상태 백업을 수행하는 모든 도메인 컨트롤러에 새 디스크 볼륨을 추가해야 할 수도 있습니다.

시스템 상태 복원은 간단합니다. DC를 디렉터리 서비스 복원 모드로 부팅하고 WBADMIN START SYSTEMSTATERECOVERY 명령만 실행하면 됩니다. 그러면 정식 복원되지 않은 DIT가 생성됩니다. 여기서 Windows Server 2003에서와 마찬가지로 NTDSUTIL을 사용하여 특정 개체에 대한 정식 복원을 수행할 수 있습니다.

Windows Server 백업에서 중요하게 살펴보아야 할 점은 백업 이미지가 VHD(가상 하드 디스크) 형식으로 저장된다는 점입니다. 이는 Microsoft Virtual Server 2005에서 가상 디스크 이미지를 저장하는 데 사용하는 것과 같은 형식이므로, Windows Server 백업을 사용하여 만든 백업 이미지를 Microsoft Virtual Server에서 실행하는 가상 컴퓨터에 디스크 드라이브로 탑재할 수 있습니다. 그런 다음에는 일반 디스크 드라이브와 마찬가지로 백업 콘텐츠를 탐색할 수 있습니다.

ADDS 백업과 관련한 다른 변경 사항은 볼륨 섀도 복사본 서비스를 사용하여 Active Directory의 지정 시간 스냅숏을 만드는 기능입니다. NTDSUTIL을 사용하여 스냅숏을 만드는 경우 볼륨 섀도 복사본 서비스가 업데이트 작업을 통해 덮어써지기 전에 DIT에 있는 각 디스크 블록의 이전 이미지를 저장합니다. 볼륨 섀도 복사본 서비스는 이렇게 저장된 이전 이미지와 현재 버전의 DIT를 결합함으로써 오버헤드가 거의 없이 DIT의 완벽한 스냅숏을 구성할 수 있습니다. 일반적으로 스냅숏을 만드는 데에는 DIT의 크기에 관계없이 몇 초밖에 걸리지 않습니다.

이 자체만으로도 훌륭한 기능이지만 유용한 기능은 이뿐만이 아닙니다. Windows Server 2008의 ADDS에는 스냅숏 이미지를 읽기 전용 모드로 탑재하는 DSAMAIN이라는 명령줄 유틸리티가 있습니다. 이 유틸리티는 스냅숏을 만든 시점의 디렉터리 내용이 들어 있는 ADLDS 인스턴스와 유사한 독립 실행형 LDAP 서버를 제공합니다. LDP 유틸리티나 기타 LDAP 도구를 사용하여 이 디렉터리를 탐색할 수 있으며 이전 시점의 디렉터리 개체 버전을 검색할 수도 있습니다.

DFS-R을 통한 SYSVOL 복제

Windows Server 2003 R2에는 DFS-R이라는 새로운 파일 복제 메커니즘을 통합하는 개선된 DFS(분산 파일 서비스)가 있습니다. 여기에는 원본 파일과 동기화하기 위해 복제해야 하는 대상 파일 블록을 확인함으로써 파일 복제 트래픽을 크게 줄이는 원격 차등 압축이 사용됩니다. 그러나 Windows Server 2003 R2에서는 도메인 컨트롤러 간에 SYSVOL을 복제하는 데 DFS-R이 아니라 파일 복제 서비스를 여전히 사용합니다. 때문에 Active Directory 관리자는 SYSVOL 복제로 인한 문제를 계속 겪고 있습니다.

Windows Server 2008에서는 Windows Server 2008 도메인 기능 수준에서 실행할 때 DFS-R을 사용하여 SYSVOL을 복제하므로 SYSVOL 복제를 빠르고 안정적으로 수행할 수 있습니다. 이 기능 덕분에 SYSVOL에 큰 파일을 포함하여 모든 DC에서 사용 가능하도록 할 수 있습니다. SYSVOL에 DFS-R을 사용하려면 먼저 DFSRMIG 유틸리티를 사용하여 이전 SYSVOL 데이터를 DFS-R로 마이그레이션해야 합니다. 이 작업은 다음 네 단계로 진행됩니다.

  • DFS-R에 필요한 Active Directory 개체를 만듭니다.
  • 각 도메인 컨트롤러에 새 SYSVOL 파일 구조를 만듭니다.
  • 새 SYSVOL을 사용하도록 모든 도메인 컨트롤러를 전환합니다.
  • 이전 SYSVOL을 제거합니다.

SYSVOL의 크기와 도메인 컨트롤러의 수에 따라 이 작업을 실행하는 데 다소 시간이 걸릴 수도 있지만 향상되는 성능과 안정성을 통해 얻는 이점은 이러한 수고보다 더 클 것입니다.

향상된 감사 기능

Windows Server 2003 Active Directory의 감사 시스템에는 장단점이 모두 있습니다. 즉, 매우 포괄적이고 유연하며 안전한 디렉터리 변경 내용 추적 솔루션을 제공하는 반면에 몇 가지 중대한 유용성 문제가 있다는 일부 주장도 있습니다.

Windows Server 2003 도메인 컨트롤러에서 디렉터리 변경 내용에 대한 감사 기능은 전체적으로 사용하도록 설정하거나 완전히 해제할 수밖에 없습니다. 또한 사용량이 많은 기업 DC의 감사 트래픽 양으로 인해 감사 기능의 유용성이 저하될 수 있습니다. 개별 보안 설명자 작업을 통해 정말로 필요한 메시지를 생성하는 감사 시스템을 구성하는 과정은 지루하며 오류가 발생하기 쉽습니다. 감사 메시지 자체도 종종 이해하기 어려운 경우가 있고 변경된 특성의 이전 값 및 이후 값과 같은 필요한 정보가 들어 있지 않은 경우도 많습니다. 그리고 여러 도메인 컨트롤러에서 발생한 메시지를 수집하고, 연관시키고, 보관하는 작업은 기본 Windows 도구를 사용하여 쉽게 수행할 수 없습니다.

Windows Server 2008의 디렉터리 서비스 감사 시스템에서는 이와 같은 문제 일부를 해결했습니다. 첫째, 디렉터리 서비스 감사에 사용할 수 있는 DS Access, DS Changes, DS Replication 및 Detailed DS Replication이라는 네 가지 새로운 하위 범주가 추가되었습니다. 따라서 디렉터리 변경 내용만 감사하려는 경우 모든 읽기 및 복제 이벤트를 확인하지 않아도 됩니다. 그러나 감사 로그에 개체 삭제를 포함하려면 DS Access를 활성화해야 합니다. 이렇게 하면 모든 DS 개체 액세스에 대한 메시지가 생성되어 결국 너무 많은 메시지가 생성되는 결과를 다시 낳게 됩니다. 중요한 개체에 대해 감사 메시지를 생성하도록 보안 설명자를 구성하는 작업은 여전히 사용자의 몫입니다.

감사 메시지가 충분히 정리되었으므로 판독하기가 쉽고 필요한 데이터만 포함합니다. 특히 디렉터리가 변경될 경우 변경된 특성의 이전 값과 새 값이 포함된 감사 로그 항목이 생성됩니다. 이는 엄청난 발전이라고 할 수 있습니다. 유일한 단점이라면 이전 값과 새 값이 별도의 감사 로그 항목으로 표시되기 때문에 변경된 내용을 파악하려면 이들을 연관시켜야 합니다. Microsoft Audit Collection Services를 비롯한 많은 감사 로그 수집 관련 추가 기능 제품에서 이러한 상관 관계 지정을 지원합니다.

향상된 UI

Active Directory 사용자 및 컴퓨터, 사이트 및 서비스, 도메인 및 트러스트 MMC 스냅인은 지금까지 계속적으로 Active Directory 관리에 유용하게 사용되어 왔습니다. Windows Server 2008에서는 기본 관리 도구가 정리되었고 몇 가지 유용한 기능이 새로 도입되었습니다. 고급 기능을 사용하도록 설정하면 각 개체의 속성 대화 상자에 특성 편집기라는 추가 탭이 표시됩니다. 이 특성 편집기는 모든 개체 특성을 조사하고 편집할 수 있는 ADSIEdit에 사용되는 특성 편집기 탭과 동일합니다. 이제 이 탭 자체에서 userAccountControl 특성 같은 인코딩된 특성을 보다 효율적으로 디코딩할 수 있습니다. 그림 8은 완벽하게 통합된 특성 편집기를 보여 줍니다.

그림 8 Active Directory 사용자 및 컴퓨터의 특성 편집기

그림 8** Active Directory 사용자 및 컴퓨터의 특성 편집기 **(더 크게 보려면 이미지를 클릭하십시오.)

결론

이 기사에서 설명한 핵심 사항 외에 Windows Server 2008의 ADDS에는 다른 향상된 기능도 많이 있습니다. 예를 들어 도메인이 Windows Server 2008 도메인 기능 수준에 있는 경우 KDC에 AES-256(256비트 Advanced Encryption Standard)이 사용됩니다. DS 개체의 개체 탭에서 실수로 삭제되지 않도록 보호하는 확인란을 선택하여 개체가 실수로 삭제되지 않도록 보호할 수 있습니다. 데이터 관리 서비스를 제공하는 Extensible Storage Engine이 단일 비트 오류 수정을 사용하도록 개선되었습니다. 그 결과 디스크 하위 시스템에서 DIT 손상으로 인한 하드웨어 또는 소프트웨어 오류 발생 가능성이 줄었습니다. DNS 서비스는 요청이 DNS 데이터베이스에 완전히 로드되기 전에 요청 처리를 시작합니다. 또한 원하는 사이트에서 DC를 찾지 못할 경우 도메인에서 찾은 아무 DC나 사용하는 것이 아니라 가장 가까운 사이트에서 DC를 찾도록 DC 로케이터 모듈이 개선되었습니다. 마지막으로 이제 NTDSUTIL에서 RODC와 볼륨 섀도 복사본 서비스 스냅숏이 지원됩니다.

Windows Server 2008의 Active Directory 도메인 서비스는 다양한 면에서 눈에 띄게 향상되었습니다. 이러한 모든 변경 사항은 함께 결합되어 ADDS의 보안과 관리 효율성을 크게 향상시킵니다. 그러나 무엇보다 주목할 만한 변화는 방대한 마이그레이션 작업을 거치지 않고도 점진적으로 손쉽게 Windows Server 2008을 Active Directory 환경에 통합할 수 있게 되었다는 점입니다.

Gil Kirkpatrick은 NetPro의 CTO로서 1996년부터 Active Directory용 소프트웨어를 개발해오고 있으며, HP의 Guido Grillenmeier와 함께 인기 있는 Active Directory 재해 복구 워크샵을 진행하고 있습니다. Gil은 Directory Experts Conference(www.dec2008.com)의 창립자이기도 합니다.

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