LDAP(Lightweight Directory Access Protocol)는 TCP/IP 및 UDP에서 실행되는 디렉토리 서비스를 쿼리하고 수정하기 위한 네트워킹 프로토콜입니다.LDAP는 x.500 기반 디렉토리 서버에 액세스하기 위한 경량 메커니즘입니다.RFC 2251은 LDAP를 정의합니다.
ACS(Access Control Server) 5.x는 LDAP 프로토콜을 사용하여 ID 저장소라고도 하는 LDAP 외부 데이터베이스와 통합됩니다.LDAP 서버에 연결하는 방법에는 두 가지가 있습니다.일반 텍스트(단순) 및 SSL(암호화) 연결두 방법을 모두 사용하여 LDAP 서버에 연결하도록 ACS 5.x를 구성할 수 있습니다.이 문서에서는 ACS 5.x가 암호화된 연결을 사용하여 LDAP 서버에 연결하도록 구성됩니다.
이 문서에서는 ACS 5.x가 LDAP 서버에 대한 IP 연결을 가지며 포트 TCP 636이 열려 있다고 가정합니다.
포트 TCP 636에서 보안 LDAP 연결을 허용하도록 Microsoft® Active Directory LDAP 서버를 구성해야 합니다. 이 문서에서는 Microsoft LDAP 서버에 서버 인증서를 발급한 CA(인증 기관)의 루트 인증서가 있다고 가정합니다.LDAP 서버를 구성하는 방법에 대한 자세한 내용은 서드파티 인증 기관에서 LDAP over SSL을 활성화하는 방법을 참조하십시오.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
Cisco Secure ACS 5.x
Microsoft Active Directory LDAP 서버
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
디렉터리 서비스
디렉토리 서비스는 컴퓨터 네트워크의 사용자 및 네트워크 리소스에 대한 정보를 저장하고 구성하기 위한 소프트웨어 애플리케이션 또는 애플리케이션 집합입니다.디렉토리 서비스를 사용하여 이러한 리소스에 대한 사용자 액세스를 관리할 수 있습니다.
LDAP 디렉토리 서비스는 클라이언트-서버 모델을 기반으로 합니다.클라이언트는 LDAP 서버에 연결하여 LDAP 세션을 시작하고 서버에 작업 요청을 보냅니다.그런 다음 서버는 응답을 보냅니다.하나 이상의 LDAP 서버가 LDAP 디렉토리 트리 또는 LDAP 백엔드 데이터베이스의 데이터를 포함합니다.
디렉토리 서비스는 해당 정보를 보유하는 데이터베이스인 디렉토리를 관리합니다.디렉토리 서비스는 정보를 저장하기 위해 분산 모델을 사용하며, 일반적으로 이 정보는 디렉토리 서버 간에 복제됩니다.
LDAP 디렉토리는 간단한 트리 계층으로 구성되며 여러 서버 간에 분산될 수 있습니다.각 서버에는 정기적으로 동기화되는 총 디렉토리의 복제된 버전이 있을 수 있습니다.
트리의 항목은 속성 집합을 포함합니다. 각 속성에는 이름(속성 유형 또는 속성 설명)과 하나 이상의 값이 있습니다.특성은 스키마에 정의됩니다.
각 항목에는 고유한 식별자가 있습니다.DN(Distinguished Name)입니다. 이 이름은 항목의 특성으로 생성된 RDN(Relative Distinguished Name)과 부모 항목의 DN을 포함합니다.DN을 전체 파일 이름으로, RDN을 폴더의 상대 파일 이름으로 간주할 수 있습니다.
LDAP를 사용한 인증
ACS 5.x는 디렉토리 서버에서 바인드 작업을 수행하여 주도자를 찾아 인증함으로써 LDAP ID 저장소에 대해 주도자를 인증할 수 있습니다.인증이 성공하면 ACS는 주도자에 속한 그룹 및 특성을 검색할 수 있습니다.검색할 특성은 ACS 웹 인터페이스(LDAP 페이지)에서 구성할 수 있습니다. 이러한 그룹 및 특성은 ACS에서 주도자를 인증하는 데 사용할 수 있습니다.
사용자를 인증하거나 LDAP ID 저장소를 쿼리하기 위해 ACS는 LDAP 서버에 연결되고 연결 풀을 유지 관리합니다.
LDAP 연결 관리
ACS 5.x는 여러 동시 LDAP 연결을 지원합니다.첫 번째 LDAP 인증 시 필요에 따라 연결이 열립니다.각 LDAP 서버에 대해 최대 연결 수가 구성됩니다.연결을 미리 열면 인증 시간이 단축됩니다.
동시 바인딩 연결에 사용할 최대 연결 수를 설정할 수 있습니다.열린 연결 수는 각 LDAP 서버(기본 또는 보조)마다 다를 수 있으며 각 서버에 대해 구성된 최대 관리 연결 수에 따라 결정됩니다.
ACS는 ACS에 구성된 각 LDAP 서버에 대해 열려 있는 LDAP 연결 목록(바인드 정보 포함)을 유지합니다.인증 프로세스 중에 연결 관리자는 풀에서 열린 연결을 찾으려고 시도합니다.
열린 연결이 없으면 새 연결이 열립니다.LDAP 서버가 연결을 닫으면 연결 관리자는 디렉토리를 검색하기 위해 첫 번째 통화 중에 오류를 보고하고 연결을 갱신하려고 시도합니다.
인증 프로세스가 완료되면 연결 관리자는 연결 관리자에 대한 연결을 해제합니다.자세한 내용은 ACS 5.X 사용 설명서를 참조하십시오.
이 섹션에서는 이 문서에 설명된 기능을 구성하는 정보를 제공합니다.
Cisco Secure ACS 5.x에 루트 CA 인증서를 설치하려면 다음 단계를 완료하십시오.
참고: LDAP 서버가 포트 TCP 636에서 암호화된 연결을 허용하도록 미리 구성되어 있는지 확인합니다. Microsoft LDAP 서버를 구성하는 방법에 대한 자세한 내용은 서드파티 인증 기관을 사용하여 LDAP over SSL을 활성화하는 방법을 참조하십시오.
Users and Identity Stores(사용자 및 ID 저장소) > Certificate Authorities(인증서 권한)를 선택한 다음 Add(추가)를 클릭하여 서버 인증서를 발급한 CA의 루트 인증서를 Microsoft LDAP 서버에 추가합니다.
Certificate File to Import 섹션에서 Certificate File 옆에 있는 Browse를 클릭하여 인증서 파일을 검색합니다.
필요한 인증서 파일(Microsoft LDAP 서버에 서버 인증서를 발급한 CA의 루트 인증서)을 선택하고 Open(열기)을 클릭합니다.
설명 옆에 제공된 공간에 설명을 입력하고 제출을 클릭합니다.
이 그림에서는 루트 인증서가 올바르게 설치되었음을 보여 줍니다.
보안 LDAP에 대해 ACS 5.x를 구성하려면 다음 단계를 완료합니다.
Users and Identity Stores(사용자 및 ID 저장소) > External Identity Stores(외부 ID 저장소) > LDAP를 선택하고 Create(생성)를 클릭하여 새 LDAP 연결을 생성합니다.
General(일반) 탭에서 새 LDAP의 Name 및 Description(선택 사항)을 제공하고 Next(다음)를 클릭합니다.
Primary Server(주 서버) 섹션 아래의 Server Connection(서버 연결) 탭에서 Hostname(호스트 이름), Port(포트), Admin DN(관리자 DN) 및 Password(비밀번호)를 제공합니다.Use Secure Authentication(보안 인증 사용) 옆의 확인란이 선택되었는지 확인하고 최근에 설치된 루트 CA 인증서를 선택합니다.Test Bind To Server를 클릭합니다.
참고: 보안 LDAP에 할당된 IANA 포트 번호는 TCP 636입니다. 그러나 LDAP 서버가 LDAP 관리자에서 사용 중인 포트 번호를 확인합니다.
참고: LDAP 관리자가 관리자 DN 및 비밀번호를 제공해야 합니다.관리자 DN은 LDAP 서버의 모든 OU에 대한 모든 권한을 읽어야 합니다.
다음 그림에서는 서버에 대한 연결 테스트 바인딩이 성공했음을 보여 줍니다.
참고: 테스트 바인딩이 성공하지 못한 경우 LDAP 관리자의 호스트 이름, 포트 번호, 관리 DN, 비밀번호 및 루트 CA를 다시 확인합니다.
Next(다음)를 클릭합니다.
Schema(스키마) 섹션 아래의 Directory Organization(디렉토리 조직) 탭에서 필요한 세부 정보를 제공합니다.마찬가지로, LDAP 관리자가 제공한 대로 Directory Structure 섹션 아래에 필요한 정보를 제공합니다.Test Configuration을 클릭합니다.
다음 그림에서는 컨피그레이션 테스트가 성공했음을 보여 줍니다.
참고: 컨피그레이션 테스트가 성공하지 못한 경우 LDAP 관리자에서 스키마 및 디렉토리 구조에 제공된 매개변수를 재확인합니다.
마침을 클릭합니다.
LDAP 서버가 성공적으로 생성되었습니다.
ID 저장소를 구성하려면 다음 단계를 수행하십시오.
Access Policies(액세스 정책) > Access Services(액세스 서비스) > Service Selection Rules(서비스 선택 규칙)를 선택하고 인증을 위해 Secure LDAP 서버를 사용할 서비스를 확인합니다.이 예에서는 서비스가 기본 네트워크 액세스입니다.
1단계에서 서비스를 확인한 후 특정 서비스로 이동하여 Allowed Protocols를 클릭합니다.Allow PAP/ASCII(PAP/ASCII 허용)가 선택되었는지 확인한 다음 Submit(제출)을 클릭합니다.
참고: PAP/ASCII 허용으로 다른 인증 프로토콜을 선택할 수 있습니다.
1단계에서 식별된 서비스를 클릭한 다음 Identity를 클릭합니다.Identity Source(ID 소스) 옆에 있는 Select(선택)를 클릭합니다.
새로 생성된 보안 LDAP 서버(이 예에서는 myLDAP)를 선택한 다음 OK(확인)를 클릭합니다.
Save Changes를 클릭합니다.
1단계에서 식별된 서비스의 Authorization(권한 부여) 섹션으로 이동하여 인증을 허용하는 규칙이 하나 이상 있는지 확인합니다.
ACS는 LDAP 서버에 대해 사용자를 인증하기 위해 바인드 요청을 보냅니다.바인딩 요청에는 일반 텍스트로 사용자의 DN 및 사용자 암호가 포함됩니다.사용자의 DN 및 비밀번호가 LDAP 디렉토리의 사용자 이름 및 비밀번호와 일치하면 사용자가 인증됩니다.
인증 오류 - ACS는 ACS 로그 파일에 인증 오류를 기록합니다.
Initialization Errors(초기화 오류) - LDAP 서버 시간 초과 설정을 사용하여 LDAP 서버의 연결 또는 인증이 실패했음을 확인하기 전에 ACS가 LDAP 서버의 응답을 기다리는 시간(초)을 구성합니다.LDAP 서버가 초기화 오류를 반환하는 가능한 이유는 다음과 같습니다.
LDAP는 지원되지 않습니다.
서버가 다운되었습니다.
서버의 메모리가 부족합니다.
사용자에게 권한이 없습니다.
잘못된 관리자 자격 증명이 구성되었습니다.
Bind Errors(바인드 오류) - LDAP 서버가 바인드(인증) 오류를 반환하는 가능한 이유는 다음과 같습니다.
필터링 오류
필터 기준을 사용한 검색이 실패합니다.
매개 변수 오류
잘못된 매개 변수를 입력했습니다.
사용자 계정이 제한됨(사용 안 함, 잠금, 만료, 비밀번호 만료 등)
이러한 오류는 외부 리소스 오류로 기록되며 이는 LDAP 서버에 문제가 있음을 나타냅니다.
연결 오류가 발생했습니다.
시간 제한이 만료되었습니다.
서버가 다운되었습니다.
서버의 메모리가 부족합니다.
이 오류는 알 수 없는 사용자 오류로 기록됩니다.사용자가 데이터베이스에 없습니다.
이 오류는 사용자가 존재하지만 전송된 비밀번호가 유효하지 않은 잘못된 비밀번호 오류로 기록됩니다.잘못된 암호를 입력했습니다.