소개
이 문서에서는 SAML(Security Assertion Markup Language) 인증을 위해 Duo를 SMA(Security Management Appliance) 및 Azure와 통합하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- 활성 Azure 계정: Duo(무료 라이선스)와의 통합을 설정하려면 Azure 구독이 있어야 하며 Azure AD 콘솔에 액세스할 수 있어야 합니다.
- SAML 지원 서비스 공급자(SP): SAML 인증을 지원하고 Azure AD에서 ID 공급자로 작동하도록 구성된 응용 프로그램 또는 시스템이 있어야 합니다.
- 구성 정보: SP 및 Duo에 대한 특정 구성 정보(예: SAML 엔티티 ID, SAML 응답 URL, SAML 보안 키)가 있어야 합니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
Duo는 SAML 인증에 보안 계층을 추가하는 2단계 인증 서비스 공급자입니다.
일반적인 시나리오에서 Azure는 IdP(Identity Provider) 역할을 하고 외부 서비스(예: 웹 응용 프로그램 또는 정보 시스템)는 보안 SMA 역할을 합니다.
Duo 및 Azure를 사용한 SAML 인증의 흐름은 다음과 같습니다.
- 사용자가 보안 SMA에 액세스하려고 시도하고 Azure로 리디렉션되어 로그인합니다.
- Azure는 사용자 인증을 요청하고 Duo를 사용하여 두 번째 인증 요소(Call, SMS, Hardware Token, WebAuth)를 통해 사용자 ID를 확인합니다.
- 인증되면 Azure는 SMA에 권한 부여 정보 및 사용자에 대한 어설션을 포함하는 SAML 응답을 보냅니다.
- SMA는 SAML 응답을 검증하고 유효한 경우 사용자가 보호된 리소스에 액세스할 수 있도록 허용합니다.
- 요약하면, SAML with Duo and Azure는 서로 다른 시스템 및 플랫폼에서 안전하고 중앙 집중화된 사용자 인증을 지원하며, 비밀번호 인증과 2단계 인증을 조합하여 보안을 강화합니다.
중요한 관찰
- SAML은 여러 시스템 및 플랫폼에서 사용자 인증 및 권한 부여를 지원하는 보안 표준입니다.
- IdP는 인증을 허용하기 위해 사용자의 모든 정보를 저장하는 ID입니다(즉, Duo는 인증 요청을 확인하고 승인할 수 있는 모든 사용자 정보를 보유함).
- SP 간단히 말해, 애플리케이션입니다.
참고: 이 작업은 Azure를 SAML 인증 소스로만 사용합니다.
구성
1. Single Sign-on 구성
관리 포털에서 다음 위치로 이동합니다. Single Sign-on > Duo Central > Add source
.
그리고 Add SAML Identity Provider
그림과 같이.
여기서는 SMA와 통합하기 위해 Duo와 Azure를 통합하는 데 필요한 모든 정보를 찾습니다.
다른 Windows에서 정보를 유지 관리하여 통합에 사용할 수 있도록 하려면 Azure에서 매개 변수를 구성합니다.
이제 SAML Azure 통합(Duo Admin Portal) 부분에 어떤 정보가 있는지 확인한 후 Azure 포털 https://portal.azure.com/에 로그인해야 합니다.
검색 대상 Azure Active Directory
그림과 같이 상단의 검색 막대에 표시됩니다.
탐색 Enterprise Applications
그림에 표시된 것과 같습니다.
선택 New Application
그림에 표시된 것과 같습니다.
선택 Create your own application
, 앱의 이름을 선택하고 Integrate any other application you don't find in the gallery (Non-Gallery)
을 클릭하고 Create
.
이제 사용자를 추가합니다. (여기에 추가된 사용자만 SSO(Single Sign-On) 로그인 시 사용할 수 있습니다.)
선택 Assign Users and Groups
그림에 표시된 것과 같습니다.
선택 Add user/group
그림에 표시된 것과 같습니다.
참고: AD 라이센스가 있는 경우에만 그룹을 추가할 수 있으며, 그렇지 않은 경우에는 사용자를 사용할 수 있습니다.
사용자 또는 그룹을 추가한 후 SSO 컨피그레이션으로 시작합니다.
- 선택
Set Up Single Sign-on
- 선택
SAML
그런 다음 Duo 관리 포털에서 SAML Azure 통합 데이터로 Azure에서 Duo SAML 기반 로그인을 구성해야 합니다.
선택 Edit
의 밑에 Basic SAML Configuration
그림에 표시된 것과 같습니다.
Duo of Entity ID 및 Assertion Consumer Service URL에서 Azure로 데이터를 복사한 후Identifier (Entity ID)
및 Reply URL (Assertion Consumer Service URL)
,
다 됐습니다.
이제 다음을 선택합니다 Edit
대상: Attributes & Claims
.
Delete the previous configuration
다음 컨피그레이션을 Attributes & Claims
.
그리고 당신은 이와 같은 어떤 것을 가지고 있습니다.
컨피그레이션을 완료하려면 SAML Certificates(SAML 인증서) 아래에서 인증서를 다운로드하고 SAML 컨피그레이션의 Duo Admin Portal(듀오 관리 포털)에 업로드해야 합니다.
클릭 Choose File
이전 이미지에 표시된 대로 다운로드할 인증서를 선택합니다. (관리자 패널의 Duo 앱 아래에 있습니다.)
이제 Duo와 Azure 간의 SAML 컨피그레이션을 종료했습니다.
경고: Azure의 테스트가 작동하지 않으며 실패합니다(시도하지 마십시오).
2. Azure in Duo에서 사용자를 동기화하도록 AD 동기화 구성(선택 사항)
이 단계는 선택 사항이지만 Azure에서 Duo로 그룹을 동기화하는 데 도움이 됩니다. 원하지 않으면 이 단계를 건너뛸 수 있습니다.
탐색Users > Directory Sync > Add New Sync > Azure AD
그림에 표시된 것과 같습니다.
그런 다음 New Azure AD Sync
. 선택 Add New Connection
을 클릭하고 Continue
.
계약 및 권한을 수락하려면 Azure에서 인증해야 합니다.
다음을 선택합니다.Groups
통합할 수 있습니다.
그 전에 등록 이메일을 보낼 수 있도록 확인란을 선택할 수도 있고, 사용자가 앱에 로그인하고 Duo에 등록하라는 메시지가 표시될 때까지 기다릴 수도 있습니다.
선택 Save
.
참고: 등록 및 사용자에 대해 자세히 알아보려면 다음 링크인 https://duo.com/docs/enrolling-users으로 이동하십시오.
3. SMA용 Duo Single Sign-on 앱 구성
일반 SAML 서비스 공급자에 대한 단일 로그인을 참조하십시오. | Duo 보안.
SMA를 통합하기 위해 Duo에서 APP을 생성합니다.
Navigate to Applications > Protect an Application
- 검색 대상
Generic SAML Service Provider
.
- 선택
Protect
.
이 부분에서는 SP와 IdP를 공유하는 서비스 공급자 및 SAML 응답에 대한 일부 변수를 구성합니다.
사용자가 SAML에서 올바른 매개변수를 인증하고 전송하도록 IdP에 대해 가장 중요한 부분을 구성합니다.
- 엔티티 ID: 서비스 공급자 엔티티 ID는 서비스 공급자를 고유하게 식별하는 데 사용됩니다. 서비스 공급자 엔티티 ID의 형식은 일반적으로 URI입니다.
- Assertion Consumer(어설션 소비자): SAML 어설션을 수신하고 처리하는 통신 사업자 엔드포인트입니다. 응용 프로그램의 SAML Assertion ACS(소비자 서비스) URL입니다.
- 서비스 공급자 로그인 URL: HTTP POST를 통해 SAML 어설션이 전송되는 위치입니다. 이를 애플리케이션의 SAML Assertion ACS(Consumer Service) URL이라고도 합니다.
- 이름 ID 형식: 어설션 제목 문에 대한 SAML 처리 규칙 및 제약 조건을 식별합니다. 응용 프로그램에서 명시적으로 특정 형식을 요구하지 않는 경우 'Unspecified'의 기본값을 사용합니다.
Sign response
및 Sign assertion
SMA와 Duo에 모두 표시되어야 합니다.
- 속성 이름: 속성 이름은 ID 공급자에 대해 구성된 속성에 따라 달라집니다. 어플라이언스는 Group Mapping(그룹 매핑) 필드에서 Attribute Name(특성 이름)의 일치 항목을 검색합니다(선택 사항). 이를 구성하지 않으면 어플라이언스는 Group Mapping(그룹 매핑) 필드에서 모든 특성의 일치 항목을 검색합니다.
- Service Provider Role(서비스 공급자 역할): 원하는 것은 무엇이든 쓰십시오.
group name in the directory
살펴보겠습니다.
- Duo Groups(듀오 그룹): SMA와 Duo 간의 인증 단계에서 사용하도록 통합된 그룹입니다. (인증에 사용할 그룹은 SMA가 아닌 Duo에 있습니다.)
4. SAML을 사용하도록 SMA 구성
탐색 System Administration > SAML
그림에 표시된 것과 같습니다.
선택 Add Service Provider
.
참고: 이 매개변수는 SMA와 Duo에서 동일해야 합니다.
- 엔티티 ID: 서비스 공급자 엔티티 ID는 서비스 공급자를 고유하게 식별하는 데 사용됩니다. 통신 사업자 엔티티 ID의 형식은 일반적으로 URL입니다.
- Assertion Consumer URL(어설션 소비자 URL): Assertion Consumer URL은 인증 성공 후 ID 공급자가 SAML 어설션을 보내야 하는 URL입니다. SMA의 웹 인터페이스에 액세스하는 데 사용하는 URL은 Assertion Consumer URL과 동일해야 합니다. Duo에서 SMA 설정을 구성하는 동안 이 값이 필요합니다.
- SP 인증서: 어설션 소비자 URL을 구성한 호스트 이름에 대한 인증서입니다.
당신이 그것을 사용하는 것이 가장 좋을 것입니다 openssl
Windows나 Linux에서 실행됩니다. 자체 서명 인증서를 구성하려는 경우 다음 단계별로 이를 수행하거나 인증서를 사용할 수 있습니다.
1. 개인 키를 만듭니다. 이는 암호화 또는 암호 해독을 활성화하는 데 도움이 됩니다.
openssl genrsa -out domain.key 2048
2. CSR(Certificate Signing Request)을 생성합니다.
openssl req -key domain.key -new -out domain.csr
3. 자체 서명 인증서를 만듭니다.
openssl x509 -signkey domain.key -in domain.csr -req -days 365 -out domain.crt
며칠을 더 원할 경우 다음 날짜 이후에 값을 변경할 수 있습니다 -days
.
참고: 모범 사례에 따르면 인증서에 5년을 초과해서는 안 됩니다.
그런 다음 인증서 및 키 업로드 옵션에서 SMA에 업로드할 인증서 및 키가 있습니다.
참고: 인증서를 PKCS #12 형식으로 업로드하려는 경우 3단계 이후에 생성할 수 있습니다.
선택 사항
openssl pkcs12 -inkey domain.key -in domain.crt -export -out domain.pfx
조직 세부사항의 경우 원하는 대로 입력하고 제출을 선택할 수 있습니다
탐색System Administration > SAML > Add Identity Provider
그림에 표시된 것과 같습니다.
이 단계에서는 두 가지 옵션이 있습니다. 수동으로 또는 XML 파일을 통해 해당 정보를 업로드할 수 있습니다.
Duo에서 응용 프로그램으로 이동하여 IdP 메타데이터 파일을 다운로드합니다.
파일을 다운로드한 후에는 SMA의 IdP Metadata(IdP 메타데이터) 옵션에서 업로드하면 됩니다.
SMA에서 마지막 단계를 보려면 System Administration > Users > External Authentication > SAML
. Duo 구성과 동일하게 보이도록 다음 매개변수를 구성합니다.
Attribute Name = Attribute Name for Match the Group Map Service Provider Role = Group Mapping
그런 다음 변경 사항을 커밋하고 구축이 예상대로 작동하는지 확인할 수 있습니다.
다음을 확인합니다.
설정이 올바르게 작동하는지 확인하려면 이 섹션을 활용하십시오.
컨피그레이션을 테스트하려면 Use Single Sign on
그림에 표시된 것과 같습니다.
이미지에 표시된 대로 Microsoft Log in(Microsoft 로그인)에 로그인하라는 메시지가 표시됩니다.
그 후 사용자가 등록한 경우 Duo에서 사용자 이름 및 비밀번호를 구성하여 인증하라는 프롬프트가 표시되어야 하며, 그 후에는 인증 방법을 선택해야 합니다.
사용자가 등록되지 않았고 등록되지 않은 사용자를 등록하도록 정책이 구성된 경우, 다음 예와 같이 등록 프로세스 및 인증 방법으로 이동합니다.
모든 것이 구성되고 수정된 경우 성공적으로 로그인했습니다.
문제 해결
현재 이 설정에 사용할 수 있는 특정 문제 해결 정보가 없습니다.