소개
이 문서에서는 Azure를 idP(ID 공급자)로 사용하는 FMC(Firepower 관리 센터) SSO(Single Sign-On)를 구성하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- firepower Management Center에 대한 기본 이해
- Single Sign-On에 대한 기본 이해
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.
- Cisco FMC(Firepower Management Center) 버전 6.7.0
- Azure - IdP
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
SAML 용어
SAML(Security Assertion Markup Language)은 SSO를 가능하게 하는 기본 프로토콜인 경우가 가장 많습니다. 기업은 단일 로그인 페이지를 유지 관리하며, 그 뒤에는 ID 매장 및 다양한 인증 규칙이 있습니다. SAML을 지원하는 모든 웹 앱을 쉽게 구성할 수 있어 모든 웹 애플리케이션에 로그인할 수 있습니다. 또한 사용자에게 액세스 권한이 필요한 모든 웹 앱의 비밀번호를 유지 관리(및 재사용할 수 있음)하도록 강요하지 않으며 비밀번호를 그러한 웹 앱에 노출시키지 않는다는 보안 이점이 있습니다.
SAML에 대한 구성은 IdP와 SP의 두 곳에서 수행해야 합니다. 사용자가 특정 SP에 로그인하려는 경우 IdP에서 사용자를 보낼 위치와 방법을 알려주도록 구성해야 합니다. SP는 IdP에서 서명한 SAML 어설션을 신뢰할 수 있음을 인식하도록 구성해야 합니다.
SAML의 핵심이 되는 몇 가지 용어의 정의:
-
IdP(Identity Provider) - 인증을 수행하는 소프트웨어 툴 또는 서비스(로그인 페이지 및/또는 대시보드로 시각화되는 경우가 많음)로, 사용자 이름 및 비밀번호를 확인하고 계정 상태를 확인하며 2단계 인증을 호출합니다.
-
SP(서비스 공급자) - 사용자가 액세스를 시도하는 웹 응용 프로그램입니다.
-
SAML Assertion(SAML 어설션) - 사용자의 ID를 어설션하고 종종 다른 특성을 어설션하는 메시지로, 브라우저 리디렉션을 통해 HTTP를 통해 전송됩니다
IdP 컨피그레이션
SAML assertion의 사양, 포함 내용 및 포맷 방법은 SP에서 제공하고 IdP에서 설정합니다.
- EntityID - SP의 전역 고유 이름입니다. 형식은 다양하지만 URL로 형식이 지정된 이 값을 보는 것이 점점 일반화되고 있습니다.
예: https://<FQDN-or-IPaddress>/saml/metadata
- ACS(Assertion Consumer Service) 검증기 - SAML assertion이 올바른 ACS로 전송되도록 하는 regex(regular expression) 형식의 보안 측정값입니다. 이는 SAML 요청이 ACS 위치를 포함하는 SP에서 시작된 로그인 중에만 적용됩니다. 따라서 이 ACS 검사기는 SAML 요청이 제공한 ACS 위치가 합법적인지 확인합니다.
예: https://<FQDN-or-IPaddress>/saml/acs
- Attributes(특성) - 특성의 수와 형식은 크게 달라질 수 있습니다. 일반적으로 하나 이상의 특성, nameID가 있으며, 이는 일반적으로 로그인하려는 사용자의 사용자 이름입니다.
- SAML 서명 알고리즘 - SHA-1 또는 SHA-256. 덜 일반적으로 SHA-384 또는 SHA-512입니다. 이 알고리즘은 X.509 인증서와 함께 사용됩니다.
SP 구성
위 섹션의 반대편인 이 섹션에서는 IdP가 제공하고 SP에 설정된 정보에 대해 설명합니다.
- 발급자 URL - IdP의 고유 식별자입니다. SP가 수신하는 SAML 어설션이 올바른 IdP에서 발급되었는지 확인할 수 있도록 IdP에 대한 정보가 포함된 URL로 포맷됩니다.
FMC의 SAML
FMC의 SSO 기능은 6.7에서 도입되었습니다. 새로운 기능은 FMC 역할에 존재하는 정보를 매핑하므로 RBAC(FMC Authorization)를 간소화합니다. 모든 FMC UI 사용자 및 FMC 역할에 적용됩니다. 현재로서는 SAML 2.0 사양을 지원하며, 이러한 지원되는 IDP를 지원합니다
제한 사항 및 주의 사항
-
SSO는 글로벌 도메인에 대해서만 구성할 수 있습니다.
-
HA 쌍의 FMC는 개별 컨피그레이션이 필요합니다.
-
로컬/AD 관리자만 Single Sign-on을 구성할 수 있습니다.
- IDP에서 시작된 SSO는 지원되지 않습니다.
구성
ID 공급자의 컨피그레이션
1단계. Microsoft Azure에 로그인합니다. Azure Active Directory > Enterprise Application으로 이동합니다.
- 2단계. 이 이미지에 표시된 대로 Non-Gallery Application(비갤러리 애플리케이션) 아래에 새 애플리케이션을 생성합니다.
3단계. 생성된 애플리케이션을 편집하고 이 이미지에 표시된 것처럼 Set up single sign on(단일 사인온 설정) > SAML(SAML)으로 이동합니다.
4단계. Basic SAML Configuration(기본 SAML 컨피그레이션)을 수정하고 FMC Details(FMC 세부사항)를 제공합니다.
- FMC URL: https://<FMC-FQDN-or-IPaddress>
- 식별자(엔터티 ID): https://<FMC-FQDN-or-IPaddress>/saml/metadata
- 회신 URL: https://<FMC-FQDN-or-IPaddress>/saml/acs
- 로그온 URL: https://<FMC-QDN-or-IPaddress>/saml/acs
- 릴레이 상태:/ui/로그인
나머지는 기본값으로 유지 - 이 내용은 역할 기반 액세스에 대해 자세히 설명합니다.
ID 공급자 컨피그레이션의 끝을 표시합니다. FMC 컨피그레이션에 사용되는 페더레이션 메타데이터 XML을 다운로드합니다.
firepower Management Center 구성
1단계. FMC에 로그인하고 Settings(설정) > Users(사용자) > Single Sign-On and Enable SSO(SSO 활성화)로 이동합니다. 공급자로 Azure를 선택합니다.
2단계. Azure에서 다운로드한 XML 파일을 여기에 업로드합니다. 필요한 모든 세부 정보가 자동으로 입력됩니다.
3단계. 이 이미지에 표시된 대로 컨피그레이션을 확인하고 Save(저장)를 클릭합니다.
고급 구성 - Azure를 사용한 RBAC
다양한 역할 유형을 사용하여 FMC의 역할에 매핑하려면 Azure에서 응용 프로그램의 매니페스트를 편집하여 역할에 값을 할당해야 합니다. 기본적으로 역할의 값은 Null입니다.
1단계. 생성된 애플리케이션으로 이동하여 Single sign-on을 클릭합니다.
2단계. 사용자 특성 및 클레임을 편집합니다. Name: roles(이름: 역할)로 새 클레임을 추가하고 값을 user.assignedroles로 선택합니다.
3단계. <Application-Name> > Manifest로 이동합니다. 매니페스트를 편집합니다. 파일은 JSON 형식이며 기본 사용자가 복사할 수 있습니다. 예를 들어, 여기에서는 User와 Analyst라는 두 가지 역할이 생성됩니다.
4단계. <Application-Name> > Users and Groups로 이동합니다. 이 이미지에 표시된 대로 사용자를 편집하고 새로 생성된 역할을 할당합니다.
4단계. FMC에 로그인하고 SSO에서 고급 컨피그레이션을 수정합니다. 예를 들어, 그룹 멤버 특성: 응용 프로그램 매니페스트에서 제공한 표시 이름을 역할에 할당합니다.
그런 다음 지정된 역할에 로그인할 수 있습니다.
다음을 확인합니다.
1단계. 브라우저에서 FMC URL https://<FMC URL>로 이동합니다. 이 이미지에 표시된 대로 Single Sign-On을 클릭합니다.
그런 다음 Microsoft 로그인 페이지로 리디렉션되고 로그인에 성공하면 FMC 기본 페이지가 반환됩니다.
2단계. FMC에서 System(시스템) > Users(사용자)로 이동하여 데이터베이스에 추가된 SSO 사용자를 확인합니다.
문제 해결
SAML 인증을 확인하고 이는 성공적인 권한 부여를 위해 달성한 워크플로입니다(이 이미지는 랩 환경).
브라우저 SAML 로그
FMC SAML 로그
FMC에서 SAML 로그를 확인합니다. /var/log/auth-daemon.log