BLOG

클라이언트 측 LDAPS를 사용한 AWS Directory Service의 LDAPS 보안 개선
작성일: 2020-04-06

이제는 AWS Directory Service 제품들(AWS Directory Service for Microsoft Active Directory, AWS Managed Microsoft AD, AD Connector)과 자체 관리형 AD(Active Directory) 간의 LDAP(Lightweight Directory Access Protocol)통신을 암호화 하여 조직의 자격 ID 데이터를 보다 더 잘 보호할 수 있습니다. 클라이언트 측 보안LDAP(LDAPS)의 지원을 통해 Amazon WorkSpaces 와 AWS Single Sign-On과 같은AWS Directory Service와 통합된 애플리케이션이 Secure Sockets Layer/Transport Layer Security(SSL/TLS)를 사용하여 AD에 연결할 수 있습니다.

 

참고: 2017년 AWS 디렉토리 서비스는 AWS Managed Microsoft AD에서 server-side LDAPS 지원 기능을 발표했습니다. 이 기능에는 클라이언트 측 LDAPS 지원도 포함하며, AWS Managed Microsoft AD와 AD Connector에서 모두 사용 가능합니다.

 

오늘 블로그 포스팅으로는 Amazon WorkSpaces와 Amazon EC2(Amazon Elastic Compute Cloud)를 기반으로 자체 관리형 AD간 암호화된 통신이 가능케 하기 위해 어떻게 클라이언트 측 LDAPS 구성하면 되는지를 단계별로 보여드릴 예정입니다.

 

 

솔루션 아키텍쳐

 

이제 설명해 드릴 단계를 거치면, 아래의 그림과 같은 솔루션이 설계됩니다.

그림 1: 솔루션 아키텍쳐

 

솔루션 구축을 위해 다음의 세 단계를 진행해 주십시오:

  1. 자체 관리형 AD 환경에서 인증서 기반 보안을 설정하는 등의 모든 전제 조건을 충족해야 합니다..
  2. CA(인증 기관) 인증서를 AWS Directory Service에 등록하고 클라이언트 측 LDAPS를 활성화 하십시오(위 그림의 보라색 화살표에 해당).
  3. Amazon WorkSpace와 AWS Directory Service를 사용하여 클라이언트 측 LDAPS를 테스트 하십시오(위 그림의 노란색 화살표에 해당).

 

 

1단계: 전제조건 충족

 

실질적인 단계를 밟기 앞서 먼저 다음과 같은 전제조건들이 충족되어야 합니다:

  1. 사용자 ID를 저장하기 위해 자체 관리형 AD를 배포합니다. 이에 대한 자세한 안내서는 “튜토리얼: AWS Managed Microsoft AD에서 Amazon EC2의 자체 관리형 AD로 트러스트 생성하기”에서 ‘Step 1: Set Up Your Environment for Trusts’ 단락을 확인해 주십시오.
  2. 자체 관리형 AD 도메인 컨트롤러에 서버 인증 인증서를 설치합니다. 이를 위해 다음 두 가지 방법 중 하나를 수행합니다.
    1. 윈도우 서버에서AD CS(Active Directory Certificate Services)를 사용하여 서버 인증서를 발급에 대한 사내 CA를 배포합니다. LDAPS를 지원하는 AD CS를 배포 설정에 대한 도움이 필요하다면 Microsoft의 LDAPS(LDAP over SSL) 인증서를 참고해 주십시오.
    2. Verisign 또는 AWS Certificate Manager와 같은 상용 CA 에서 SSL 인증서를 구입하십시오. AD와 함께 상용 인증서를 사용하는 방법은 타사 인증 기관에서 SSL을 통해 LDAP을 사용하는 방법을 참고해 주십시오.
  3. AWS Directory Service directory, AWS Managed Microsoft ADAD Connector 중 하나를 보유하고 있어야 합니다. 이들은 AWS에서 자체 관리형 AD로의 브릿지 역할을 합니다. 더욱 자세한 내용은AWS Managed Microsoft AD 또는 AD Connector 사용 설명서를 참고해 주십시오. AWS Managed Microsoft AD를 사용하는 경우 “튜토리얼: AWS Managed Microsoft AD에서 Amazon EC2의 자체 관리형 AD 설치로 트러스트 생성하기”를 참고하여 자체 관리형 AD와 양방향 트러스트를 설정하십시오.
  4. Amazon WorkSpaces를 AWS Directory Service에 연결하여 사용자를 검색하고 인증합니다. 자세한 단계별 방법은 “AWS Managed Microsoft AD와 트러스티드 도메인 사용하기” Workspaces 사용 설명서를 참고해 주십시오.

 

위의 단계를 거치면 다음과 같은 상태가 될 것입니다

이 중 이름은 사용자 본인이 지정한 이름으로 설정하시면 됩니다.

  1. example.com라는 이름의 AWS Managed Microsoft AD 인스턴스를 생성했습니다.
  2. 양방향 트러스트를 통해 example.com 를 example.local이라 하는 EC2기반의 자체 관리형 AD에 연결했습니다.
  3. AD CS 엔터프라이즈 루트 인증 권한을 Example SelfManaged CA라는 일반적인 이름으로 local 에 배포했습니다.

 

 

2단계: AWS Directory 서비스 내의 클라이언트 측LDAPS 구성

 

이제 자체 관리형 AD에서 발급 인증 기관을 나타내는 CA 인증서를 검색하여 AWS Directory Service에서 클라이언트 측 LDAPS를 사용하도록 설정합니다. AWS Directory Service에 대한 CA 인증서 요구사항을 검토하기 위해서는 AWS Managed Microsoft AD 또는 AD Connector를 위한 클라이언트 측 LDAPS 사용 설명서를 참고해 주시기 바랍니다.

  1. local CA로부터 CA 인증서를 추출합니다.

a. 인증 기관 MMC 스냅인을 열려면AD CS를 호스팅하는 local 서버에서 Windows 아이콘을 마우스 오른쪽 클릭하고 Run을 누른 뒤, certsrv.msc을 입력하고 OK를 선택하십시오

b. CA의 이름(본 예제에서는SelfManaged CA로 지정함)을 마우스 오른쪽 버튼으로 누르고 Properties을 선택하십시오.

c. Properties 윈도우에서 General 탭의 CA certificates에서 CA certificated 목록을 선택한 뒤 View Certificate를 클릭하십시오.


d. Certificate 윈도우의 Details 탭에서 Copy to File을 선택하십시오.

e. Certificate Export Wizard(인증서 내보내기 마법사)에서 Next를 선택하십시오.

f. Export File Format 스크린에서 Base-64 encoded X.509 (.CER)을 선택하고 NEXT를 선택하십시오. 이는 AWS에서 요구하는 포맷을 파일에 저장할 것입니다.

g. Browse를 선택한 뒤 파일이름을 선택하고 CA 인증서를 저장할 위치를 선택하십시오.

h. Save를 누르고 Next를 클릭하십시오.

i. Finish를 누르고 OK버튼을 클릭하여 내보내기 작업을 완료하십시오.

j. AWS Directory Service 구성을 수행 할 머신이 액세스 할 수 있는 위치에 파일을 복사하십시오.

2. AWS Directory Service에 loca CA 인증서를 등록하십시오:

a. AWS Management 콘솔에서 Directory Service를 선택하고local(이 경우 corp.example.com)에 연결된 AWS Directory Service 디렉토리의 ID링크를 선택하십시오.

 

b. Directory details 페이지에서 Networking & Security 탭에서 클라이언트 측 LDAPS 섹션으로 이동한 뒤(그림 5 참고) Actions 메뉴를 선택하고 Register certificate를 선택하십시오.

c. Register a CA certificate dialog 박스에서 Browse를 선택한 뒤 AD CS 인증 기관을 저장해둔 곳으로 이동하십시오. 그리고 Open을 선택하고 Register certificate을 선택하십시오.

  1. AWS Directory Service 내의 클라이언트 측 LDAPS를 활성화합니다.

a.클라이언트 측 LDAPS 섹션에서 인증서가 Registration status 필드에서 인증서가 Registeered 되었을 때 Enable 버튼을 선택하십시오. 기록 Refresh 버튼을 눌러 업데이트 상태를 확인하십시오.

b. Enable 클라이언트 측 LDAPS dialog 박스에서 Enable을 선택하십시오.

c. 클라이언트 측LDAPS 섹션에서 Status 아래 있는 status field가 Enabled로 바뀌었는지 확인 하여 LDAPS가 성공적으로 구성되었는지 확인하십시오. Refresh 버튼을 눌러 업데이트 상태를 확인하십시오.

 

 

3단계: Amazon Workspace와 함께 클라이언트 측 LDAPS 테스트

 

마지막 단계는 AWS 애플리케이션과 클라이언트 측 LDAPS 테스트 입니다. 이제는 클라이언트 측 LDAPS가 구성이 완료 되었고 모든 LDAP 트래픽은 자체 관리 AD이고 포트 636을 통해 암호화 될 것입니다.

참고: AWS Directory 디렉토리(아웃 바운드) 및 자체 관리 AD(인바운드)에 적용된 AWS 보안 그룹, 네트워크 방화벽 그리고 윈도우의 방화벽 설정이 포트 636에서 TCP 커뮤니케이션을 허용하는지 확인해야 합니다.

 

클라이언트 측 LDAPS 구성을 테스트 하기 위해서는 WorkSpaces 사용자 조회를 실행하십시오:

  1. AWS Management 콘솔에서 WorkSpaces를 선택하고 Launch WorkSpace를 클릭하십시오.
  2. Select a Directory 화면에서 example.com을 선택하고 Next Step을 클릭하십시오.
  3. Identify Users 화면에서 Select trust from forest 메뉴 내에 있는 local을 선택한 뒤 Show All Users(아래 그림9 참고)를 선택하십시오. 이 검색은 LDAPS를 통해 검색 됩니다.

 

글을 마치며…

 

이번 글에서는 AWS Managed Microsoft AD와 AD Connector의 클라이언트 측LDAPS 지원 기능이 어떻게 AWS와 Active Directory간의 민감한 네트워크 트래픽을 암호화하여 Amazon WorkSpaces, AWS Single Sign-On, Amazon QuickSight와 같은 AWS 애플리케이션 및 서비스에 대한 LDAP 보안을 향상시킬 수 있는지, 그 방법을 자세히 살펴 보았습니다.

 

AWS Managed Microsoft AD 또는 AD Connector 사용에 대한 자세한 내용은 AWS Directory Service documentation을 참고해 주시기 바랍니다. 일반적인 정보와 요금은 AWS Directory Service home page에서 확인하실 수 있습니다. 구현하는데 어려움이 있거나 문제 해결이 필요하신 경우 Directory Service forum에서 new thread를 시작하거나 AWS Support에 문의하십시오.

 

AWS 보안 콘텐츠에 관한 새로운 소식을 알고 싶으시다면 Twitter 계정을 팔로우하여 정보를 확인해 주시기 바랍니다.

 

원문 URL: https://aws.amazon.com/ko/blogs/security/how-to-improve-ldap-security-in-aws-directory-service-with-client-side-ldaps/

** 메가존클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 개제하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달 드리도록 하겠습니다.