반응형
정의
LDAP (Lightweight Directory Access Protocol)은 인터넷 프로토콜 스택의 일부로서 디렉터리 서비스를 제공하는 프로토콜입니다.
LDAP 구조
LDAP는 기본적으로 트리구조를 가지고 있으며, 특징적인 조건을 가지고 데이터를 저장합니다. 각 노드를 엔트리라고 부르며, 각 엔트리에는 분류된 정보가 저장됩니다.
엔트리 이름 테이블
LDAP를 이용한 웹싸이트 구조
목적
LDAP은 데이터의 계층적 구조를 사용하여 사용자, 그룹, 장치 등의 정보를 저장하고 검색하기 위한 방법을 제공합니다.
장점
- 디렉터리 서비스의 계층적 구조로 데이터를 구성하여 효율적인 데이터 검색이 가능합니다.
- 인증 및 접근 제어에 대한 기능을 제공하여 보안성을 강화할 수 있습니다.
- 널리 알려진 표준 프로토콜이며, 다양한 플랫폼과 언어에서 지원됩니다.
단점
- LDAP은 복잡한 설정과 관리가 필요할 수 있습니다.
- 대용량 데이터를 처리하는 데는 적합하지 않을 수 있습니다.
- 삽입, 수정보다는 검색, 저장에 특화되어 있습니다.
예제
import ldap
# LDAP 서버에 연결
conn = ldap.initialize('ldap://ldap.example.com')
# 바인딩 (인증)
conn.simple_bind_s('username', 'password')
# 검색
base_dn = 'ou=users,dc=example,dc=com'
filter = '(& (cn=john))'
attributes = ['cn', 'email']
result = conn.search_s(base_dn, ldap.SCOPE_SUBTREE, filter, attributes)
# 결과 출력
for dn, entry in result:
cn = entry['cn'][0].decode('utf-8')
email = entry['email'][0].decode('utf-8')
print(f'CN: {cn}, Email: {email}')
# 연결 종료
conn.unbind()
파이썬 코드에서는 ldap 모듈을 사용하여 LDAP 서버와의 연결, 바인딩, 검색, 결과 처리 및 연결 종료를 수행합니다. ldap.initialize 함수를 사용하여 LDAP 서버에 연결하고, conn.simple_bind_s 함수를 사용하여 인증을 수행합니다. 그런 다음 conn.search_s 함수를 사용하여 검색을 수행하고, 결과를 처리합니다.
반응형
'old > Cyber Security' 카테고리의 다른 글
사이버 보안: LDAP 인젝션이란? (0) | 2023.09.02 |
---|---|
LDAP 인젝션 치트시트 (0) | 2023.09.01 |
사이버 보안: 운영체제 명령 실행이란? (0) | 2023.08.30 |
사이버 보안: 인증과 인가 취약점이란? (0) | 2023.08.25 |
사이버 보안: 동적분석과 정적분석이란? (0) | 2023.08.24 |