본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 REST API를 통해 Duo LDAP(Lightweight Directory Access Protocol) ID 소스 개체를 구성하고 FDM(Firepower Device Manager)에서 관리되는 FTD(Firepower Threat Defense)에서 RA VPN(Remote Access VPN) 연결 프로파일에서 이 개체를 보조 인증 ID 소스로 사용하는 방법에 대해 설명합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
FTD 버전 6.5에서 REST API의 도움을 받아 보조 인증을 위해 RA VPN 프로파일에서 직접 Duo LDAP ID 소스 개체를 사용할 수 있습니다.
이 버전 이전의 2단계 인증은 Duo Proxy 및 RADIUS를 통해서만 지원되었습니다.
구성을 완료하려면 다음 섹션을 고려하십시오.
1단계. Duo 계정(https://admin.duosecurity.com)에 로그인합니다.
Applications(애플리케이션) > Protect an Application(애플리케이션 보호)으로 이동합니다.
2단계. Authentication Application(인증 애플리케이션)을 Cisco ASA SSL VPN으로 선택합니다.
통합 키, 비밀 키 및 API 호스트 이름이 사용되고 REST API를 통해 Duo LDAP 개체가 추가됩니다.
참고:Duo를 프록시 서버로 추가하는 데 사용되므로 Cisco Firepower Threat Defense를 선택하지 마십시오.
3단계. 사용자 이름을 생성하고 엔드 디바이스에서 Duo Mobile을 활성화합니다.
Duo 클라우드 관리 웹 페이지에 자신을 추가합니다. [사용자] > [사용자 추가]로 이동합니다.
참고: 최종 사용자에게 Duo 앱이 설치되어 있는지 확인하십시오.
4단계. 자동 코드 생성을 위한 전화 번호를 추가합니다.
5단계. ActivateDuo Mobile을 선택합니다.
6단계. Generate Duo Mobile Activation Code를 선택합니다.
7단계. Send Instructions by SMS(SMS로 지침 보내기)를 선택합니다.
8단계. Duo 앱에 등록하려면 SMS에서 링크를 클릭합니다.이미지에 표시된 대로 Device Info(디바이스 정보) 섹션에서 어카운트 세부 정보를 확인할 수 있습니다.
1단계. 브라우저 창에서 FTD의 API 탐색기를 시작합니다.
https://<FTD Management IP>/api-explorer로 이동합니다.
표시된 컨피그레이션의 경우 다음 URL이 사용됩니다. https://10.197.224.99/api-explorer FTD에서 사용 가능한 전체 API 목록이 포함됩니다.
FDM에서 지원하는 여러 GET/POST/PUT/DELETE 요청이 있는 기본 기능을 기반으로 분할됩니다.
참고:이 예에서는 API로 POSTMAN을 사용했습니다.
2단계. Duo용 Postman 컬렉션을 추가합니다.
컬렉션의 이름을 지정합니다.
Authorization(권한 부여) 탭을 편집하고 유형을 OAuth 2.0으로 업데이트합니다.
3단계. POST/GET 요청을 승인할 토큰을 가져오기 위해 FTD에 로그인 POST 요청을 생성하려면 새 요청 인증을 추가합니다.
POST 요청의 본문에는 다음이 포함되어야 합니다.
유형 | raw - JSON(application/json) |
grant_type | 암호 |
사용자 이름 | FTD에 로그인하기 위한 관리자 사용자 이름 |
암호 | 관리자 사용자 계정과 연결된 비밀번호 |
POST 요청:https://<FTD Management IP>/api/fdm/latest/fdm/token
응답 본문에는 FTD에서 PUT/GET/POST 요청을 보내는 데 사용되는 액세스 토큰이 포함되어 있습니다.
4단계. Get Interface 정보 요청을 생성하여 Duo에 연결할 수 있는 인터페이스 세부 정보를 가져옵니다.
Authorization(권한 부여) 탭에는 모든 후속 GET/POST 요청에 대해 다음 항목이 포함되어야 합니다.
유형 | 전달자 토큰 |
토큰 | 로그인 POST 요청을 실행하여 받은 액세스 토큰 |
응답의 본문에는 인터페이스 정보(버전, 이름, ID, 유형)가 포함됩니다.
5단계. CreateDuoLDAPIdentitySource 요청을 추가하여 Duo LDAP 개체를 만듭니다.
POST 요청의 본문에는 다음 항목이 포함되어야 합니다.
이름 | Duo LDAP 객체의 이름 |
api호스트 이름 | Duo 관리 포털에서 Duo 호스트 이름 받음 |
포트 | 636 |
시간 초과 | 60초 |
통합 키 | Duo 관리 포털에서 받은 키 |
비밀 키 | Duo 관리 포털에서 받은 키 |
참고:시간 초과는 이 문서의 목적에 대해 60초로 추가됩니다.네트워크 환경에 따라 설정을 추가하십시오.
POST 요청의 URL 및 샘플 본문은 API 탐색기에서 복사할 수 있습니다.
POST 요청:https://<FTD Management IP>/api/fdm/latest/object/duoldapidSources
Body of response(응답 본문)는 디바이스에 푸시될 준비가 된 Duo 컨피그레이션을 표시합니다.
1단계. 디바이스가 Smart Licensing에 등록되었는지 확인합니다.
2단계. 디바이스에서 AnyConnect 라이센스가 활성화되었는지 확인합니다.
3단계. 토큰에서 내보내기 제어 기능이 활성화되어 있는지 확인합니다.
SSL을 통한 LDAP가 작동하려면 Duo 웹 사이트에서 CA 인증서를 다운로드하여 FDM에 추가해야 합니다.
1단계. FDM에 로그인한 다음 [객체] > [인증서] > [신뢰할 수 있는 CA 인증서 추가]로 이동합니다.
2단계. 인증서 객체의 이름을 제공하고 https://duo.com에서 다운로드한 CA 인증서를 추가합니다.
3단계. 디바이스에 인증서를 배포합니다.
1단계. Objects(개체) > Users(사용자)로 이동하고 +를 클릭하여 새 사용자를 추가합니다(이미지에 표시됨).
2단계. 사용자 이름과 비밀번호 세부 정보를 추가하고 이미지에 표시된 대로 OK(확인)를 클릭합니다.
참고:이 문서에서는 RA VPN이 이미 구성되어 있다고 가정합니다. FDM에서 관리되는 FTD에서 RA VPN을 구성하는 방법에 대한 자세한 내용은 다음 문서를 참조하십시오.
1단계. 원격 액세스 VPN에서 Duo 개체를 보조 인증 방법으로 바인딩합니다.
Remote Access VPN(원격 액세스 VPN)으로 이동하고 이미지에 표시된 대로 관련 연결 프로파일을 수정합니다.
LocalIdentitySource를 Primary Identity Source로 선택하고 Duo를 Secondary Identity Source로 선택합니다.다음을 클릭하여 원격 액세스 VPN 마법사를 닫습니다.
참고:보조 로그인에 기본 사용자 이름 사용은 문서 용도로 고급 옵션에서 선택됩니다.기본 및 보조 인증에 다른 사용자 이름을 사용해야 하는 경우 선택을 취소할 수 있습니다.
2단계. 디바이스에 컨피그레이션을 구축합니다.
보류 중인 변경 내용에는 로컬 사용자, Duo 개체 및 보조 인증 설정이 푸시될 준비가 되었음을 나타냅니다.
이 컨피그레이션을 테스트하려면 Username(사용자 이름) 및 Password(비밀번호)에서 로컬 자격 증명을 제공하십시오.두 번째 암호 유형 푸시, 전화, 패스코드로 Duo에서 전송할 알림 종류를 결정합니다.여기에 푸시 방법이 사용됩니다.
2FA(Two Factor Authentication)에 대해 등록된 디바이스에 대해 Duo PUSH 알림을 받아야 합니다. 푸시 요청이 승인되면 anyconnect 사용자가 연결됩니다.
AnyConnect GUI >Settings(설정) > Statistics(통계)를 열고 연결을 확인합니다.
show vpn-session anyconnect 명령을 사용하여 FTD CLI에서 사용자 연결을 확인합니다.
firepower# show vpn-sessiondb anyconnect Username : tazkhan Index : 32 Assigned IP : 192.168.10.1 Public IP : 10.65.81.47 Protocol : AnyConnect-Parent SSL-Tunnel License : AnyConnect Premium Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 Bytes Tx : 149500 Bytes Rx : 112471 Group Policy : DfltGrpPolicy Tunnel Group : SSLVPN Login Time : 11:07:09 UTC Mon Oct 9 2019 Duration : 0h:27m:46s Inactivity : 0h:00m:00s VLAN Mapping : N/A VLAN : none Audt Sess ID : 00000000000200005d9b1c5d Security Grp : none Tunnel Zone : 0 firepower#
Objects(개체) > Identity Sources(ID 소스)로 이동하여 Duo 개체가 REST API에서 푸시되는지 확인합니다.
show 명령을 사용하여 aaa-server 컨피그레이션 및 보조 인증 FTD CLI를 확인하고 show run aaa-server <name> 및 show run tunnel-group
firepower# show run aaa-server Duo aaa-server Duo protocol ldap aaa-server Duo (outside) host api-f754c261.duosecurity.com timeout 60 server-port 636 ldap-base-dn dc=DI518DFVL9NBTM06CTQQ,dc=duosecurity,dc=com ldap-naming-attribute cn ldap-login-password ***** ldap-login-dn dc=DI518DFVL9NBTM06CTQQ,dc=duosecurity,dc=com ldap-over-ssl enable server-type auto-detect firepower# show run tunnel-group tunnel-group SSLVPN type remote-access
tunnel-group SSLVPN general-attributes
address-pool anyconnect-pool
secondary-authentication-server-group Duo use-primary-username
tunnel-group SSLVPN webvpn-attributes
group-alias SSLVPN enable firepower#
디버그 명령
참고: debug 명령을 사용하기 전에 디버그 명령에 대한 중요 정보를 참조하십시오.
다양한 디버그 수준을 설정할 수 있습니다.기본적으로 레벨 1이 사용됩니다.디버그 수준을 변경하면 디버그의 세부 정보가 증가할 수 있습니다.특히 프로덕션 환경에서 주의하여 수행합니다.
FTD CLI의 이러한 디버그는 Duo용 AnyConnect 연결 문제를 해결하는 데 유용합니다.
debug ldap 255 debug webvpn anyconnect 255