LDAP 서명(LDAP Signing)은 Windows Server의 인증 방식으로, 디렉터리 서버의 보안을 한층 강화할 수 있는 기능입니다. 이 기능을 활성화하면 서명을 요청하지 않는 요청이나 SSL/TLS로 암호화되지 않은 요청은 모두 거부됩니다. 이번 글에서는 Windows Server와 클라이언트 머신에서 LDAP 서명을 활성화하는 방법을 단계별로 살펴봅니다. 참고로 LDAP는 Lightweight Directory Access Protocol(경량 디렉터리 액세스 프로토콜)의 약자입니다.
Windows 컴퓨터에서 LDAP 서명을 활성화하는 방법
공격자가 위조된 LDAP 클라이언트를 이용해 서버 구성과 데이터를 변경하는 것을 방지하려면 LDAP 서명을 반드시 활성화해야 합니다. 서버뿐만 아니라 클라이언트 머신에도 동일하게 적용하는 것이 매우 중요합니다.
- 서버 LDAP 서명 요구 사항 설정
- 로컬 컴퓨터 정책을 사용한 클라이언트 LDAP 서명 요구 사항 설정
- 도메인 그룹 정책 개체(GPO)를 사용한 클라이언트 LDAP 서명 요구 사항 설정
- 레지스트리 키를 사용한 클라이언트 LDAP 서명 요구 사항 설정
- 구성 변경 사항 검증 방법
- '서명 요구' 옵션을 사용하지 않는 클라이언트 찾기
마지막 섹션은 서명 요구(Require signing)가 활성화되지 않은 클라이언트를 파악하는 데 도움이 됩니다. IT 관리자가 해당 컴퓨터를 식별하고 보안 설정을 적용하는 데 유용하게 활용할 수 있습니다.
1] 서버 LDAP 서명 요구 사항 설정

- MMC(Microsoft Management Console, mmc.exe)를 실행합니다.
- 파일 > 스냅인 추가/제거 > 그룹 정책 개체 편집기를 선택한 후 추가를 클릭합니다.
- 그룹 정책 마법사가 열리면 찾아보기 버튼을 클릭하고 로컬 컴퓨터 대신 Default Domain Policy(기본 도메인 정책)를 선택합니다.
- 확인 버튼과 마침 버튼을 차례로 클릭한 후 창을 닫습니다.
- Default Domain Policy > 컴퓨터 구성 > Windows 설정 > 보안 설정 > 로컬 정책으로 이동한 다음 보안 옵션을 선택합니다.
- 도메인 컨트롤러: LDAP 서버 서명 요구 사항을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
- 속성 대화 상자에서 '이 정책 설정 정의'를 활성화하고 목록에서 서명 요구(Require signing)를 선택한 후 확인을 클릭합니다.
- 설정을 다시 한번 확인하고 적용합니다.
2] 로컬 컴퓨터 정책을 사용하여 클라이언트 LDAP 서명 요구 사항 설정

- 실행 창을 열고 gpedit.msc를 입력한 후 Enter 키를 누릅니다.
- 그룹 정책 편집기에서 로컬 컴퓨터 정책 > 컴퓨터 구성 > 정책 > Windows 설정 > 보안 설정 > 로컬 정책으로 이동한 다음 보안 옵션을 선택합니다.
- 네트워크 보안: LDAP 클라이언트 서명 요구 사항을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
- 속성 대화 상자에서 목록의 서명 요구(Require signing)를 선택한 후 확인을 클릭합니다.
- 변경 사항을 확인하고 적용합니다.
3] 도메인 그룹 정책 개체를 사용하여 클라이언트 LDAP 서명 요구 사항 설정
- MMC(Microsoft Management Console, mmc.exe)를 실행합니다.
- 파일 > 스냅인 추가/제거를 선택하고 그룹 정책 개체 편집기를 선택한 후 추가를 클릭합니다.
- 그룹 정책 마법사가 열리면 찾아보기 버튼을 클릭하고 로컬 컴퓨터 대신 Default Domain Policy를 선택합니다.
- 확인 버튼과 마침 버튼을 차례로 클릭한 후 창을 닫습니다.
- Default Domain Policy > 컴퓨터 구성 > Windows 설정 > 보안 설정 > 로컬 정책으로 이동한 다음 보안 옵션을 선택합니다.
- 네트워크 보안: LDAP 클라이언트 서명 요구 사항 속성 대화 상자에서 목록의 서명 요구를 선택한 후 확인을 클릭합니다.
- 변경 사항을 확인하고 설정을 적용합니다.
4] 레지스트리 키를 사용하여 클라이언트 LDAP 서명 요구 사항 설정
설정에 앞서 가장 먼저 해야 할 일은 레지스트리를 백업하는 것입니다.
- 레지스트리 편집기를 실행합니다.
- HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ <InstanceName> \Parameters 경로로 이동합니다.
- 오른쪽 창을 마우스 오른쪽 버튼으로 클릭하고 LDAPServerIntegrity라는 이름의 새 DWORD 값을 만듭니다.
- 값은 기본값으로 그대로 둡니다.
<InstanceName>: 변경하려는 AD LDS 인스턴스의 이름입니다.
5] 구성 변경 후 서명이 필수로 적용되었는지 확인하는 방법
보안 정책이 올바르게 작동하는지 무결성을 확인하는 절차는 다음과 같습니다.
- AD DS 관리 도구가 설치된 컴퓨터에 로그인합니다.
- 실행 창을 열고 ldp.exe를 입력한 후 Enter 키를 누릅니다. ldp.exe는 Active Directory 네임스페이스를 탐색하기 위한 UI 도구입니다.
- 연결 > 연결을 선택합니다.
- 서버 및 포트 항목에 디렉터리 서버 이름과 비 SSL/TLS 포트를 입력한 후 확인을 클릭합니다.
- 연결이 설정되면 연결 > 바인드를 선택합니다.
- 바인드 유형에서 단순 바인드(Simple bind)를 선택합니다.
- 사용자 이름과 암호를 입력한 후 확인을 클릭합니다.
Ldap_simple_bind_s() failed: Strong Authentication Required 오류 메시지가 표시되면 디렉터리 서버가 성공적으로 구성된 것입니다.
6] '서명 요구' 옵션을 사용하지 않는 클라이언트 찾기
클라이언트 머신이 안전하지 않은 연결 프로토콜로 서버에 접속할 때마다 Event ID 2889가 생성됩니다. 로그 항목에는 해당 클라이언트의 IP 주소도 함께 기록됩니다. 이 기능을 사용하려면 16 LDAP 인터페이스 이벤트(LDAP Interface Events) 진단 설정을 2(기본)로 지정해야 합니다. AD 및 LDS 진단 이벤트 로깅 구성 방법은 Microsoft 공식 문서를 참고하시기 바랍니다.
LDAP 서명은 디렉터리 환경의 보안을 위해 매우 중요한 기능입니다. 이 글이 Windows Server와 클라이언트 머신에서 LDAP 서명을 활성화하는 과정을 명확하게 이해하는 데 도움이 되었기를 바랍니다.