WIPIVERSE

OpenLDAP

OpenLDAP은 자유-오픈 소스 소프트웨어로, 경량 디렉터리 액세스 프로토콜(LDAP, Lightweight Directory Access Protocol)의 구현체이다. OpenLDAP 프로젝트에 의해 개발 및 유지보수되고 있으며, 자체 BSD 스타일의 라이선스인 OpenLDAP Public License 하에 배포된다.

LDAP은 플랫폼에 독립적인 프로토콜로, OpenLDAP 소프트웨어는 여러 일반적인 Linux 배포판에서 LDAP 지원을 위해 포함된다. BSD 계열 변형 운영체제뿐만 아니라 AIX, Android, HP-UX, macOS, OpenVMS, Solaris, Microsoft Windows, z/OS 등에서도 구동된다.

OpenLDAP 프로젝트는 1998년 Kurt Zeilenga에 의해 시작되었다. 미시간 대학(University of Michigan)에서 개발되던 LDAP 참조 소스 코드를 포크(fork)하여 프로젝트를 출발시켰으며, 미시간 대학 프로젝트는 1996년 최종 릴리스를 끝으로 종료되었다.

OpenLDAP는 네 가지 주요 구성 요소로 이루어져 있다. 첫째, slapd(Standalone LDAP Daemon)는 독립형 LDAP 데몬 및 관련 모듈과 도구이다. 둘째, lloadd는 독립형 LDAP 부하 분산 프록시 서버이다. 셋째, LDAP 프로토콜과 ASN.1 BER(Basic Encoding Rules)을 구현하는 라이브러리들이다. 넷째, ldapsearch, ldapadd, ldapdelete 등의 클라이언트 소프트웨어가 포함된다.

또한 OpenLDAP 프로젝트는 여러 하위 프로젝트를 운영하고 있다. JLDAP(Java용 LDAP 클래스 라이브러리), JDBC-LDAP(Java JDBC-LDAP 브리지 드라이버), ldapc++(C++용 LDAP 클래스 라이브러리), LMDB(메모리 매핑 데이터베이스 라이브러리) 등이 이에 해당한다.

OpenLDAP slapd 서버는 프론트엔드(frontend)와 백엔드(backend)로 분할된 구조를 가진다. 프론트엔드는 네트워크 접근과 프로토콜 처리를 담당하고, 백엔드는 데이터 저장을 전담한다. 현재 17종의 표준 백엔드가 제공되며, 이는 데이터 저장 백엔드(back-bdb, back-hdb, back-mdb, back-ndb 등), 프록시 백엔드(back-ldap, back-meta, back-sql 등), 동적 백엔드(back-config, back-monitor, back-perl, back-shell 등)로 분류된다.

오버레이(overlay)는 프론트엔드와 백엔드 사이에 삽입되어 요청과 결과를 가로채 추가 기능을 수행하는 모듈이다. OpenLDAP 2.2에서 도입되었으며, 현재 코어 배포판에 25개의 오버레이가, 사용자 기여 코드 섹션에 24개의 오버레이가 포함되어 있다. 대표적인 오버레이로는 접근 로깅(accesslog), 비밀번호 정책(ppolicy), 복제 동기화 공급자(syncprov), 회원 속성(memberof), 참조 무결성(refint) 등이 있다.

OpenLDAP은 RFC 4533에 명시된 콘텐츠 동기화(syncrepl)를 사용한 복제를 지원한다. 기본 사양 외에 delta-syncrepl이라는 향상된 기능과 다중 마스터 복제(multi-master replication)를 위한 추가 확장도 구현되어 있다.

주요 기능 릴리스로는 2000년 8월 LDAPv3와 IPv6를 지원한 버전 2.0, 2005년 6월 동적 설정 백엔드를 도입한 버전 2.3, 2007년 10월 N-way 다중 마스터 복제를 도입한 버전 2.4, 2021년 4월 LDAP 트랜잭션 지원과 부하 분산 프록시 서버를 도입한 버전 2.5 등이 있다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기