Group Policy
OU 내에 유저와 컴퓨터를 정리하는 이유는 각 OU에 다른 정책을 배포하기 위함이다.
그래서 부서나 사람에 따라 다른 구성이나 보안 베이스라인을 적용시킬 수 있음
그래서 윈도우에서는 이런 정책을 Group Policy Objects(GPO)를 통해 관리한다
GPO는 OU에 적용하는 세팅의 모음같은 개념인데, 이걸 확인할려면
Group Policy Management 메뉴에 들어가면 된다
들어가면 처음에는 OU의 계층이 보이는데
GPO 아래에 GPO를 생성하고, 정책을 적용할려는 OU에 연결한다
Default Domain Policy에서 GPO안을 살펴보면 범위 scope를 확인가능
그리고 Setting 탭에는 GPO의 내용과 구체적 구성을 볼 수 있다
여기 Default Domain Policy를 보면 Computer Configurations만 포함되어 있다
최소 패스워드 길이를 변경하려면 이것도 정책을 수정해야 함
Computer Configurations -> Policies -> Windows Setting -> Security Settings -> Account Policies -> Password Policy
Authentication Methods
윈도우 도메인을 사용할때, 모든 크레덴셜은 domain controller에 저장함
유저가 도메인 크레덴셜로 서비스에 인증을 시도하면, 서비스에서는 도메인 컨트롤러에 검증을 요청하게 된다
윈도우 도메인에서 네트워크 인증에 사용되는 두 가지 방법이 있음
- Kerberos: 최신 버전 윈도우에서 사용하고, 최신 도메인 기본 프로토콜임
- NetNTLM: 호환성 목적을 위해 사용되는 예전 프로토콜
Kerberos 인증
유저가 케르베로스를 사용해서 서비스에 로그인하면 티켓을 부여받는데, 여기서 티켓은 이전 인증의 증거 역할임
이전에 네트워크에 접속하도록 인증을 이미 받았고 허가받았다는걸 의미하는것
1. 유저가 유저네임, 암호화된 타임스탬프을 Key Distribution Center(KDC)에 보낸다. KDC는 케르베로스 티켓을 생성하기 위해 도메인 컨트롤러에 설치되어 있음
2. KDC는 ticket granting ticket이라는 티켓을 만들어서 세션키와 함께 보냄, TGT는 krbtgt 해시로 암호화되어 있음
3. 유저가 DB같은 서비스에 접근하면 KDC에 ticket granting service(TGS)를 요청하게 된다. 이 과정에서 유저네임, 타임스탬프, TGT, SPN이 필요함
4. 이후 KDC에서 유저에게 TGS, Svc session key를 보냄
NetNTLM 인증
1. 클라이언트가 서비스에 액세스하기 위해 요청을 함
2. 서버는 랜덤 숫자를 만들어서 클라이언트에게 챌린지로 보냄
3. 클라이언트는 자신의 NTLM 해시+챌린지 값+다른 데이터를 합쳐서 서버에 보냄
4. 서버는 챌린지와 응답을 도메인 컨트롤러에 보냄
5. 도메인 컨트롤러에 챌린지 값을 사용해서 응답을 다시 계산하고 클라이언트가 보낸 원본 응답하고 비교함
6. 일치하면 클라이언트가 인증 성공하고 아니면 거부
Trees, Forests and Trusts
액티브 디렉토리에서는 여러 도메인을 통합해서 네트워크를 유닛으로 나누고, 개별적으로 관리할 수 있도록
Tree라는 기능이 존재한다
만약 abc.local 도메인이 각가 영국, 미국 브런치를 위해 두 개의 서브 도메인으로 나누면
루트 도메인은 abc.local, 서브도메인 uk.abc.local, us.abc.local 으로 트리를 만들 수 있다
영국 유저는 미국 유저를 관여할 수 없기 때문에 각 브런치 도메인 관리자가 각자의 DC를 관리하므로
각 상황에 맞는 정책을 적용할 수 있다
그리고 내가 관리하는 도메인이 다른 네임스페이스에서 관리될 수도 있다
예를 들어서 mk inc.라는 회사랑 인수합병을 해서 두 회사의 도메인 트리를 합쳐야 한다고 가정하면
다른 네임스페이스를 가진 여러 여러트리를 네트워크에 통합하는데 이를 forest 라고 한다
Trust Relationships 신뢰 관계
msk 회사 소속의 유저가 mk inc와의 공유 파일에 접근해야 할때, 트리와 숲에 있는 도메인들이 trust relationship에 의해서 합쳐진다. 여러 도메인들 사이에 trust relationship이 있다면 다른 도메인에 있는 리소스에 접근하는게 가능!
가장 간단한 One-way trust relationship에서는 A 도메인이 B 도메인을 신뢰하면 B 유저가 A도메인에 접근허가된다
Two-way trust relationship은 두 도메인이 서로 허가해주는 방식이다. 하나의 트리나 숲에 있는 여러 도메인은 two-way trust relationship을 형성하게 됨
끝!
'사이버보안' 카테고리의 다른 글
국민연금공단 일경험 인턴 3개월을 마치고 느낀 점 (3) | 2025.08.20 |
---|---|
Active Directory Basics - AD의 개념, 유저와 컴퓨터 관리하기 (8) | 2025.06.23 |
CyberChef - 인코딩,디코딩, 복호화 툴 사용과 실습 (0) | 2025.03.25 |
MITRE ATT&CK 프레임워크 Matrix, Cyber Kill Chain 사이버킬체인 (0) | 2025.03.23 |
[Tryhackme] OpenVPN - CTF 문제 풀이를 위한 VPN 연결 (0) | 2025.03.21 |