본문 바로가기
클라우드노트/인증보안

AD의 FSMO (Flexible Single Master Operations) Roles

by 테크한스 2023. 6. 1.

FSMO

(Flexible Single Master Operations)

- 작업 마스터 역할을 하는 DC를 지정하고 위임하는 역할을 하는 모델

 

FSMO의 5가지 역할

1. Schema Master

- AD의 모든 개체들의 속성을 정의한 데이터베이스

- 포리스트 전체에 사용되며 각 포리스트마다 있음

2. Domain Naming Master

- 도메인 이름을 관리하는 역할을 하는 서버

- 작동 불가시 포리스트에 새로운 도메인 추가하는 작업 불가

- 포리스트 전체에 사용되며 각 포리스트마다 있음

3. PDC Emulator

- 각종 변경사항이 저장되는 위치

- 도메인 전체에 사용되며 각 도메인마다 있음

4. RID Master

- AD에 생성된 개체의 SID(Security Identify)를 관리

- 도메인 전체에 사용되며 각 도메인마다 있음

5. Infrastructure Master

- 디렉토리 내의 개체 정보와 GC의 정보를 비교하여 개체 정보를 업데이트

- 도메인 전체에 사용되며 각 도메인마다 있음


 

Active Directory의 domain 구성 모델은 "멀티마스터복제"입니다. 하나의 도메인에서 여러개의 Domain Controller가 Master Role을가지는 것을 의미합니다. Domain controller들은 각자의 Active Directory Database를 가지고 있으며 상호간의 복제를 통해서 Database를 일치시킵니다.

도메인에서 모든 Domain Controller가 동일하게 작동하더라도 주요한 작업들과 Domain Controller들을 관리할 메인 Domain Controller가필요하며 이러한 역할을 하는 Domain Controller를 "작업 마스터(Operation Master)"라고 합니다.

도메인에서 작업마스터 역항르 담당하는 Domain Controller는 반드시 1대만 존재해야 합니다. 또한 이러한 역할을 맡고 있는 Domain Contoller가장애가 발생하거나 Network연결이 분리될 경우 다른 서버가 작업 마스터 역할을 계속 수행해야 합니다.

이러한 Active Directory Domain 모델을 "FSMO(Flexible Single Master Operation)"라고 합니다.
FSMO는 아래와 같이 5가지의 역할을 하는 Domain Controller가 있으며 최조 Activie Directory 설치 시 해당 Domain Controller는아래의 5가지 작업마스터 역할을 모두 수행하게 됩니다.

각 Master 역할은 Active Directory Forest 또는 도메인에서 하나만 존재할 수 있습니다.

 

 

Active Directory에서 작업마스터 역할을 하는 것이 FSMO의 역할이다

 

 

Active Directory에서 도메인 컨트롤러들은 한 도메인에서 NT4.0의 PDC, BDC처럼 계층구조를 가지지 않는다. 동등하게 별도의 Active Directory Database를 유지하고 있고, 이들은 복제를 통하여 서로의 디렉터리 데이터베이스를 일치시키는 작업을 하게 된다. 하지만 모든 작업이 이렇게 동작할 수는 없다. 아무리 한 도메인내에서 모든 도메인 컨트롤러가 동등하게 동작한다고 하더라도 그렇게 해서는 문제가 생길 수 있는 작업들이 있기 때문에 Active Directory도메인에서도 특별한 몇몇 작업에 한정해서는 하나의 도메인 컨트롤러를 지정하여 처리를 하고 있고, 이러한 역할을 맡은 도메인 컨트롤러를 가리켜서 “작업 마스터(Operation Master)”라고 부른다.

 

작업 마스터 역할을 맡은 도메인 컨트롤러는 다른 도메인 컨트롤러보다는 조금은 더 신경써서 관리해야 할 필요가 있고, 도메인에는 반드시 이 역할을 맡은 도메인 컨트롤러가 1대만 존재하도록 유지를 해 주어야 한다. 또 만일 그러한 역할을 맡고 있던 서버가 네트워크에서 사라져야 할 경우가 생긴다면 다른 서버가 역할을 맡아서 계속 수행할 수 있도록 해 주어야 문제가 없다.

 

이러한 모델을 가리켜서 “FSMO (Flexible Single Master Operations)”라고 부르고 있다. 당신이 회사에서 포리스트 루트 도메인을 생성하였다면 그 도메인에는 5가지의 ‘작업 마스터’역할을 하는 서버가 있다. 기본적으로는 도메인에서 첫번째 설치된 도메인 컨트롤러가 이 다섯가지의 작업 마스터 역할을 모두 수행하고 있다.

 

다섯가지 작업 마스터 역할에 대해서 정리해 보자. 포리스트에 ‘도메인 명명 작업 마스터’와 ‘스키마 마스터’는 유일하며, 모든 도메인 마다 ‘RID 마스터, PDC 에뮬레이터, 하부 구조 마스터’는 하나씩 동작하고 있어야 한다. 대부분의 회사가 그렇듯이 하나의 도메인으로 구성된 회사였다면 아래의 다섯가지 작업마스터가 도메인에 존재해야 하는 것이다.

 

①    도메인 명명 작업 마스터 (Domain Naming Master) : 도메인의 이름을 관리하는 역할을 하는 서버이다. Secure.pe.kr이라는 루트 도메인이 있을 때 하부에 jeju.secure.pe.kr 이라는 자식도메인이 생성되려면 이 ‘도메인 명명 작업 마스터’의 도움을 받아야 한다. 이 역할을 만일 싱글 마스터로 처리하지 않는다면 같은 이름을 가진 자식도메인이 생기는등 문제의 발생소지가 있다. 이것이 제대로 동작하지 않으면 포리스트에 새로운 도메인을 추가하는 작업이 진행되지 않는다. 도메인 명명 작업마스터는 글로벌 카탈로그 서버와 같은 서버에서 실행되어야 한다.

 

②    스키마 마스터 (Schema Master) : 스키마는 Active Directory의 모든 개체들의 속성을 정의한 데이터베이스이다. 이것도 특별히 ‘스키마 마스터’라는 작업 마스터를 통해서만 작업이 이루어지도록 되어 있다.

스키마 마스터는 Active Directory Schema에 대한 모든 업데이트를 제어하며 주요 목적은 다른 Domain Controller에 Schema를 복제하는 역할을 담당한다.

 

③    RID 마스터 (RID Master) : Active Directory에서 생성되는 모든 개체에는 SID(Security Identify)가 할당되는데 이 SID는 도메인SID에 RID(Relative Identify)가 플러스되어 생성된다. SID를 통해서 모든 보안의 평가작업이 이루어지기 때문에 이것은 이름 그대로 보안식별자로써 동작할 수 있어야 하는데, 만일 서로 다른 개체가 같은 SID를 부여받게 된다면 정상적인 동작을 할 수 없게 된다. 그렇기 때문에 Active Directory의 모든 개체들은 고유한 SID를 사용해야 한다. 이것을 RID마스터가 해결해 주고 있다.

 

예를 들어 Forever라는 이름의 도메인에 A와 B라는 도메인 컨트롤러가 있다고 하자. 이 때  A와 B는 각각 사용자 계정을 만드는 것이 가능하다.  Forever의 도메인SID가 123이라고 가정하면 A는 새로운 사용자를 만들 때 도메인SID인 123에 사용자에게 부여할 고유ID인 RID를 덧붙여서 SID를 할당한다. 만일 B가 사용하는 RID와 A가 사용하는 RID가 동일한 범위였다면 당연히 한 도메인내에서 같은 SID를 가지는 서로 다른 개체들이 생길 수 있다. RID마스터는 RID풀(Pool)을 유지하며 도메인 컨트롤러들에게 RID를 할당하는 작업을 한다. SID의 유일성을 보장해 주는 기능을 하는 것이다. Support tool에서 제공하는 dcdiag 툴을 사용하면 도메인 컨트롤러의 RID풀을 확인할 수 있다.

 

④    PDC 에뮬레이터 (PDC Emulator) : 이름에서 느껴지는 것처럼 NT4.0의 PDC처럼 동작하겠다는 것인데, 이것은 여러가지 작업을 맡아서 처리하고 있다. 먼저, NT4.0 도메인 컨트롤러, 즉BDC들과 혼합된 혼합모드 환경의 도메인에서 PDC에뮬레이터는 BDC들에게 있어서 PDC와 같은 존재가 된다. 또한 Windows 2000 이전버전의 OS를 사용하는 사용자계정의 암호가 변경되었을 때 변경사항을 관리하기도 하며, 도메인에서 타임서버로 동작하여 SNTP(Simple Network Time Protocol)을 이용하여 도메인의 모든 멤버들에게 시간동기화를 처리한다. 도메인의 그룹정책이 저장되는 기본위치도 역시 PDC에뮬레이터이다. Windows 2000 이전버전의 OS를 쓰는 사용자계정에 대한 암호변경작업이 되지 않는다면 PDC에뮬레이터의 작동을 의심해 볼 필요가 있다.

 

⑤    인프라 마스터 (Infrastructure Master) :  복수도메인 환경에서 A도메인의 글로벌 그룹이 B도메인의 로컬 그룹에 포함되었다거나 하는 형태로 서로 다른 도메인간에 그룹멤버쉽이 구성되었을 때, 다른 도메인에 있는 개체들의 일부 복제 데이터를 ‘인프라 마스터’가 유지하는 일을 한다. 인프라 마스터는 가능하면 글로벌 카탈로그 서버에 배치하지 않도록 한다. 글로벌 카탈로그 서버에는 이미 포리스트의 모든 도메인의 전체 개체에 대한 부분 복제 데이터가 저장되어 있기 때문에 인프라 마스터는 자신이 가지고 있지 않은 개체에 대한 업데이트의 필요성이 없어서 어떠한 업데이트도 하지 않기 때문이다. 싱글도메인 환경 및 모든 도메인 컨트롤러가 글로벌 카탈로그 서버역할을 하는 경우라면 인프라 마스터를 어디에 두어도 상관없다.

 

현재 도메인에서 작업 마스터 역할을 맡고 있는 서버가 누구인지를 들여다 보자. 이 인터페이스를 통해서 작업마스터 역할을 다른 서버에게 넘기는 작업도 가능하다. 기본적으로 도메인의 첫번째 도메인 컨트롤러가 작업마스터 역할을 맡고 있다고 했다. 이러한 작업마스터로 동작하는 서버를 네트워크에서 제거해야 할때는 먼저 작업마스터 역할을 다른 서버에게 ‘전송’해 주어야 한다. 이 ‘전송’작업을 하려면 역할을 전송받을 서버에서 진행되어야 한다. 꼭 물리적으로 해당 서버에 앉아서 해야 한다는 것이 아니다. 각각의 관리콘솔을 열고 해당 서버에 연결한 후 작업을 마치면 될 것이다

'클라우드노트 > 인증보안' 카테고리의 다른 글

DHCP DORA 설명  (0) 2023.06.01
MS Active Directory 란?  (0) 2023.06.01

댓글