440 likes | 883 Views
1. Active Directory 소개. 디렉토리란 사용자 , 컴퓨터 파일 등과 같은 개체에 대한 정보 단일 컴퓨터의 파일 시스템에서는 디렉토리에 파일 관련 정보가 저장 네트워크 환경에서는 네트워크에 분산되어 있는 컴퓨터 , 프린터 및 다른 사용자에 대한 정보가 디렉토리에 저장 디렉토리 서비스는 네트워크에서 원하는 개체를 검색해 주는 서비스 Active Directory 는 Windows 기반의 디렉토리 서비스. 도메인 , 포리스트 , 글로벌 카탈로그. 02. Active Directory 의 구조.
E N D
1. Active Directory 소개 • 디렉토리란 사용자, 컴퓨터 파일 등과 같은 개체에 대한 정보 • 단일 컴퓨터의 파일 시스템에서는 디렉토리에 파일 관련 정보가 저장 • 네트워크 환경에서는 네트워크에 분산되어 있는 컴퓨터, 프린터 및 다른 사용자에 대한 정보가 디렉토리에 저장 • 디렉토리 서비스는 네트워크에서 원하는 개체를 검색해 주는 서비스 • Active Directory는 Windows 기반의 디렉토리 서비스
02. Active Directory의 구조 • 데이터 모델: X.500의 데이터 모델을 기반으로 함 • 디렉토리에는 네트워크의 여러 개체에 대한 정보가 저장 • 각 개체는 스키마에서 정의 • 스키마: Active Directory의 디렉토리에 저장되는 개체의 클래스에 대한 정의로 구성 • 보안 모델: 디렉토리에 대한 접근은 ACL(접근제어목록)에 의해 제어 • 관리 모델: 인증된 사용자에 대하여 Active Directory의 관리를 수행할 수 있도록 함 • DSA(디렉토리 시스템 에이전트)는 물리적인 디렉토리를 관리
Active Directory 서비스에 대한 접근 • LDAP(Lightweight Directory Access Protocol)를 사용하여 클라이언트 및 도메인 컨트롤러 사이의 통신을 수행 • LDAP는 TCP/IP 네트워크에서 사용할 수 있도록 IETF 그룹에서 제정한 표준 통신 프로토콜 • 복잡성을 배제하고 디렉토리 서비스에 효율적으로 접근할 수 있도록 개발된 개방형 인터넷 • Active Directory는 LDAP 버전 2와 3를 구현하고 있다.
Active Directory 서비스 구조 • DSA(디렉토리 시스템 에이전트): • 디렉토리에 저장된 부모자식 관계에 의한 계층 구조를 정의 • 디렉토리 접근에 대한 API(응용 프로그램 인터페이스)를 제공 • 데이터베이스 계층: • 응용 프로그램과 데이터베이스 사이의 추상화를 지원 • ESE(확장 가능한 저장소 엔진): • 데이터 저장소의 각 레코드에 직접 접근 • 데이터 저장소: • ESE가 관리하는 디렉토리의 데이터를 저장한 파일(Ntds.dit)
데이터 저장소 • Active Directory에서 사용자, 그룹, 컴퓨터, 도메인, 조직 구성 단위 및 보안 정책과 같은 네트워크의 개체에 대한 디렉토리 정보를 저장하는 장소 • 도메인 데이터 • 도메인 데이터에는 도메인에 있는 개체에 대한 정보가 저장(이메일 주소등) • 구성 데이터 • 구성 데이터는 디렉토리의 토폴로지에 관한 정보를 저장 • 도메인, 트리, 포리스트의 목록과 도메인 컨트롤러 및 글로벌 카탈로그의 위치가 포함. • 스키마 데이터 • 도메인에 속한 모든 개체에 대한 정의가 저장(ex. 사용자, 컴퓨터) • 응용 프로그램 데이터 • 관리자 혹은 응용 프로그램이 만들고 관리
Active Directory의 서버 • 도메인 컨트롤러 • 모든 도메인 컨트롤러가 멀티마스터 복제에 참여 • 구성원 서버 • 파일 서버 • 응용 프로그램 서버 • 데이터베이스 서버 • 웹 서버 • 인증 서버 • 방화벽 및 원격 액세스 서버 등
Active Directory 클라이언트 • Active Directory 클라이언트는 Windows 2000 Professional 또는 Windows XP Professional에는 기본적으로 제공 • Windows 95, Windows 98 및 Windows NT 4.0을 실행하는 컴퓨터에서도 별도의 Active Directory 클라이언트 소프트웨어를 설치하여 사용
Active Directory 클라이언트의 특징 • 사이트를 인식하여 네트워크에서 가장 가까운 위치의 도메인 컨트롤러에 로그인 • ADSI(Active Directory 서비스 인터페이스)를 사용 • DFS(분산 파일 시스템) 공유 자원에 액세스 • NTLM 버전 2의 인증 기능을 사용 가능 • Active Directory WAB(Windows 주소록) 속성 페이지의 전화번호 같은 특성을 변경 가능 • Active Directory 검색 기능을 이용할 수 있다. • [시작] 메뉴에 있는 [검색]을 사용
03. 이름 체계 • Active Directory의 이름 공간은 DNS(Domain Name System) 이름과 호환 • DNS를 사용하여 Active Directory 도메인, 사이트 및 서비스 이름을 IP 주소로 변환
Active Directory의 이름 공간 • 연속적인 이름 공간: • 자식 개체의 이름에 부모 도메인의 이름이 포함 • 도메인 트리는 연속적인 이름 공간이다. • 불연속적인 이름 공간: • 부모 개체와 자식 개체의 이름이 서로 다르다. • 포리스트는 불연속적인 이름 공간
Active Directory에서 사용하는 이름 • DN(고유 이름) : 도메인 및 포리스트 전역에서 고유한 이름 • CN=mycomputer, OU=myunit, DC=microsoft, DC=com • 정식 이름 : 고유 이름과 같지만 다른 표기법 • microsoft.com/myunit/mycomputer • RDN(상대 고유 이름) : 특정 부모 컨테이너 내의 개체를 식별 • mycomputer라는 컴퓨터의 LDAP RDN은 다음과 같다. • CN=mycomputer
보안 사용자의 이름 • 보안 사용자는 Active Directory 자원으로의 접근을 제어하기 위한 SID(보안 식별자)를 할당받는 사용자 • 사용자, 그룹, 서비스 또는 컴퓨터 등
사용자 계정 • UPN(사용자 이름)을 사용 • 로그인 이름은 포리스트 전역에서 고유한 이름 • UPN은 RFC 822에 따라 만들어지며 다음 형식을 가진다. • ‘사용자 로그인 이름’@’UPN 접미사’ • ‘username@sales.korea.microsoft.com’
컴퓨터 계정 • LDAP의 상대 고유 이름으로 사용 • 전체 컴퓨터 이름은 DNS의 FQDN(정규화된 도메인 이름) • FQDN은 도메인 트리의 전체 경로가 표시되도록 정의된 DNS 이름 • FQDN은 이름 공간의 루트의 위치를 나타내기 위해 마지막에 마침표(.)를 추가(예: computername.microsoft.com.) • [제어판] → [시스템]의 ‘컴퓨터 이름’ 탭에 표시 • 컴퓨터의 NetBIOS 이름은 15바이트, DNS 이름은 63바이트, FQDN은 255자를 사용
GUID(전역 고유 식별자) • SID(보안 식별자)와 보안 사용자를 식별하는 데 사용 • 보안 사용자를 다른 도메인으로 이동하거나 이름을 바꾸면 SID, DN, RDN 및 정식 이름은 변경되지만 GUID는 변경되지 않는다
04. 네트워크 구성 • OU • 도메인 • 트리 • 포리스트
OU(조직 단위) • 사용자, 그룹, 컴퓨터, 프린터, 공유 폴더 또는 같은 도메인에 속한 다른 OU를 포함하는 컨테이너 개체 • 도메인 내의 개체를 조직화하는 기본 단위
도메인 • Active Directory에서 관리자가 정의한 컴퓨터, 사용자 및 그룹 개체의 집합 • 도메인에는 반드시 하나 이상의 도메인 컨트롤러가 존재 • DNS에서의 도메인은 DNS 이름 공간에서의 트리 또는 하위 트리를 의미 • Active Directory에서 사용하는 도메인의 이름은 DNS의 도메인 이름과 일반적으로 일치
도메인의 특징 • 조직의 구성을 반영하여 개체를 조직 • 소규모의 조직이라면, 하나의 도메인만으로 충분 • 부서 단위 등의 더 작은 조직은 OU를 사용 • Active Directory에 속한 개체들은 도메인 단위로 디렉토리에 정보가 저장되고 게시 • 도메인에 그룹 정책 개체를 적용하면 자원 관리와 보안 관리가 통합 • 사용자 권한 및 암호 정책과 같은 보안 설정은 도메인 단위로 적용
트리(Tree) • 다중 도메인이 연속적 이름 공간을 사용하는 경우 도메인 트리라고 함 • DNS에서의 도메인 트리는 도메인 이름을 색인화하는 데 사용하는 역 계층 트리 구조 • Active Directory에서 트리는 연속된 이름 공간을 가지는 도메인의 계층적 구조
포리스트 • 스키마와 글로벌 카탈로그를 공유하는 하나 이상의 도메인 • 포리스트는 Active Directory의 최상위 컨테이너
05. 글로벌 카탈로그 • 글로벌 카탈로그는 포리스트에 있는 모든 Active Directory 개체에 대한 정보를 가지고 있는 도메인 컨트롤러 • 가장 일반적으로 검색되는 특성을 글로벌 카탈로그에 저장하면 사용자가 다른 도메인에 속한 개체를 검색할 때 다른 도메인에 속한 도메인 컨트롤러를 불필요하게 조회하지 않아도 되므로 네트워크의 부하를 줄임 • 글로벌 카탈로그는 포리스트의 첫번째 도메인 컨트롤러에 자동으로 만들어짐
글로벌 카탈로그의 역할 • 개체 찾기 • 포리스트의 모든 도메인에 속한 개체의 디렉토리 정보를 검색 • [시작] → [검색]에서 ‘전체 디렉토리 옵션’을 선택 • UPN 인증 제공 • 로그인하려는 사용자의 계정 정보가 해당 도메인의 도메인 컨트롤러에 존재하지 않을 때 • 다중 도메인 환경에서 유니버설 그룹 구성원 자격 정보 제공 • 유니버설 그룹 구성원 자격은 글로벌 카탈로그에만 저장 • 포리스트 내에서의 개체 참조 확인 • 다른 도메인의 개체에 대한 참조를 확인하는 데도 사용
06. 트러스트 • 트러스트는 도메인 사이에 설정되는 신뢰 관계 • 사용자가 다른 도메인의 자원을 사용할 수 있도록 함 • Windows Server 2003 포리스트의 기본 트러스트는 모두 전이적, 양방향 트러스트
트러스트의 방향성 • 단방향 트러스트: 트러스트 방향이 일방적으로 설정된 경우 • 양방향 트러스트: 두 개의 도메인이 서로 상대방 도메인에 대하여 트러스트를 준 경우
트러스트의 전이성 • 전이적 트러스트: • 트러스트 관계가 트러스트 경로를 통하여 다른 도메인으로 확장된다. • 비전이적 트러스트: • 트러스트 관계가 두 도메인으로만 제한되며, 다른 도메인으로 확장되지 않는다
트러스트의 종류 - 기본 트러스트 • 부모 및 자식 트러스트: • 새 자식 도메인을 기존 도메인 트리에 추가하면 기본적으로 부모 및 자식 트러스트가 만들어진다. • 트리 루트 트러스트: • 기존 포리스트에서 도메인 트리를 새로 만들면 기본적으로 트리 루트 트러스트가 만들어진다.
기타 트러스트 • 바로가기 트러스트: 대규모의 복잡한 도메인 트리나 포리스트에서 트러스트 경로를 줄이는 데 사용 • 전이적이며, 단방향 또는 양방향 • 포리스트 트러스트: 포리스트간에 자원을 공유하기 위해 사용 • 두 포리스트의 루트 도메인 사이에 설정 • 전이적이며 단방향 또는 양방향 • 영역 트러스트: Active Directory 도메인과 커버러스 V5 영역 사이에 설정 • 전이적 또는 비전이적이며, 단방향 또는 양방향 • 외부 트러스트: Windows Server 2003 도메인과 Windows NT 도메인 사이에서 만들어지는 트러스트 • 비전이적이며, 단방향 또는 양방향
07. 사이트 및 복제 • 사이트는 네트워크의 물리적 구조를 반영 • 사이트는 네트워크의 물리적 구조를 나타내는 반면에 도메인은 조직의 논리적 구조를 표현 • 사이트를 사용하면 다음의 몇 가지 활동을 쉽게 할 수 있다. • 복제: Active Directory는 사이트의 구성에 관한 정보를 사용하여 최신 디렉토리 정보 유지 필요성과 대역폭 최적화 필요성 사이의 균형을 조정 • 인증: 사용자가 도메인에 로그인하려 할 때 먼저 해당 로컬 사이트를 검색하여 인증할 도메인 컨트롤러를 찾는다. • Active Directory 사용 서비스: 사이트 정보를 이용하여 클라이언트에게 가장 인접한 서버를 쉽게 찾을 수 있도록 한다.
08. 스키마 • 디렉토리에 존재하는 모든 개체에 대한 정의가 포함 • 개체 클래스와 특성으로 구성 • 기본 스키마는 대부분의 조직에 필요한 충분한 개체 클래스와 특성 집합을 제공 • X.500 표준을 준수 • Active Directory의 스키마는 확장이 가능 • 개체 클래스의 정의는 특성 목록으로 구성 • 예를 들어, 기본 스키마의 사용자 클래스는 givenName, surName, streetAddress와 같은 특성으로 정의 • 새로 만들어진 사용자 개체는 사용자 클래스의 인스턴스 • 각 포리스트는 스키마를 하나씩만 포함 • 스키마는 스키마 디렉토리 파티션에 저장되며 모든 도메인 컨트롤러에 복제
09. 보안 및 액세스 제어 • LSA(로컬 보안 기관)의 핵심 기능으로 로그인 인증과 사용자 권한 부여 • 사용자를 인증한 인증 도메인 컨트롤러의 LSA는 액세스 토큰을 생성 • 액세스 토큰을 사용하여 사용자는 단일 로그인으로 도메인 및 트러스트된 도메인에 속한 모든 허가된 자원을 사용 • Active Directory는 커버러스 V5 인증 프로토콜, X.509 v3 인증서, 스마트 카드, PKI(공개 키 구조) 및 SSL(Secure Sockets Layer)등을 사용하는 LDAP가 포함
보안 설명자 • DACL(임의 액세스 제어 목록): 개체에 대한 접근이 허가되었거나 거부된 사용자와 그룹을 식별 • DACL은 기본적으로 개체 소유자나 생성자에 의해 제어되며, 개체에 대한 사용자 접근을 결정하는 ACE(액세스 제어 항목)가 포함 • SACL(시스템 액세스 제어 목록): SACL은 개체에 성공적으로 접근하거나 실패한 경우를 감사할 사용자와 그룹을 식별 • SACL은 개체 소유자나 생성자에 의해 제어 • 사용자의 개체에 대한 접근 시도가 성공했는지, 실패했는지의 기록 여부를 결정하는 ACE(액세스 제어 항목)가 포함
사용자 인증 • Active Directory에서 사용자가 확인되면 인증 도메인 컨트롤러의 LSA가 사용자의 액세스 토큰을 생성하고 SID(보안 식별자)를 해당 사용자에게 할당 • 액세스 토큰: 액세스 토큰에는 사용자의 이름, 사용자가 속한 그룹, 사용자의 SID, 사용자가 속한 모든 그룹의 SID가 저장되어 있다. • SID(보안 식별자): 보안 사용자 개체가 만들어질 때 자동으로 SID가 할당된다. • 보안 사용자는 사용자 및 컴퓨터, 그룹과 같은 사용 권한을 할당받을 수 있는 Active Directory의 계정을 말한다.
Active Directory의 보안을 위한 조치 사항 • 모든 도메인 컨트롤러를 접근이 제한된 안전한 방에 두고 잠궈두는 것이 좋다. • 관리자에 해당하는 Enterprise Admins, Domain Admins, Account Operators, Server Operators, Print Operators, Backup Operators 그룹의 구성원을 조직 내에서 믿을 수 있는 사람으로 임명해야 한다. • 사용자가 강력한 암호를 사용할 수밖에 없도록 설정한다. • 감사 정책을 사용하여 이벤트 로그를 수시로 점검한다. • 반복된 로그인 시도의 실패가 있을 경우, 사용자 계정 잠금이 실행되도록 하여 보안 공격자의 로그인 가능성을 줄인다. • 사용자 계정에 암호 사용 내역을 시행한다. • 사용자 계정에 최소 및 최대 암호 사용 기간을 설정한다. • 공개 키 암호화를 사용하여 사용자의 유효성을 확인한다. • 꼭 필요한 경우에만 관리 자격 증명을 사용하여 컴퓨터를 실행한다. • 사용자, 그룹 및 컴퓨터가 공유 자원에만 접근하도록 제한한다