13-1. Active Directory 개요 Windows Networking2008. 11. 22. 08:30
Active Directory를 단적으로 표현한다면 'Windows Server 2003 이상의 서버에서 제공하는 디렉터리 데이터베이스'[1]라고 할 수 있다. Active Directory를 하나의 메이커 형태로 생각하면 이해가 쉽다. 이를 테면 'Active Directory는 마이크로소프트가 Windows Server에서 제공하는 디렉터리'라고 정의를 하자.
그렇다면 디렉터리라는 것이 마이크로소프트만 제공하는 것도 아니고 SUN, IBM, Novell등 다양한 벤더가 모두 지원하고 있는데 왜 유독 Active Directory가 많은 관리자들에게 회자되고 있는 것일까? AD는 무엇인가에 대한 원론적인 개념은 단순하지만 AD를 가지고 무엇을 할 수 있는가? 여러분들은 AD를 가지고 무엇을 할 것인가? 라는 측면은 상당히 고민스러운 부분이다.
왜 Active Directory를 사용해야 할까?
네트워킹에서 디렉터리라고 하는 것은 필수적인 요소이다. 서버가 자신의 자원에 접근을 원하는 사용자들에게 권한을 부여하고자 한다면 서버는 디렉터리를 필요로 한다. 사용자가 네트워크상의 자원에 접근을 하고자 한다면 역시 디렉터리를 필요로 한다. 디렉터리는 “정보저장소”의 역할을 제공한다.
Active Directory는 디렉터리로서 어떤 정보를 저장하고 있을까? Active Directory는 사용자, 그룹, 컴퓨터, 공유폴더, 프린터, 연락처, 조직구성단위(OU) 등의 다양한 정보를 Object(개체)로 저장할 수 있다. 컴퓨터, 공유폴더, 프린터 등까지 디렉터리에 포함하고 있음을 주목하자. 이것은 관리자에게 상당한 편의성을 제공하는 기반이 된다.
<그림13-1. Active Directory에 저장되는 개체의 종류>
Active Directory에 자원을 가진 서버나 자원에 접근하기를 원하는 사용자가 네트워크에서 이들 자원을 찾고자 한다면 사용자들은 Active Directory를 검색함으로써 원하는 자원의 위치정보를 얻어낼 수 있다.
‘그렇구나. 유용한 디렉터리인 것 같긴 하구나.’ 하지만 이 정도 가지고는 특별히 다른 디렉터리와의 차별화된 장점을 제공한다고 보기는 어렵다.
관리편의성과 확장성 2가지 측면에서 AD의 장점을 살펴보자.
Active Directory가 주는 장점 중 가장 큰 부분이라고 할 수 있는 것이 관리편의성 측면이다. <그림13-1>에서 Active Directory에 저장되는 정보중에는 사용자, 컴퓨터가 포함되어 있음을 확인했다. 여기서 컴퓨터라 함은 우리가 사용하는 데스크톱PC뿐이 아니라 서버들도 포함된다. 이것은 무엇을 의미할까?
Active Directory는 마이크로소프트에서 제공하는 디렉터리 서비스이고, 우리가 업무를 위해 사용하는 PC의 대다수 운영체제는 역시 마이크로소프트의 Windows운영체제이다. 필자는 Active Directory가 많은 기업의 핵심 인프라로 자리할 수 있는 배경의 가장 큰 힘이라면 Active Directory가 컴퓨터 정보를 포함함으로써 사용자 및 컴퓨터에 대한 효율적인 관리를 제공할 수 있는 기반을 제공하고, 그 기반위에서 적절하게 사용할 수 있는 수많은 정책들을 함께 제공함으로써 최상의 관리방안을 제시하고 있기 때문이라고 말하고 싶다.
그 관리방안의 핵심은 Active Directory가 제공해 주는 기능중의 꽃이라고 할 수 있는 ‘그룹정책(Group policy)’에 있다. 그룹정책은 참으로 많은 능력을 가지고 있다. 도메인환경에서 다수의 컴퓨터, 다수의 사용자들에 대한 상당부분의 관리 및 지원기능을 그룹정책 하나를 가지고 자동화시킬 수 있어서 이러한 그룹 정책을 잘 사용하는 것은 관리자의 업무부담을 상당부분 줄여줄 수 있다. 그룹정책을 이용해서 할 수 있는 일을 간단히 정리하였다.
- 사용자의 데스크탑 환경 설정
- 사용자의 데스크탑 제어 (Lock down)
- 레지스트리 수정
- 스크립트 자동 실행 (로그온, 로그오프, 시작, 종료)
- 보안설정
- 소프트웨어 관리 (설치, 업그레이드, 제한, 재설치, 복구, 삭제)
그룹정책을 적용할 수 있는 Active Directory 구조단위는 사이트, 도메인, OU이며, OU(조직단위)는 그룹정책을 적용할 수 있는 최소단위이다. 마이크로소프트는 Windows Server 2003의 Active Directory에서 무려 1,300가지 이상의 그룹정책설정 항목을 제공함으로써 관리자의 편의를 돕고 있다. 스크립트 자동실행 기능이 제공되기 때문에 기본정책만으로 부족하다면 개발자의 프로그래밍 능력에 따라 얼마든지 커스터마이징된 그룹정책을 배포할 수도 있다.
또한 그룹정책은 기본적으로 상속성을 가지고 있다. 도메인의 그룹정책은 OU에 속한 모든 사용자 및 컴퓨터에 적용되고, 상위OU에 설정된 그룹정책은 하위OU에 상속된다. 이를 통해 관리자는 전사적인 레벨의 보안설정 등의 관리항목은 도메인에 그룹정책으로 설정하고, 부서별, 위치별, 업무성격별로 OU에 설정함으로써 차별적인 정책기반의 사용자 및 컴퓨터 관리가 가능하다.
사용자 및 컴퓨터를 정책으로 관리하기 위해서는 이미 기본인프라는 갖춰져 있다는 것을 가정한다. 기본인프라라고 하면 AD가 구성되고 디렉터리에는 사용자가 생성되어야 하며, 컴퓨터는 AD도메인에 참여함으로써 디렉터리에 개체로서 포함되어 있는 것을 의미한다.
이번에는 Active Directory의 확장성 측면을 살펴보자. 먼저 Active Directory가 지원하는 프로토콜에 대해 살펴보면 Active Directory는 대부분의 산업표준 프로토콜을 채택했다. 이것은 큰 의미가 있다. 산업 표준 프로토콜을 채택했다는 것은 마이크로소프트의 솔루션이 아닌 다른 벤더의 OS 및 제품들과의 호환성 측면이 한층 강화되었다는 것을 의미하기 때문이다.
※ Active Directory가 지원하는 프로토콜 ① DNS (Domain Name System) : 평면적인(flat) 형태의 NetBIOS 도메인 이름은 하위호환성을 위해서만 제공하고 도메인의 이름서비스로서 DNS를 채택했다. 또한 도메인 컨트롤러를 찾는 요청에 WINS가 아닌 DNS서버가 사용되게 된다. ② TCP/IP (Transmission Control Protocol / Internet Protocol) : TCP/IP를 기본프로토콜로 채택함으로써 인터넷 통신에 최적화된 시스템운영을 가능하게 한다. ③ DHCP (Dynamic Host Configuration Protocol) : Active Directory로부터 승인을 얻지 못한 DHCP서비스를 stop시킴으로써 잘못된 DHCP서버로 인한 클라이언트의 IP획득 실패등의 오류를 해결했다. ④ Kerberos : 도메인 환경에서 이전의 NTLM을 대체할 보안 인증 프로토콜이다. 이것은 Single Sign On과 상호인증을 제공한다. ⑤ X.509 : 이것은 PKI (Public Key Infrastructure)기반 인증서(Certificate) 서비스의 표준 프로토콜이다. Active Directory는 X.509 표준을 지원하며 인증서와 사용자계정의 매핑을 통하여 사용자를 인증할 수 있도록 제공하고 있다. ⑥ SNTP (Simple Network Time Protocol) : Windows 2000에서 로그온을 할 때 사용자가 로그온하는 시간정보가 사용된다. 로그온 서버와 클라이언트의 시간이 일치하지 않는다면 사용자는 로그온을 실패하게 된다. 도메인 컨트롤러는 Time Server 로 동작하고 도메인의 멤버인 클라이언트들의 시간과 동기화를 제공하게 된다. 그때 SNTP 프로토콜이 사용된다. 필자 역시 이 서비스를 깜박하고 노트북의 CMOS 배터리를 교환하는 실수를 했던 적이 있다. ⑦ LDAP (Lightweight Directory Access Protocol) : Active Directory 에 접근할 때 사용하는 프로토콜이다. Active Directory 는 LDAP 프로토콜에 근간을 두고 있다. 역시 사용자가 Active Directory에 쿼리를 하고자 한다면 LDAP 프로토콜을 필요로 한다. 이때 도메인 컨트롤러는 LDAP서버이고 사용자의 컴퓨터는 LDAP 클라이언트가 된다. ⑧ LDIF (LDAP Data Interchange Format) : 도메인 컨트롤러 간의 Active Directory Database Replication시 사용되는 프로토콜이다. |
디렉터리라고 하는 것은 마이크로소프트뿐만이 아니라 모든 벤더가 고려해야할 부분이 될 것이므로 한 기업이 전체 기업환경에서의 '글로벌 디렉터리(Global Directory)'를 필요로 한다면 여러 가지 시스템이 섞여 있는 이기종(異機種)에서도 Active Directory는 만족할만한 성능을 발휘해 줄 것이다. 또 다른 측면으로는 기업내에서 개발되는 인트라넷 어플리케이션의 경우 역시 디렉터리를 필요로 하는데, Active Directory는 표준 프로토콜을 채택함으로써 이러한 경우에도 예전에 비해 보다 용이하게 기업이 Active Directory를 선택하도록 유도할 것이다.
Active Directory로 구현할 수 있는 그리고 현재 기업들이 구현하고 있는 확장성을 그림으로 표현해 보았다.
<그림13-2. Active Directory의 확장성>
<그림13-2>에 언급된 하나하나의 요소들을 살펴보면 우리가 기업네트워크에서 필요로 하는 대부분의 업무 및 시스템들이 Active Directory와의 연관성을 가진 것을 알 수 있을 것이다. 바꿔 말하면 Active Directory는 이러한 업무들과 연계하는 기업의 통합디렉터리 서비스를 제공함으로써 핵심 인프라가 될 수 있으며 관리자는 통합 디렉터리의 장점을 최대한 활용할 수 있을 것이다.
이처럼 Active Directory는 단지 Windows 서버 및 PC 만을 관리하기 위한 것은 아니다. 기업의 IT인프라의 핵심 디렉터리 역할을 충분히 제공할 만한 무한한 확장성을 가지고 있다. Active Directory가 인프라로서 다방면에 걸쳐 연관성을 가지고 있기 때문에 도대체 AD가 무엇인가? AD를 가지고 무엇을 할 수 있을 것인가? 에 대한 해답을 찾는 것이 오히려 어려운 일이 되었다는 생각도 든다.
현재 AD를 사용하고 있다면 이것을 어떻게 더 확장해 볼 것인가에 대해 고민을 해야 할 것이고, AD를 사용하고 있지 않다면 먼저 기본인프라를 구축하는 것이 다른 어떠한 솔루션을 도입하는 것보다는 선행되어야 할 첫번째 과제이다.
이를 테면 그룹웨어가 도입 또는 재구축되는 시점이라면 당장은 AD가 관리적인 측면에서 도입되지 않더라도 그룹웨어용 디렉터리를 선정함에 있어 Active Directory를 물망에 올려야 할 것이라는 것은 관리자의 당연한 선택이다.