바로 가기

LDAP(Lightweight Directory Access Protocol) 인증이란?

URL 복사

2024년 글로벌 IT 트렌드는 어떻게 변화할까요?

기술 세계가 급속한 디지털 전환을 겪으면서, 기업이 핵심 영역에 대한 우선순위를 조정하는 동향이 변화하고 있습니다. 이 2024년 글로벌 IT 트렌드 리포트는 IT 업계는 물론 다양한 업계의 6대 예산 지원 우선순위와 발전을 막는 3대 문제점을 설명합니다.

LDAP(Lightweight Directory Access Protocol)는 사용자가 조직, 구성원 등에 대한 데이터를 찾는 데 도움이 되는 프로토콜입니다. LDAP는 LDAP 디렉터리에 데이터를 저장하고 사용자가 디렉터리에 액세스할 수 있도록 인증하기 위해 주로 사용됩니다. 또한 애플리케이션이 디렉터리 서비스와 정보를 주고 받는 데 필요한 통신 언어를 제공합니다. 디렉터리 서비스는 네트워크 내에서 조직, 개인 및 기타 데이터에 대한 정보가 있는 위치에 액세스할 권한을 제공합니다.

가장 일반적인 LDAP 활용 사례는 디렉터리 서비스에 액세스하여 해당 서비스를 관리할 수 있는 중앙 위치를 제공하는 것입니다. LDAP를 사용하는 조직은 조직, 조직의 사용자, 자산(예: 사용자 이름, 암호)에 대한 정보를 저장, 관리, 보호할 수 있습니다. LDAP는 정보 계층 구조를 제공하여 스토리지 액세스를 간소화하는 데 도움이 되고, 기업이 성장하면서 더 많은 사용자 데이터와 자산을 확보함에 따라 중요할 수 있습니다. 

LDAP는 Kerberos 및 SSO(Single Sign-On), SASL(Simple Authentication Security Layer), SSL(Secure Sockets Layer) 지원을 포함하여 사용자 인증을 목표로 Identity 및 액세스 관리(IAM) 솔루션 역할을 하기도 합니다.

LDAP는 네트워크의 모든 사용자 계정을 포괄하는 정보가 포함된 대규모 디렉터리 서비스 데이터베이스인 Microsoft Active Directory(AD) 디렉터리 서비스 등에서 사용되는 핵심 프로토콜입니다. 더 구체적으로 말해 LDAP는 DAP(Directory Access Protocol)의 경량 버전으로, TCP/IP(Transmission Control Protocol/Internet Protocol)에서 실행되는 디렉터리 서비스에 액세스하고 이를 관리하는 중앙 위치를 제공합니다. 최신 버전은 LDAPv3입니다. 

AD는 사용자와 그룹에 대한 인증 및 관리를 제공하므로 결국 사용자 또는 컴퓨터를 인증하게 됩니다. 데이터베이스에는 LDAP로 가져온 것보다 더 많은 볼륨의 속성이 포함되어 있습니다. 그러나 LDAP는 정보가 거의 없는 디렉터리 오브젝트를 찾는 데 특화되어 있으므로 AD 또는 가져오는 디렉터리 서비스에서 모든 속성을 추출할 필요가 없습니다.

LDAP의 주요 목표는 AD에서 오브젝트(즉 도메인, 사용자, 그룹 등)와 통신하고 오브젝트를 저장하여 이를 LDAP 서버에 있는 자체 디렉터리에 사용할 수 있는 형식으로 추출하는 것입니다. 

AD는 전 세계 최대 도서관이고 사용자는 좀비가 언급된 제목의 책을 찾고 있다고 생각해 보세요. LDAP의 세계에서는 이 책이 미국에서 출판되었는지, 분량이 1,000페이지 이상인지 또는 좀비 대재앙에서 살아남는 방법에 대한 안내는 (선택 가능한 옵션을 줄이는 데는 도움이 되지만) 중요하지 않습니다. LDAP는 요청에 맞는 옵션을 모두 찾을 수 있는 위치를 정확히 알고 원하는 것을 찾았는지 확인해주는 숙련된 사서에 해당합니다.

LDAP 검색을 요청하는 작업은 무엇이며 어떻게 작동할까요?

LDAP 인증 프로세스는 클라이언트-서버 인증 모델로, 다음과 같은 주요 요소로 구성됩니다. 

  • DSA(Directory System Agent): 네트워크에서 LDAP를 실행하는 서버
  • DUA(Directory User Agent): DSA에 클라이언트(예: 사용자의 PC)로 액세스
  • DN: LDAP에서 탐색할 디렉터리 정보 트리(DIT)를 통한 경로가 포함된 고유 이름(예: cn=Susan, ou=users, o=Company)
  • RDN(Relative Distinguished Name): DN 내 경로의 각 구성 요소(예: cn=Susan)
  • 애플리케이션 프로그래밍 인터페이스(API): API를 사용하면 다른 제품/서비스의 구현 방식을 몰라도 보유한 제품/서비스와 다른 제품/서비스가 서로 통신할 수 있습니다.

사용자가 PC에서 비즈니스 이메일 애플리케이션과 같은 LDAP 지원 클라이언트 프로그램에 액세스를 시도할 때 이 프로세스가 시작됩니다. LDAPv3에서는 두 가지 사용 가능한 사용자 인증 방법, 즉 로그인 자격 증명이 있는 SSO와 같은 단순 인증 또는 Kerberos와 같은 프로그램에 LDAP 서버를 바인딩하는 SASL 인증 중 하나를 거칩니다. 로그인을 시도하면 사용자에게 할당된 DN을 인증하는 요청이 전송됩니다. DN은 DSA를 시작하는 클라이언트 API 또는 서비스를 통해 전송됩니다.

클라이언트는 자동으로 DSA에 바인딩되고 LDAP는 DN을 사용하여 LDAP 데이터베이스의 레코드에 대해 일치하는 오브젝트 또는 오브젝트 집합을 검색합니다. 이 단계에서 DN의 RDN이 매우 중요한데, 개인을 찾을 수 있도록 DIT를 통한 LDAP 검색의 각 단계를 제공하기 때문입니다. 경로에서 백엔드에 연결 RDN이 없으면 결과가 유효하지 않은 것으로 나타날 수 있습니다. 이 경우 LDAP가 검색하는 오브젝트는 개별 사용자 계정(cn=Susan)이며 디렉터리의 계정에 일치하는 uid 및 userPassword가 있는 경우에만 사용자를 검증할 수 있습니다. 사용자 그룹은 LDAP 디렉터리 내의 오브젝트로도 식별됩니다.

사용자가 응답(유효성 여부)을 받으면 LDAP 서버에서 클라이언트의 바인딩이 해제됩니다. 그러면 인증된 사용자가 시스템 관리자가 부여한 권한에 따라 필요한 파일, 사용자 정보 및 기타 애플리케이션 데이터를 포함하여 API 및 해당 서비스에 액세스할 수 있습니다. 

LDAP의 경량 구조와 DIT를 사용하여 LDAP 검색을 빠르게 실행하고 결과를 제공할 수 있습니다. LDAP 서버를 탐색하고 LDAP 검색의 작동 방식을 이해하려면 DIT를 이해해야 합니다.

DIT를 사용하면 다양한 수준의 LDAP 디렉터리를 빠르게 탐색하여 검색 결과의 범위를 좁히고 쿼리에 대한 응답을 제공할 수 있습니다. DIT는 루트 디렉터리에서 시작하고 국가가 뒤따르며 두 하위 클래스인 도메인 구성 요소(dc)와 조직 이름(o)으로 분기됩니다.

도메인 액세스 구성 요소 (dc)

dc(즉 dc=com, dc=example)는 DNS(Domain Name System) 매핑을 사용하여 인터넷 도메인 이름을 찾은 후 이를 IP 주소로 변환합니다. 

대부분의 사용자는 자신이 검색하는 개인의 도메인 이름 및/또는 IP 주소를 모릅니다. 이 경우 LDAP는 사용자에게 할당된 고유 이름(DN)을 경로로 사용하여 DIT를 빠르게 탐색하고 검색 결과를 찾습니다. 여기에서 o 하위 클래스가 나타납니다. 

조직 이름(o)

o 하위 클래스(예: o-Company)는 DN에 나열된 가장 일반적인 하위 클래스 중 하나로, 보통 LDAP가 검색을 실행할 때 시작되는 위치입니다. 예를 들어, 단순 경로는 일반적으로 o 하위 클래스로 시작하여 조직 단위(ou)로 분기한 다음 사용자 계정 또는 그룹이 이어집니다. 

조직 단위(ou)

앞서 언급했듯이 ou는 o의 하위 클래스이며 종종 ou=users 또는 ou=group으로 표시됩니다. 각각 사용자 계정 또는 그룹 목록이 포함되어 있습니다. 다음은 디렉터리에서 볼 수 있는 방법입니다.

  • o-Company

    • ou=groups

      • cn=developers

    • ou=users

      • cn=Susan 

일반 이름(cn)

일반 이름(cn)은 그룹 또는 개별 사용자 계정의 이름을 식별하는 데 사용됩니다(예: cn=developers, cn=Susan). 사용자는 그룹에 속할 수 있으므로 Susan이 개발자인 경우 cn=developers 아래에 있을 수도 있습니다.

속성 및 값

LDAP DIT의 각 하위 클래스(예: o, ou, cn)에 포함되는 속성과 값 또는 스키마에는 LDAP 디렉터리 구조에 대한 정보가 포함되어 있어 검색 범위를 좁히는 데 도움이 될 수 있습니다. 속성은 이름, 전화번호, 주소와 같은 레이블이 포함된 주소록 항목에 있는 내용과 유사하며 각 속성에 할당된 값이 있습니다. 예를 들어 Susan은 이름 속성의 값입니다.

cn=Susan 계정에서 사용자 ID(uid)와 userPassword는 속성에 해당하고 사용자의 로그인 자격 증명은 값입니다. 그러나 cn=developers와 같은 그룹에서는 Susan에 uniqueMember 속성이 있습니다(예: uniqueMember=cn-Susan,ou-Users,o-Company). 이 속성은 LDAP가 검색하는 정보와 함께 Susan의 개인 사용자 계정이 있는 위치에 경로를 매핑합니다. 사용자 계정은 DIT 행의 끝이며 LDAP가 궁극적으로 검색 결과를 추출하는 위치입니다. 

OrganizationPerson(구조적) 또는 personal(구조적)과 같은 ObjectClasses를 포함한 기타 다양한 속성 유형과 구문을 사용하여 검색 범위를 좁힐 수 있습니다. 그러나 LDAP의 속성은 경량을 유지하고 손쉽게 사용할 수 있도록 그 수가 제한됩니다.

엔터프라이즈 네트워크 관리자는 일반적으로 한 번에 수천 명의 사용자를 관리합니다. 따라서 회사 인트라넷과 같이 일상적인 태스크를 위해 사용자 역할과 파일에 대한 액세스를 기반으로 액세스 제어 및 정책을 할당할 책임이 있습니다.

LDAP는 사용자 관리 프로세스를 간소화하고 네트워크 관리자의 귀중한 시간을 절약하며 인증 프로세스를 중앙화합니다. LDAP를 환경에 통합하기 전에 다음을 고려해야 합니다.

  • 용량: 얼마나 많은 사용자 관리 데이터를 저장해야 할까요? LDAP 솔루션을 구현하는 제품에 필요한 모든 데이터를 저장하고 관리할 수 있는 기능이 있는지 고려해야 합니다.

  • 검색 빈도: 회사 인트라넷, 이메일 애플리케이션 또는 서비스와 같이 사용자가 매일 액세스해야 하는 데이터가 있나요? 그렇다면 LDAP가 적합할 수 있습니다.

  • 조직: LDAP의 단순한 DIT가 데이터에 필요한 조직을 충분히 제공할까요, 아니면 더 세부적인 시스템이 필요할까요?

LDAP는 일반적으로 AD에서 사용되지만, UNIX의 Red Hat Directory Server 및 Windows의 오픈소스 애플리케이션인 OpenLDAP를 비롯하여 다른 툴 및 클라이언트 환경에 대한 사용자 인증에도 사용할 수 있습니다. API 관리, 역할 기반 액세스 제어(RBAC) 또는 Docker쿠버네티스와 같은 기타 애플리케이션과 서비스를 위한 LDAP 인증 및 사용자 관리 기능을 활용할 수도 있습니다.

Red Hat® Enterprise Linux®에는 전체 데이터센터에 걸쳐 확장 가능한 단일 인터페이스를 사용하여 사용자를 인증하고 RBAC를 구현할 수 있는 중앙집중식 Identity 관리 기능이 포함됩니다.

Red Hat Enterprise Linux를 통한 Identity 관리에는 다음을 비롯한 다양한 인증 및 권한 부여 기능이 포함됩니다. 

  • Linux용 도메인 컨트롤러: 이 신뢰할 수 있는 중앙집중식 Identity 저장소 내의 모든 사용자, 서비스, 호스트에 대한 Identity, 액세스, 정책을 중앙에서 관리합니다. 따라서 관리 오버헤드를 줄이고 도메인 등록을 간소화하여 신뢰할 수 있는 보안 경계를 형성하는 데 도움이 됩니다. 사용자의 인증 경험은 간소화됩니다.

  • AD 통합: 네이티브 Red Hat Enterprise Linux와 Active Directory를 통합하여 Linux와 Windows 간의 사용자 Identity 격차를 해소합니다. Active Directory를 사용자 Identity를 위한 단일 정보 소스로 사용하고 Linux 도메인에 맞춤형 액세스 제어 정책을 직접 적용하여 관리 효율성을 개선하고 정책이 생성되는 위치를 중앙화합니다.

  • Kerberos SSO: Identity 관리 인증의 핵심인 Kerberos를 통해 사용자 인증 프로세스를 간소화하여 인프라용 SSO를 지원합니다. 서비스로 확장하면 암호 없이 인증하고, Keycloak 기반의 SSO를 사용하여 웹 인증을 지원할 수 있습니다.

  • 시스템 역할: 일관되고 반복 가능한 구성 워크플로우를 사용하여 시간과 리소스를 절약합니다. 자동화는 시간이 지남에 따라 배포 및 Identity 관리와 관련된 기술적 부담과 수동 작업을 크게 줄여줍니다.

Red Hat은 보다 전문적인 요구 사항이 있는 고객을 위해 Red Hat Directory Server를 애드온(add-on)으로도 제공합니다.

Red Hat Directory Server는 다양한 대규모 환경에 맞게 확장할 수 있는 LDAP 기반 디렉터리입니다. 기존의 값비싼 제 3사 LDAP 솔루션을 거의 즉시 대체하고 다양한 복제 옵션을 통해 복잡한 분산형 디렉터리 토폴로지를 관리할 수 있습니다. 이 솔루션은 디렉터리 데이터에 사용자 정의 가능한 속성과 스키마를 제공하여 유연성을 높여줍니다.

추가 자료

문서

Red Hat Enterprise Linux를 이용한 엣지 컴퓨팅

Red Hat Enterprise Linux는 하이브리드 클라우드 인프라를 엣지, 즉 전 세계 수십만 개의 노드로 확장합니다.

문서

Red Hat Enterprise Linux 보안

Red Hat Enterprise Linux is the world’s leading open source Linux platform, enabling you to mitigate risk, enforce security configuration and policy, and streamline compliance strategy.

문서

왜 Red Hat의 Linux를 선택해야 할까요?

워크로드는 환경 전반에서 이식 및 확장이 가능해야 합니다. Red Hat Enterprise Linux는 하이브리드 클라우드 배포 전체에 일관되고 안정적인 기반을 제공합니다.

Red Hat Enterprise Linux 체험

Red Hat Enterprise Linux Server

Red Hat Enterprise Linux®의 한 가지 버전으로서, 하드웨어 리소스를 오케스트레이션하고 물리 시스템이나 클라우드에서 실행되거나 하이퍼바이저 게스트로 실행됩니다. 

Red Hat Enterprise Linux for IBM Power

IBM 아키텍처와 페어링되어 안정적인 하이브리드 클라우드 기반을 구축할 수 있는 혁신적인 오픈소스 솔루션입니다.