Azure Active Directory Domain Service(LDAP) 구축

클라우드 시대에 수많은 어플리케이션을 사용한다. Git, Jenkins, WI FI, SVN, Server, Cloud 등.
관리자는 입/퇴사자 발생 시 회사에서 사용하는 어플리케이션(시프티, 그룹웨어, 출입관리 시스템, Office365, 개발도구 등등)에서 계정을 생성/삭제하기 바쁘다. 휴먼에러(오타)가 생길 수도 있고 누락하는 일도 생 길 수 있고, 미 삭제로 방치될 수도 있다.
지금부터 작성하는 포스팅은 기업에서 흔히 사용하는 office365(Microsoft365) 계정(인증) 정보를 활용하여 PC, WI FI, OS, 어플리케이션과 연동할 수 있는 LDAP 서버 구축 방법에 대해 설명하려고 한다.(계정관리 포인트 일원화)

Azure AD Domain Service 리소스 생성

azureadds create

Subscription 및 리소스 그룹을 지정하고, SKU는 표준, 포리스트 유형은 사용자로 설정해도 사용하는데는 충분하다.
DNS 도메인 이름은 커스텀하게 설정이 가능하다.
네트워크 설정은 자동으로 생성되지만 추후에 Active Directory로 활용할 계획이 있다면, 현재 회사에서 사용중인 네트워크대역과는 다르게 설정해 줘야 한다.(같은 대역을 사용하면 VPN연동이 안되며, AD Join은 사설네트워크에서만 지원되기 때문)
그 외에는 기본으로 설정하고 생성하면 된다.

azureadds create1

DNS 서버지정

Azure AD Domain Service가 생성되면서, IP가 자동으로 할당되는데, 리소스의 속성에 들어가면 할당된 IP 주소를 확인할 수 있다.

Azure AD Domain Service가 생성된 리소스 그룹의 가상 네트워크(Vnet) DNS 서버 설정에 해당 IP를 추가해 준다.

azureadds create3

LDAPS 설정

Azure AD Domain Service의 경우 공용 인터넷(퍼블릭)을 통한 액세스는 LDAPS(인증서를 사용한 암호화통신)에서만 지원한다.

azureadds create4

여기서 아래와 같은 고려사항에 대한 의사 결정이 필요하다.

1) LDAP
– 연동할 시스템이 포함된  네트워크는 Azure AD Domain Service가 있는 Vnet과 VPN 피어링이 되어 사설통신이 가능하게 구축 필요.
– 인증서 없이 관리자 계정으로 LDAP 연동 가능.
– 암호화 통신이 되지 않아 보안에 취약.
– VPN 피어링 비용 발생.
2) LDAPS
– 인증서 발급 및 보관등 관리 포인트 발생.
– 어플리케이션 레벨에서 LDAPS를 지원하지 않는 경우가 종종 있음.
– 인증서 생성시 유효기간제한이 없으므로 필요에 의해 교체하면 됨.
– 별도 비용이 발생하지 않음.

대부분의 기업에서 사용하는 어플리케이션(Github, 시프티등등)은 클라우드 버전을 사용하기에 Vnet과  VPN 피어링을 할 수가 없다.
관리가 번거롭더라도 인증서를 통해 LDAP 활용성을 높이는걸  권장한다.(대량의 서버관리를 위해 AD Join이 필요하다면 VPN 피어링 권장)

azureadds create5
azureadds create6
azureadds create7

인증서 만들기

Azure AD Domain Service 보안 LDAP 인증서 만들기(MS Docs)

위에 MS Docs에 인증서 발급 및 등록절차를 자세하게 확인할 수 있다.
요약 하자면 PowerShell로 인증서를 발급(생성)하고 MMC로 인증서를 내보내기(인증서 저장소에서 파일로 가져오기) 한 후에 LDAP과 연동될 시스템에 공개키를 등록한다.
 – PowerShell 인증서 발급 코드에서 AddDays(3650)로 변경하면 유효기간 10년으로 설정된다.
 – MMC에서 내보내는 인증서는 프라이빗키(PFX), 공개키(CER) 두가지이다.
 – PFX 파일은 Azure AD Domain Service 리소스에서 Secure LDAP에 등록해준다.
 – 공개키는 LDAP과 연동될 시스템에 등록해준다.

기타 설정

도메인 레코드를 Azure AD Domain Service 리소스의 공인IP로 등록해 준다.
네트워크 시큐리티 그룹(NSG)에서 연동하고자 하는 시스템의 공인 IP:636(LDAPS)를 허용처리해준다.
Office365와 Azure AD Domain Service의 인증정보 동기화는 계정정보가 갱신되었을때 동기화 된다.(Office 365 사이트에서 패스워드를 1회 변경 시 동기화 조건에 포함되고 약 30분마다 동기화 )

Azure AD DS에서 사용자 계정을 사용하도록 설정(MS Docs)

동작 테스트

MS에서 제공하는 LDP 툴로 LDAP이 제대로 인증정보를 응답하는지 테스트가 가능하다.

관리되는 도메인에 대한 쿼리 테스트(MS Docs)

주의할 점은 공개키(CER)를 LDP가 설치된 PC의 신뢰할 수 있는 루트 인증기관에 등록해야 하고,
Azure Active Directory에서 사용자를 관리하는 기본 OU는 AADDC Users 이다.

Office365 Azure Active Directory에 등록된 사용자 속성 정보(이름, 메일주소, 전화번호, 직책, 소속그룹, 매니저, 마지막 로그인, 표시이름, 패스워드 변경일자 등등)을 조회할 수 있다.

azureadds create8

References