Exchange

Exchange Server 2019. Enabling Modern Auth in Exchange on-premises

Pepuri 2023. 5. 8. 17:36
반응형
I. Overview
II. How will Modern Authentication work and is this feature applicable to me?
III. Prerequisites to enable Modern Authentication in Exchange
IV. Steps to configure Modern Authentication in Exchange Server using ADFS as STS
V. Configure Exchange Server to use ADFS OAuth tokens
VI. Client-Side Modern Authentication configuration
VII. Test Outlook Client

 

Exchange Server 2019 CU13 부터는 ADFS 활용하여 OAuth 2.0 (Modern Authentication) 지원하게 되었습니다.

Released: 2023 H1 Cumulative Update for Exchange Server - Microsoft Community Hub

 

여기서 포인트는 "ADFS 연결을 지원한다." 입니다. 그리고 ADFS Azure MFA 포함한 다양한 3rd Party MFA 지원합니다.

 

아래의 기술자료를 참고하여 작성하였습니다.

Enable Modern Auth in Exchange Server on-premises | Microsoft Learn

 

I. Overview

기술 자료에서는 우선 다음과 같이 설명하고 있습니다.

With the release of Exchange Server 2019 CU13, Exchange Server supports OAuth 2.0 (also known as Modern authentication) for pure on-premises environments using ADFS as a security token service (STS). This document provides the prerequisites and steps to enable this feature.
Exchange Server 2019 CU13 릴리스와 함께 Exchange Server는 ADFS를 STS(보안 토큰 서비스)로 사용하는 순수 온-프레미스 환경에 대해 OAuth 2.0(최신 인증이라고도 함)을 지원합니다. 이 문서는 이 기능을 활성화하기 위한 전제 조건과 단계를 제공합니다.

To use modern auth, users need clients (Outlook or any other native OS clients) that support Modern auth using ADFS. Initially, this feature is available only for Outlook on Windows, but support for modern auth will be added to other Outlook clients in the future.
최신 인증을 사용하려면 ADFS를 사용하는 최신 인증을 지원하는 클라이언트(Outlook 또는 기타 기본 OS 클라이언트)가 필요합니다. 처음에 이 기능은 Windows의 Outlook에서만 사용할 수 있지만 최신 인증에 대한 지원은 향후 다른 Outlook 클라이언트에 추가될 예정입니다.

기존에는 Outlook 연결시 Windows 인증 (기본인증)창으로 나타납니다.

Windows 인증

 

ADFS 지원하게 되면 아래와 같이 Form 인증 형태로 로그인 창이 나타납니다.

ADFS 인증

 

Modern auth in Exchange Server 2019 shouldn't be confused with Hybrid Modern Authentication, which uses Azure AD for modern authentication. In fact, HMA is still the only recommended method to enable Modern auth for all on-premises and cloud users in an Exchange Hybrid configuration. This new feature allows Modern auth use by customers who don’t have Azure AD or aren't in an Exchange Hybrid configuration.

Exchange Server 2019의 최신 인증은 최신 인증에 Azure AD 사용하는 하이브리드 최신 인증과 혼동해서는 안 됩니다. 실제로 HMA는 Exchange 하이브리드 구성의 모든 온-프레미스 및 클라우드 사용자에 대해 최신 인증을 사용하도록 설정하는 유일한 권장 방법입니다. 이 새로운 기능을 사용하면 Azure AD 없거나 Exchange 하이브리드 구성에 없는 고객이 최신 인증을 사용할 수 있습니다.

-> HMA 이미 설정되어 있으면, Modern 인증을 추가로 설정할 필요가 없습니다.

HMA 인증기관이 Azure AD이고, Enabling Modern Auth 설정하면 ADFS 인증기관으로 지정됩니다.

 

HMA 다양한 플랫폼(Outlook, Mobile ) 지원하지만, 단순 Modern Auth Windows Outlook 지원합니다. -> 연말에 업데이트를 통하여 추가 지원 예정

 

II. How will Modern Authentication work and is this feature applicable to me?

With Modern auth, users can authenticate to Exchange using ADFS. When Modern auth is enabled for a user, their Outlook client is redirected to ADFS. Users can then authenticate by providing credentials or performing multi-factor authentication. Once ADFS authenticates a user, it generates access tokens. These access tokens are validated by Exchange Server to provide client access to the user’s mailbox.
최신 인증을 사용하면 사용자가 ADFS를 사용하여 Exchange에 인증할 수 있습니다. 사용자에 대해 최신 인증을 사용하도록 설정하면 Outlook 클라이언트가 ADFS로 리디렉션됩니다. 그런 다음 사용자는 자격 증명을 제공하거나 다단계 인증을 수행하여 인증할 수 있습니다. ADFS는 사용자를 인증하면 액세스 토큰을 생성합니다. 이러한 액세스 토큰은 Exchange Server에서 유효성을 검사하여 사용자의 사서함에 대한 클라이언트 액세스를 제공합니다.

The following diagram illustrates the coordination between Exchange Server, ADFS and Outlook to authenticate a user using Modern auth.
다음 다이어그램에서는 최신 인증을 사용하여 사용자를 인증하기 위한 Exchange Server, ADFS 및 Outlook 간의 조정을 보여 줍니다.

-> Modern 인증이 설정되면, Outlook 연결시 ADFS 통해서 MFA까지 설정할 있음을 설명하고 있습니다.

 

아래의 다이어그램은 인증 흐름을 설명해주고 있습니다.

Modern 인증 흐름

III. Prerequisites to enable Modern Authentication in Exchange

Modern 인증을 사용하기 위한 요구 사항은 다음과 같습니다.

1) Exchange Server 2019 CU13 or later

2) ADFS 2019 or later

3) The Outlook build number must be 16327.20200 or later.

Office Build Version

Support for other clients such as Outlook on Mac, Outlook mobile, iOS mail app, etc., will be added later.
Mac용 Outlook, Outlook 모바일, iOS 메일 앱 등과 같은 다른 클라이언트에 대한 지원은 나중에 추가될 예정입니다

-> 현재 지원되는 부분은 MAPI 영역만 해당하는 것으로 보입니다.  EWS 이용하는 Outlook for mac, EAS 이용하는 Mobile 구분되는 같습니다.

 

4) The Windows client must be Windows 11 22H2 or later and it must have the March 14, 2023 update installed. You can review Windows Update history to verify that KB5023706 is installed.

 

IV. Steps to configure Modern Authentication in Exchange Server using ADFS as STS

테스트 환경은 Exchange Server 2019 CU13 설치되어 있고, ADFS 이미 구성되어 있다는 전제하에 진행합니다. Azure MFA 설정이 필요하다면 다음 글을 참고하시기 바랍니다.

2021.12.18 - [Windows Server] - Windows Server 2019. ADFS에서 Azure MFA 설정

 

내부망, 외부망 인증방법이 Form 인증으로 설정합니다.

Form 인증

 

Application Groups -> 우클릭 -> Add Application Group

Add Application Group

 

이름 지정 -> Native application accessing a web API 선택 -> Next

Native application accessing a web API

 

다음과 같이 지정

Client Identifier: d3590ed6-52b3-4102-aeff-aad2292ab01c

 

Redirect URI

urn:ietf:wg:oauth:2.0:oob

ms-appx-web://Microsoft.AAD.BrokerPlugin/d3590ed6-52b3-4102-aeff-aad2292ab01c

 

Redirect URI

 

Identifier Autodiscover MAPI URL 주소를 입력합니다.

Identifier

 

아래의 항목은 우선 Next (나중에 변경할 있습니다.)

Access Control Policy

 

Openid, user_impersonation 체크 -> Next

Application Permission

 

Next

Overview

 

Close

Close

 

생성된 Application Group 에서 Web API -> Edit

Edit Web API

 

Issuance Transform Rules -> Add rule

Issuance Transform Ruels

 

Send Claims Using a Custom Rule -> Next

Custom Rule

 

아래의 Rule을 각각 생성합니다.

Claim Rule Name Custom Rule
ActiveDirectoryUserSID c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"] => issue(claim = c);
ActiveDirectoryUPN c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"] => issue(claim = c);
AppIDACR => issue(Type = "appidacr", Value = "2");
SCP => issue(Type = "http://schemas.microsoft.com/identity/claims/scope", Value ="user_impersonation");

 

ActiveDirectoryUserSID
ActiveDirectoryUPN
AppIDACR
SCP

Rule 생성이 완료되면 다음과 같이 확인할 수 있습니다.

Custom Rule

 

V. Configure Exchange Server to use ADFS OAuth tokens

Exchange Server Powershell에서 가상 디렉터리 인증 설정 확인

Get-MapiVirtualDirectory |fl Identity, *auth*
Get-WebServicesVirtualDirectory |fl Identity, *auth*
Get-OabVirtualDirectory |fl Identity, *auth*
Get-AutodiscoverVirtualDirectory |fl Identity, *auth*

Get-MapiVirtualDirectory
Get-WebServicesVirtualDirectory
Get-OabVirtualDirectory
Get-AutodiscoverVirtualDirectory

 

Auth Server 추가 (sts.wingtiptoys.kr 은 ADFS URL 입니다.)

New-AuthServer -Type ADFS -Name MyADFSServer -AuthMetadataUrl https://sts.wingtiptoys.kr/FederationMetadata/2007-06/FederationMetadata.xml

 

VI. Client-Side Modern Authentication configuration

Client 단에서 ADFS 모던인증을 활성화 하려면 특정 레지스트리 값을 추가해야합니다. 아래의 과정을 참고하여 GPO 설정하는 것을 권장드립니다.

 

#Add ADFS domain as trusted domain
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\AAD\AuthTrustedDomains\https://ADFS domain/
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\AAD\AuthTrustedDomains\https://ADFS domain

AuthTrustedDomains

#To enable Modern auth via ADFS in Outlook
[HKCU\SOFTWARE\Microsoft\Office\16.0\Common\Identity]
EnableExchangeOnPremModernAuth=dword:00000001

EnableExchangeOnPremModernAuth

VII. Test Outlook Client

계정 설정시 아래와 같이 ADFS 로그인 창이 나타납니다.

Modern 인증

 

설정 완료

Outlook 설정

 

우측 하단의 Outlook 아이콘을 Ctrl + 우클릭

Outlook 설정

Connection Status

Connection Status

 

Authn Bearer 변경된 것을 확인할 있습니다.

설정 전

 

설정 후

 

 

반응형