Windows Server

ADFS Study (3). Access Control Policy

Pepuri 2022. 8. 30. 21:40
반응형

ADFS에서도 M365에서 제공되는 Conditional Access 유사하게 설정할 있습니다.

Exchange Server 에서 ADFS 클레임 인증을 사용할 경우 내부망과 외부망의 인증 흐름은 다음과 같습니다. (AD 생략)

 

<내부망>

 

<외부망>

 

설명을 돕기 위해서 아래와 같이 시나리오를 정해서 설정하겠습니다.

[시나리오1] 사용자가 OWA 사내에서만 이용하도록 설정, 사외에서 접속시 차단

 

Access Contol Policies -> Add Access Control Policy

 

Policy Name 입력 -> Add

 

Everyone -> from specific network 체크 -> 하단의 specific 클릭

 

Internet 선택 -> OK

 

OK

 

OK

 

 Policy 생성 확인

 

Relying Party Trusts -> OWA 클레임 인증 정책 -> 우클릭 -> Edit Access Control Policy

 

Use access control policy

생성한 정책 선택

 

설정된 정책 확인

 

외부망에서 OWA 접속 시도

 

해당 Relying party 차단되었다는 메시지 확인

 

ADFS 이벤트 로그에서 동일한 Activity ID 로그인 실패 기록이 확인됩니다.

 

세부 정보를 보면 Extranet에서 Access하여 Block 것을 있습니다.

 

Fiddler 상에서도 Status-Code 500으로 기록됩니다.

 

만약 내부망에서 접속하면, Intranet으로 기록되면서 성공했다는 것을 확인할 있습니다.

 

[시나리오2] Exchange Server 2019 HMA 구성, Outlook Client 사내 허용, 사외 차단, 이미 설정된 계정들에 대해서 새로 적용 필요

우선 정책을 설정하지 않은 상태로 계정설정 진행 -> 아래와 같이 로그인시 ADFS 이동됩니다.

 

프로필 설정 완료.

 

Outlook 연결 상태에서 Authn 전달자(Bearer) 표시됩니다.

 

Extranet 으로 인식됨 확인

 

Intranet에서만 액세스하는 정책 생성

 

정책을 설정한 , 일정시간이 지나도 Outlook Client 상에서 연결이 끊어지지는 않았습니다.

 

아래의 옵션을 체크

-> Outlook 다시 실행해도 연결이 끊어지지 않습니다.

-> 그리고 ADFS 상에서 이상 로그인 로그의 기록을 확인할 없습니다.

-> 이미 자격증명이 저장된 토큰이 있다면, 일정시간 ADFS 인증을 거치지 않는 것으로 추정됩니다.

 

최초 로그인시에는 모든 정책이 동일하지만 Application 단에서 토큰을 저장하는 개념이 존재한다면, 해당 토큰을 재인식할때까지는 정책이 적용되지 않는 것으로 보입니다. 부분은 토큰의 수명과 관련된 부분으로 다른 포스팅에서 다루도록 하겠습니다.

 

[시나리오3] 썬더버드(특정 App)에서 액세스 차단

 

아래와 같이 썬더버드에서 계정설정을 진행합니다.

 

ADFS 감사로그를 확인해 보면, UserAgentString 항목에서 Thunderbird 기록됩니다.

 

항목을 근거로 차단 정책을 설정해 보겠습니다.

규칙 생성시 with specific claims in the request -> specific 클릭

 

Claim type 보면 다양한 조건이 지원되는 것을 있습니다. Client User Agent 선택합니다.

 

Contains -> Thunderbird -> OK

 

정책 적용후 다시 계정설정을 해보면 아래와 같이 차단되는 것을 확인할 있습니다.

 

ADFS 로그상에서도 실패 기록을 확인됩니다.

 

이와 같이 감사로그 상의 기록을 기반으로 차단이나 허용정책을 유연하게 생성할 있습니다.

생각이지만, ADFS Access Control Policy = Azure AD Conditional Access 봐도 같습니다.

반응형