Ⅰ. LDAP 이란?
LDAP(Lightweight Directory Access Protocol)는 디렉터리 서비스에 접근하기 위해 사용되는 프로토콜입니다. 디렉터리 서비스는 네트워크에서 사용자를 찾고 관리하는 데 사용되는 시스템입니다. LDAP는 대규모 조직에서 사용자와 자원의 중앙 관리 및 인증을 필요로 할 때 유용합니다. 다양한 운영 체제와 소프트웨어에서 LDAP를 지원하므로, 이를 활용한 통합 인증 시스템을 구축하고, 사용자 인증, 조직의 계층적 구조 관리, 자원 접근 제어 등에 자주 사용됩니다.
Ⅱ. LDAP 특징
ⅰ) 경량화된 프로토콜: LDAP는 경량화된 프로토콜로, 네트워크를 통해 빠르고 효율적으로 디렉터리 정보를 조회하고 수정할 수 있습니다.
ⅱ) 계층적 구조: LDAP 디렉터리는 트리 구조로 되어 있어, 조직의 계층적 구조를 쉽게 표현할 수 있습니다. 루트 노드(root)를 기준으로 하위에 여러 가지 엔트리(entry)가 위치하게 됩니다.
ⅲ) 표준 기반: LDAP는 표준화된 프로토콜로, 다양한 플랫폼과 소프트웨어에서 지원됩니다. 대표적인 예로는 OpenLDAP, Microsoft Active Directory, Apache Directory 등이 있습니다.
Ⅲ. LDAP 구성요소
ⅰ) DN(Distinguished Name): LDAP 디렉터리 내의 각 엔트리의 고유한 이름입니다. 예를 들어, cn=John Doe,ou=Users,dc=example,dc=com과 같이 구성될 수 있습니다.
ⅱ) 엔트리(Entry): LDAP 디렉터리의 기본 단위로, 여러 개의 속성(attribute)을 가질 수 있습니다. 각 엔트리는 DN으로 식별됩니다.
ⅲ) 속성(Attribute): 엔트리 내의 데이터를 표현하며, 이름과 값으로 구성됩니다. 예를 들어, cn=John Doe에서 cn은 속성 이름, John Doe는 속성 값입니다.
ⅳ) 스키마(Schema): LDAP 디렉터리에 저장될 수 있는 속성과 엔트리의 구조를 정의합니다. 이는 데이터의 일관성을 유지하는 데 중요합니다.
Ⅳ. LDAP의 기본 작업
ⅰ) 바인드(Bind): 클라이언트가 LDAP 서버에 인증을 요청하는 과정입니다.
ⅱ) 검색(Search): 디렉터리에서 특정 기준에 맞는 엔트리를 검색하는 작업입니다.
ⅲ) 비교(Compare): 특정 엔트리의 속성 값을 비교하는 작업입니다.
ⅳ) 추가(Add): 새로운 엔트리를 디렉터리에 추가하는 작업입니다.
ⅴ) 삭제(Delete): 기존 엔트리를 디렉터리에서 삭제하는 작업입니다.
ⅵ) 수정(Modify): 기존 엔트리의 속성을 수정하는 작업입니다
Ⅴ. LDAP 통신의 주요 요소
ⅰ) LDAP 클라이언트: 디렉터리 서비스에 접근하려는 애플리케이션이나 사용자입니다.
ⅱ) LDAP 서버: 디렉터리 데이터를 저장하고 관리하며, 클라이언트의 요청을 처리합니다.
ⅲ) 프로토콜: LDAP는 TCP/IP를 기반으로 하며, 기본 포트는 389번을 사용합니다. 보안이 강화된 LDAPS(LDAP over SSL/TLS)는 636번 포트를 사용합니다.
Ⅵ. LDAP 통신 순서
LDAP 통신은 이와 같은 구조를 통해 효율적으로 디렉터리 서비스를 관리하고 사용자와 시스템 간의 인증 및 권한 부여를 처리합니다. 보안을 강화하기 위해 TLS/SSL, SASL 등의 메커니즘을 사용하는 것이 일반적입니다.
ⅰ) 연결(Connect) : 클라이언트가 LDAP 서버에 연결을 설정합니다.
이 연결은 주로 TCP를 사용하며, 보안이 필요한 경우 TLS를 통해 암호화됩니다.
ⅱ) 바인드(Bind) : 클라이언트가 서버에 인증을 요청합니다. 바인드는 세 가지 형태가 있습니다:
1) 익명 바인드(Anonymous Bind): 인증 정보 없이 연결을 설정합니다.
2) 단순 바인드(Simple Bind): 사용자 DN(Distinguished Name)과 비밀번호를 사용하여 인증합니다.
3) SASL(Simple Authentication and Security Layer) 바인드: Kerberos 등과 같은 외부 인증 메커니즘을 사용합니다.
ⅲ) 요청(Request): 클라이언트가 서버에 특정 작업을 요청합니다. 주요 작업 유형은 다음과 같습니다:
1) 검색(Search): 특정 기준에 맞는 엔트리를 검색합니다.
2) 비교(Compare): 특정 엔트리의 속성 값을 비교합니다.
3) 추가(Add): 새로운 엔트리를 디렉터리에 추가합니다.
4) 삭제(Delete): 기존 엔트리를 삭제합니다.
5) 수정(Modify): 기존 엔트리의 속성을 수정합니다.
6) 수정 DN(Modify DN): 엔트리의 DN을 변경합니다.
ⅳ) 응답(Response): 서버가 클라이언트의 요청에 대해 응답합니다. 응답은 요청의 성공 여부와 요청한 데이터(예: 검색 결과)를 포함합니다.
ⅴ) 연결 해제(Unbind/Disconnect): 작업이 완료되면 클라이언트는 연결을 종료합니다. 이는 Unbind 요청을 통해 이루어
Ⅶ. LDAP 보안 메커니즘
ⅰ) TLS/SSL: LDAP 통신을 암호화하여 데이터의 기밀성과 무결성을 보호합니다. LDAPS를 사용하면 기본 LDAP 포트(389) 대신 636 포트를 사용하여 보안 연결을 설정합니다.
ⅱ) SASL: 다양한 인증 메커니즘을 지원하는 프레임워크입니다. Kerberos와 같은 강력한 인증 방식을 사용할 수 있습니다.
Ⅷ . LDAP 메시지 형식
LDAP 통신에서 메시지는 ASN.1(추상 구문 표기법) 형식으로 인코딩되며, BER(기본 인코딩 규칙)을 사용하여 전송됩니다. 각 메시지는 다음과 같은 필드를 포함합니다:
ⅰ) 메시지 ID: 요청과 응답을 매칭하기 위한 식별자입니다.
ⅱ) 프로토콜 연산: 요청의 유형을 나타냅니다(예: 바인드, 검색, 수정 등).
ⅲ) 제어(Control): 선택적으로 메시지에 추가되는 확장 정보입니다.
Ⅸ. LDPA 검색 요청과 응답
ⅰ) 검색 요청(Search Request):
1) 베이스 DN(Base DN): 검색을 시작할 기준 지점입니다.
2) 검색 범위(Search Scope): 검색할 범위를 지정합니다(베이스 객체, 단일 레벨, 하위 트리)
3) 필터(Filter): 검색할 엔트리의 조건을 정의합니다.
4) 속성 리스트(Attribute List): 반환할 속성을 지정합니다.
ⅱ) 검색 응답(Search Response):
1) 검색 결과 엔트리(Search Result Entry): 검색 조건에 맞는 엔트리 목록입니다.
2) 검색 결과 완료(Search Result Done): 검색 작업의 완료 상태를 나타냅니다.
'시스템(Windows)' 카테고리의 다른 글
Windows 구성 요소 저장소 및 WinSxS 폴더에 대해 알아보겠습니다. (0) | 2024.06.13 |
---|---|
비트로커(BitLocker)의 원리 및 특징에 대해 알아보겠습니다. (0) | 2024.06.11 |
Administrator의 이름을 변경하는 방법에 대해 알아보겠습니다. (0) | 2024.05.27 |
키보드 한/영 버튼으로 전환이 안될 때에 대응 방법에 대해 알아보겠습니다. (0) | 2024.05.21 |
Windows Server SMTP 서버 구성에 대해 알아보겠습니다. (0) | 2024.05.15 |