[LDAP]

kafkaaaa·2024년 5월 23일
0

LDAP

목록 보기
2/8

LDAP = Lightweight Directory Access Protocol

TCP/IP, 인터넷 환경에서
Directory Service에 대한
접근 및 수정 기능을 제공하는 프로토콜

Directory Service

  • 사용자, 그룹, 네트워크 리소스 등의 정보와 관련된 데이터를 중앙에서 저장/관리하는 시스템
  • 네트워크 내의 Application과 Service가 이 데이터에 효율적으로 접근하고 활용할 수 있도록 함
  • DNS (Domain Name System)
  • 역할
    • 데이터 중앙화
    • 쉬운 검색/조회
    • 사용자 인증 및 권한 부여
    • 조직의 사용자와 그룹 관리

특징

Lightweight

  • 기존의 무거운 X.500의 DAP를 경량화한 버전
  • 기존 OSI 7 Layer 전체 계층이 아닌 TCP/IP에서 운영됨

검색에 특화

  • LDAP 요청의 대부분은 검색이며 빠른 데이터 검색 및 읽어오기에 최적화 되어 있음

계층적 트리 구조

  • 사용자, 시스템, 네트워크, 서비스, 애플리케이션 등의 정보를 트리 구조로 저장하여 조회/관리
  • RDB와 다른 계층적 트리 구조로 저장된 데이터를 빠르게 조회하기 위한 단순 쿼리 위주
  • 검색 및 읽기 작업에서 RDB 보다 좋음

Binary Protocol

  • ASN.1 (Abstract Syntax Notation One)
    • 데이터 구조 및 메시지 구문을 정의하기 위한 표준 표기법
  • 데이터 구조와 메시지를 정의하고 인코딩하는 데 사용됨
    • 메시지를 BER (Basic Encoding Rules) 인코딩 함
      • 인코딩 결과는 Binary
    • 다양한 시스템 간 호환성 유지 및 안전한 정보 교환

비동기 프로토콜

  • 하나의 세션(커넥션)에서 여러 메시지를 주고 받을 수 있음
  • 어떤 요청에 대한 응답인지 식별 가능

주요 속성

  • c: Country 국가
  • st: StateProvince 주 (도)
  • l: Locality 지역 (도시)
  • o: Organization 조직(회사)
  • ou: Organization Unit 조직 부서
  • cn: CommonName 이름 + 성
  • sn: SurName 성
  • dc: DomainComponent 도메인 요소

구조

DC (Domain Component)

  • 디렉터리 트리의 루트 노드
  • 주로 조직의 도메인 이름을 기반으로 함

OU (Organization Unit)

  • 조직 내의 부서나 그룹을 표현

CN (Common Name)

  • 디렉터리 내의 특정 개체를 식별하는 데 사용됨
  • 사용자의 이름, 그룹 이름 또는 기타 개체의 이름을 나타냄

용도 및 적용 분야

  • 조직/기관 네트워크

    • 사용자 인증 (Authentication)
    • 권한 부여 (Authorization)
    • 사용자 정보 저장 및 계정 관리
  • Web

    • SSO (Single Sign-On)
    • 사용자의 로그인 정보와 권한 관리
  • 이메일 시스템

    • 주소록 및 사용자 인증
  • IT 인프라

    • 네트워크 접근 제어, 중앙 집중식 사용자 관리
  • 네트워크 장비

    • 장비 간의 인증 및 사용자 권한 관리

LDAP 구축 사례

#1. LDAP를 이용한 OS(Linux/AIX)인증 - PAM

(본문 내용 요약)

기존 구조

수정된 구조

=> 특정 프로그램이 각각 설치된 OS계정을 기준으로 인증을 하고 있었는데, OS가 아닌 별도의 데이터 저장소(LDAP)에 저장하고 여기에 저장된 사용자 계정을 기준으로 프로그램을 사용하고 싶다는 요청.

개선된 점
1. OS에 사용자 계정을 저장하지 않고 전용 데이터 저장소(LDAP)에 사용자 정보를 저장함으로써 보안성 강화
2. OS의 자원/부하를 줄임
3. 양 쪽의 OS에 있던 같은 계정들을 하나로 통합 관리


#2. 리눅스 환경에서 LDAP을 이용한 PAM 구성

#3. LDAP를 활용한 OTP 인증

#4. LDAP를 이용한 Kerberos 인증


기타

  • Microsoft Active Directory (AD)
    • LDAP를 기반으로 하는 디렉터리 서비스
    • Windows 도메인 네트워크 환경에서 사용자 및 컴퓨터를 중앙에서 관리하는 데 사용됨
    • 기능: 사용자 인증, 그룹 정책 관리, 권한 부여, 자원 접근 제어.
    • 사용처: 대규모 기업, 교육 기관, 공공 기관 등.

  • OpenLDAP
    • 최초의 오픈소스 LDAP 서버(CLI 기반)
    • LDAP를 사용하여 다양한 환경에서 중앙 집중식 사용자 관리와 인증 제공
    • 기능: 사용자 및 그룹 관리, 인증 서비스, 데이터 동기화
    • 사용처: 다양한 산업 분야에서 사용되며, 커스터마이징이 용이함

  • Apache Directory Server
    • Apache Software Foundation에서 제공하는 디렉터리 서버 (JAVA로 작성됨)
    • LDAP 및 Kerberos 프로토콜을 지원
    • 기능: 사용자 관리, 인증 및 권한 부여, 확장 가능한 플러그인 시스템
    • 사용처: 개발 환경, 교육 기관, 중소 기업

  • Google Cloud Directory
    • Google Cloud Platform에서 제공하는 디렉터리 서비스
    • 클라우드 리소스 접근 제어 및 사용자 관리 제공
    • 기능: 사용자 인증, 그룹 관리, SSO(Single Sign-On) 지원.
    • 사용처: 클라우드 환경을 사용하는 기업 및 조직

Ref.

https://www.wallarm.com/what/lightweight-directory-access-protocol-ldap
https://ldap.or.kr/
https://www.samsungsds.com/kr/insights/ldap.html
https://docs.oracle.com/cd/E19146-01/820-5654/geezw/index.html
https://nice-engineer.tistory.com/entry/LDAP%EC%9D%B4%EB%9E%80

profile
일모도원

0개의 댓글