Office 365의 인증서 기반 인증

Secure Mail은 Office 365의 인증서 기반 인증(클라이언트 기반 인증이라고도 함)을 지원합니다. iOS 및 Android 장치가 있는 Secure Mail 사용자는 Office 365에 연결할 때 인증서 기반 인증을 활용할 수 있습니다. 사용자는 Secure Mail에 로그온할 때 자격 증명을 입력하는 대신 클라이언트 인증서를 사용하여 인증합니다. 이 문서에서는 Office 365를 위한 인증서 기반 인증을 구성하는 방법을 설명합니다.

Secure Mail의 인증서 기반 인증 지원은 온-프레미스 Exchange 구성에 존재합니다. Endpoint Management에서 이미 인증서 기반 인증을 설정한 경우 이제 Windows Server에서 Exchange Online, Azure Active Directory 및 ADFS(Active Directory Federation Services)를 구성합니다. 그러면 Secure Mail 버전 10 이상을 사용하는 사용자가 인증서 기반 인증을 이용하여 자신의 Office 365 계정에 연결할 수 있습니다.

Endpoint Management에서 인증서 기반 인증을 구성하지 않은 경우 먼저 Endpoint Management 콘솔에서 기능을 사용하도록 설정해야 합니다. 자세한 내용은 클라이언트 인증서 인증 또는 인증서와 도메인 인증을 참조하십시오. 그런 다음 Windows Server에서 Exchange Online, Azure(AD) 및 ADFS에 대한 인증서 기반 인증을 사용하도록 설정합니다.

이 문서의 절차에서는 Endpoint Management에서 인증서 기반 인증을 사용하도록 설정했다고 가정합니다.

다음 그림에서는 인증서 기반 인증과 관련된 구성 요소가 통합되는 방식을 보여 줍니다.

인증서 기반 인증 구성 요소의 이미지

사전 요구 사항

  • Endpoint Management 콘솔에서 PKI 엔터티를 구성할 때 인증서 복사본(X.509)이 인증 기관(CA)에서 생성됩니다.
  • CA에는 URL을 통해 참조할 수 있는 인증서 해지 목록(CRL)이 있어야 합니다.
  • 인증서 주체 대체 이름 필드에서 RFC822 이름 또는 보안 주체 이름 값으로 사용자 전자 메일 주소가 포함됩니다. 예를 들어 다음 그림을 참조하십시오.

인증서 주체 대체 이름 필드의 이미지

다음 단계에서는 Windows Server에서 Exchange Online, Azure AD 및 ADFS에 대한 인증서 기반 인증을 구성하는 방법을 보여 줍니다.

이 문서는 Microsoft의 구성 안내를 요약한 것입니다. Microsoft 구성 요소를 구성하는 단계에서 문제가 발생하는 경우 Microsoft 설명서에서 자세한 내용을 참조하는 것이 좋습니다.

Exchange Online을 사용하도록 설정하려면

Microsoft Exchange Online은 365 테넌트의 최신 인증 기능을 사용합니다. 이러한 기능을 통해 스마트 카드를 사용한 다중 단계 인증(MFA), 인증서 기반 인증 및 타사 SAML ID 공급자 같은 인증 기능을 사용할 수 있습니다. Exchange Online에서는 기본적으로 최신 인증이 사용되지 않습니다. 최신 인증을 사용하려면 다음을 수행합니다.

  1. Exchange Online PowerShell에 연결합니다. 자세한 내용은 Microsoft 설명서를 참조하십시오.
  2. 다음 명령을 실행합니다.

    Set-OrganizationConfig -OAuth2ClientProfileEnabled $true

  3. 변경이 성공했는지 확인하려면 다음 명령을 실행합니다.

    `Get-OrganizationConfig | Format-Table -Auto Name,OAuth*`

Azure AD를 구성하려면

Exchange Online은 요청에 Azure AD에 대한 prompt=login 명령을 전송합니다. 기본적으로 Azure AD는 요청의 이 명령을 wauth=usernamepassworduri 형식으로 ADFS로 변환합니다.

기본적으로 Azure AD는 ADFS에 U/P 인증을 수행하도록 요청합니다. 또한 Azure AD는 'wfresh=0' 명령을 전송합니다. 이 명령은 Azure ADD에 SSO(Single Sign-on) 상태를 무시하고 새 인증을 수행하도록 요청합니다.

  1. 기본 Azure AD Set PromptLoginBehavior 동작을 변경합니다.

    • Office 365 PowerShell에 연결합니다. 자세한 내용은 Microsoft 설명서를 참조하십시오.
    • Office 365 PowerShell에서 다음 명령을 실행합니다.

      참고:

      도메인은 메일 서버 도메인과 같습니다.

    Set-MSOLDomainFederationSettings -domainname <domain> -PromptLoginBehavior Disabled

  2. Azure AD에서 인증 기관을 구성합니다. 이전 사전 요구 사항 목록에 설명된 대로 루트 인증서의 공용 부분을 업로드합니다.

    • Azure AD PowerShell에 연결합니다. 자세한 내용은 Microsoft 설명서를 참조하십시오.
    • Azure AD PowerShell에서 다음 명령을 실행합니다. .cer 파일은 컴퓨터에서 로컬로 사용할 수 있습니다.

    $cert=Get-Content -Encoding byte "[LOCATION OF THE CER FILE]" $new_ca=New-Object -TypeName Microsoft.Open.AzureAD.Model.CertificateAuthorityInformation $new_ca.AuthorityType=0 $new_ca.TrustedCertificate=$cert New-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $new_ca

  3. Azure AD에서 해지를 구성합니다.

    클라이언트 인증서를 해지하기 위해 Azure AD는 CA 정보의 일부로 업로드된 URL에서 인증서 해지 목록(CRL)을 가져와 캐시에 저장합니다. CRL이 여전히 유효한지 확인하기 위해 CRL의 마지막 게시 타임스탬프(적용 날짜 속성)가 사용됩니다. 목록에 속하지 않는 인증서에 대한 액세스를 해지하기 위해 주기적으로 CRL을 참조합니다. 해지를 영구적으로 만들려면 CRL의 적용 날짜StsRefreshTokenValidFrom에 의해 설정된 값보다 이후의 날짜로 설정해야 합니다.

    관련 인증서가 CRL에 있는지도 확인하십시오. 다음 단계에서는 StsRefreshTokenValidFrom 필드를 설정하여 권한 부여 토큰을 업데이트하고 무효화하는 프로세스를 개략적으로 보여 줍니다.

    • MSOL 서비스에 연결합니다. 자세한 내용은 Microsoft 설명서를 참조하십시오.
    • 다음 명령을 실행하여 유효한 사용자에 대한 현재 StsRefreshTokensValidFrom 값을 검색합니다.

      $user = Get-MsolUser -UserPrincipalName test@yourdomain.com $user.StsRefreshTokensValidFrom

    • 다음 명령을 실행하여 사용자의 새 StsRefreshTokensValidFrom 값을 현재 타임스탬프와 동일하게 구성합니다.

      Set-MsolUser -UserPrincipalName test@yourdomain.com -StsRefreshTokensValidFrom ("03/15/2017")

설정한 날짜는 미래여야 합니다. 날짜가 미래가 아니면 StsRefreshTokensValidFrom 속성이 설정되지 않습니다. 날짜가 미래인 경우 StsRefreshTokensValidFrom이 현재 시간으로 설정됩니다(Set-MsolUser 명령으로 지정된 날짜가 아님).

ADFS를 구성하려면

ADFS를 구성하려면 두 가지 기본 단계를 완료합니다.

  • 인증 방법으로 인증서를 사용하도록 설정합니다.
  • ADFS 토큰의 클레임을 구성합니다.
  1. 인증 방법으로 인증서를 사용하도록 설정합니다.

    • ADFS 관리 콘솔을 열고 서비스 > 인증 방법 > 기본 인증 방법 편집으로 이동합니다.

      인증 방법 화면의 이미지

    • 엑스트라넷에서 인증서 인증 확인란을 선택합니다.

    • 인트라넷에서 선택적으로 인증서 인증 확인란을 선택합니다.

    인증서 인증을 사용하는 대부분의 장치는 엑스트라넷에서만 들어옵니다. 이 때문에 인트라넷 섹션은 선택 사항입니다.

    엑스트라넷 옵션의 이미지

  2. ADFS 토큰의 클레임을 구성합니다.

    Azure AD는 발급자 및 일련 번호를 ADFS로 보내기 때문에 ADFS는 다양한 액세스 시나리오에서 인증을 해지하거나 거부할 수 있습니다. 예를 들어 장치가 분실되거나 도난당한 경우 관리자가 CRL을 업데이트할 수 있습니다. 그러면 Azure AD가 인증서 인증을 사용하여 액세스를 해지합니다. 클레임을 구성하려면 다음을 수행합니다.

    • 서비스 > 클레임 설명 > 클레임 설명 추가로 이동합니다.

      클레임 설명 추가 화면의 이미지

    • Active Directory 클레임 공급자 트러스트에서 다음 두 규칙을 추가합니다. 이 두 규칙은 ADFS에 인증 시 Active Directory 사용자의 통과를 허용하도록 지시합니다.

      Serial Number of the Client Certificate - http://schemas.microsoft.com/ws/2008/06/identity/claims/<serialnumber>

      Issuer of the client certificate - http://schemas.microsoft.com/2012/12/certificatecontext/field/<issuer>

다음 그림에서는 완성된 필드의 예를 보여 줍니다.

일련 번호 속성의 이미지

발급자 속성의 이미지

Office 365의 인증서 기반 인증