IT 관리자들은 Windows 2000 Server에서 해당 기술이 도입된 이후로 Active Directory 를 전후로 작업해 왔습니다. Windows 2000 Server는 2000년 2월 17일에 출시되었지만, 많은 관리자가 Active Directory 는 1999년 12월 15일 제조용으로 출시(RTM)된 1999년 말부터 사용하기 시작했습니다.
AD(Active Directory)에서 신뢰(Trust)란?
신뢰란 trust 는 포리스트 및/또는 도메인 간의 관계입니다.
AD 포리스트에서는 각 도메인이 추가될 때 two way transitive trust 가 생성되기 때문에, 모든 도메인이 서로를 신뢰합니다. 이를 통해 인증이 한 도메인에서 동일 포리스트 내의 다른 어떤 도메인으로도 전달될 수 있습니다.
포리스트 외부에서도 trusts outside of the forest 를 다른 AD DS 포리스트 및 도메인 또는 Kerberos v5 영역과 함께 만들 수 있습니다.
예전 Windows NT 4.0 시절에는 포리스트나 계층 구조가 없었습니다. 도메인이 여러 개라면 그 사이에 신뢰 관계를 직접(수동으로) 만들어야 했죠. Active Directory에서는 동일 포리스트 내의 도메인 간에 양방향 전이(transitive) 신뢰가 자동으로 설정됩니다. Windows NT 4.0 시절에는 신뢰를 설정하기 위해 NetBIOS 를 사용해야 했습니다!
다행히도 많은 것이 발전해 왔고, 이제는 추가적인 신뢰 기능이 생겼습니다. 특히 securing trusts 를 선택적 인증과 SID 필터링으로 강화할 수 있습니다.
도메인의 각 신뢰는 trustedDomain object (TDO) 로 저장되며, 이때 System container 안에 위치합니다. 따라서 해당 도메인의 모든 신뢰 및 신뢰 유형을 찾아 contoso.com 이라는 이름의 도메인에서 Get-ADObject –SearchBase “cn=system,dc=contoso,dc=com” –Filter * -Properties trustType | where {$_.objectClass –eq “trustedDomain”} | select Name,trustType 에서 Windows PowerShell 명령 을 실행하세요.
4 개의 유효한 값이 trustType 속성에 대해 있습니다. 하지만 1 (NT 도메인과의 신뢰를 의미)과 2 (Active Directory 도메인과의 신뢰를 의미) 만이 일반적입니다. 또한 trustedDomain 개체에 저장된 신뢰에 대한 유용한 다른 정보도 많이 있습니다.
도메인 이름이 contoso.com 인 경우, 다음 Get-ADObject –SearchBase “cn=system,dc=contoso,dc=com” –Filter * -Properties * | where {$_.objectClass –eq “trustedDomain”} | FL Windows PowerShell 명령 을 실행하여 신뢰 속성 전체를 확인합니다.
다음 Get-ADTrust –Filter * 명령을 실행하면 신뢰의 핵심 속성들을 많이 확인할 수도 있습니다.
신뢰 속성
아래 표에는 trust properties와 각 속성에 대한 설명이 나와 있습니다.
Trust property | Property description |
|---|---|
|
Direction |
Valid values are bidirectional, inbound, or outbound. Note that the direction is relative to the domain in which you are running the query. |
|
DisallowTransivity |
I think this is a Microsoft typo as it really should be “DisallowTransitivity”. This can be set to True or False based on whether the trust disallows tranitivity. |
|
DistinguishedName |
The DN of the trusted domain object. |
|
ForestTransitive |
This is set to True when a forest trust is transitive and False when a forest trust is non-transitive. |
|
IntraForest |
This is set to True when a trust is between domains in the same forest or set to False when a trust is between domains in different forests. |
|
IsTreeParent |
Valid values are True and False. |
|
IsTreeRoot |
|
|
Name |
The name of the domain that is part of the trust, not the domain where the query is run. |
|
ObjectClass |
This is set to trustedDomain for trusts. |
|
ObjectGUID |
Globally unique identifier for the trust. An example is de207451-51ed-44cd-4248-85ad9fcb2d50. |
|
SelectiveAuthentication |
Set to True if the trust is configured for selective authentication or False if it isn’t. |
|
SIDFilteringForestAware |
Set to True if a forest trust is configured for selective authentication |
|
SIDFilteringQuarantined |
Set to True when SID filtering with quarantining is used for a trust. Used for external trusts only. |
|
Source |
Set to the DN of the trust root. In a forest trust, the DN of the root domain of the forest is the source. |
|
Target |
Set to the domain name of the other side of the trust. |
|
TGTDelegation |
Set to True if Kerberos full delegation is enabled on outbound forest trusts. Default is False. |
|
TrustAttributes |
Set to a numerical value indicating the trust configuration. For example |
|
TrustedPolicy |
Undocumented |
|
TrustingPolicy |
Undocumented |
|
TrustType |
Set to Uplevel for trusts with Active Directory forests and domains, DownLevel for trusts pre-Active Directory domains such as NT 4 domains, Kerberos realm for trusts with Unix/Linux realms. |
|
UplevelOnly |
Set to True if only Windows 2000 and later operating systems can use the trust link. |
|
UsesAESKeys |
Set to True for realm trusts that use AES encryption keys. |
|
UsesRC4Encryption |
Set to True for realm trusts that use RC4 encryption keys. |
확장성 관점에서 트러스트에 대해 알아두어야 할 몇 가지 사항이 있습니다. be aware of:
- Kerberos 인증을 위한 최대 트러스트 수.
신뢰하는 도메인(trusted domain)의 클라이언트가 신뢰( trusting ) 도메인의 리소스에 액세스하려고 하면, truth path에 10 trust links 보다 많은 경우에는 클라이언트가 인증할 수 없습니다. 트러스트가 많고 트러스트 경로가 긴 환경에서는 성능을 개선하고 Kerberos 인증 기능이 정상적으로 동작하도록 shortcut trusts를 구현해야 합니다.
- 트러스트가 2,400개를 초과하면 성능이 저하됩니다.
규모가 매우 크고 복잡한 환경에서는 신뢰(Trust)가 매우 많을 수 있습니다. 2,400 trusts에 도달한 후에는 환경에 추가되는 신뢰가 기존 신뢰보다 성능에 상당한 영향을 줄 수 있으며, 특히 인증과 관련된 부분에서 더욱 그렇습니다.
Active Directory 기초에 대한 더 자세한 내용은 저희의 AD tutorial for begginners 에서 확인할 수 있습니다.
공유하기
더 알아보기
저자 소개
Brian Svidergol
IT
Windows, Active Directory, Azure, Microsoft Exchange, System Center, 가상화, MDOP를 중심으로 구축된 Microsoft 인프라 및 클라우드 기반 솔루션 분야의 전문가입니다. Brian은 책을 집필하는 것뿐만 아니라 교육 콘텐츠와 백서를 작성하며, 다수의 책과 출판물에 대한 기술 검토자이기도 합니다.