▌ TRANSMISSION · [CONCEPT]

LDAP (389) & LDAPs (636)


LDAP

Lightweight Directory Access Protocol 의 약어로, 사용자, 컴퓨터, 그룹 같은 “디렉터리 정보”를 조회하거나 수정하기 위한 통신 규약을 말한다.

해당 프로토콜이 AD에서 사용된다면 다음과 같이 이해하면 된다.

Active Directory 안에 저장된 정보를 꺼내 보기 위한 프로토콜

LDAP 예시

회사에 이런 정보들이 있다고 해보자.

사용자: kim
이름: 김철수
부서: 보안팀
이메일: kim@corp.local
소속 그룹: Domain Users, VPN Users

이런 정보는 AD 안에 저장된다.

여기서 다른 프로그램이나 컴퓨터가 AD에게 다음과 같이 물어봤다고 해보자.

kim이라는 사용자가 있어?
kim은 어떤 그룹에 속해 있어?
kim의 이메일 주소는 뭐야?
이 컴퓨터는 도메인에 가입된 컴퓨터야?

이때 사용하는 대표적인 통신 방식이 LDAP이다

AD와 LDAP의 관계

용어의미
Active Directory사용자, 컴퓨터, 그룹, 정책 등을 저장하고 관리하는 시스템
LDAPAD 안의 정보를 조회/수정하기 위한 프로토콜
DNS이름을 IP로 바꿔주는 시스템
KerberosAD 환경에서 로그인 인증에 주로 쓰이는 프로토콜
  • AD : 저장소
  • LDAP : AD에 접근하는 통신 규약

LDAP 주소 형태

LDAP(389)은 보통 이런 식으로 표현된다.

ldap://dc01.corp.local
  • dc01.corp.local 이라는 도메인 컨트롤러에 LDAP(636)로 접속

보안 연결로 쓸때는 뒤에 s 를 붙인다.

ldaps://dc01.corp.local

(TLS로 암호화된 통신을 한다.)

AD 환경에서 LDAP 서비스는 도메인 컨트롤러(DC)가 제공한다.

AD의 디렉터리 데이터 자체가 DC 안의 NTDS.dit 데이터 베이스에 저장되기 때문에, 그 데이터를 꺼내 보는 LDAP 서버 역할도 자연스럽게 DC가 맡는다.

즉, AD 환경에서는 다음 두 표현이 사실상 같은 말이다.

  • LDAP 서버를 찾는다.
  • DC 를 찾는다.

LDAP의 데이터 구조

LDAP는 데이터를 트리 구조로 관리한다.

예를 들어 AD 도메인이 다음과 같다고 해보자.

corp.local

LDAP에서는 해당 도메인을 이렇게 표현한다.

DC=corp,DC=local
  • 여기서 DC는 Domain Component 이다.

그리고 사용자 kimUsers 컨테이너 안에 있다면 이런 식으로 표현될 수 있다.

CN=kim,CN=Users,DC=corp,DC=local
  • 이것을 DN, Distinguished Name 이라고 한다.

DN (Distinguished Name)

DN은 LDAP에서 특정 객체의 전체 경로를 말한다.

CN=kim,CN=Users,DC=corp,DC=local

이걸 풀어쓰면,

corp.local 도메인 안의
Users 컨테이너 안의
kim이라는 객체

이다.

LDAP 용어

약어의미예시
DCDomain ComponentDC=corp,DC=local
CNCommon NameCN=kim
OUOrganizational UnitOU=IT
DNDistinguished Name객체의 전체 경로
sAMAccountNameWindows 로그인 계정명kim
userPrincipalName이메일 형태 로그인명kim@corp.local
memberOf사용자가 속한 그룹Domain Admins 등

LDAP을 비유로 이해하기 (with claude)

Active Directory = 회사 인사/자산 시스템
Domain Controller = 그 시스템을 들고 있는 서버
DNS = 그 서버의 위치를 찾아주는 안내소
LDAP = 인사/자산 시스템에 질문하는 양식
Kerberos = 출입증 발급/인증 시스템

← ALL POSTS