목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

네트워크 다이어그램

설정

FDM의 구성

1단계. FTD 인터페이스 구성

2단계. Cisco Secure Client 라이센스 확인

3단계. 주소 풀 추가

4단계. 보안 클라이언트 프로파일 생성

5단계. FDM에 보안 클라이언트 프로파일 업로드

6단계. 그룹 정책 추가

7단계. FTD 인증서 추가

8단계. FTD에 CA 추가

9단계. 원격 액세스 VPN 연결 프로파일 추가

10단계. 연결 프로파일에 대한 요약 확인

FTD CLI에서 확인

VPN 클라이언트에서 확인

1단계. VPN 클라이언트에 보안 클라이언트 프로파일 복사

2단계. 클라이언트 인증서 확인

3단계. CA 확인

다음을 확인합니다.

1단계. VPN 연결 시작

2단계. FTD CLI에서 VPN 세션 확인

문제 해결

관련 정보

소개

이 문서에서는 인증에 인증서 일치를 사용하여 FDM을 통해 FTD에서 SSL을 사용하여 Cisco Secure Client를 설정하는 방법에 대해 설명합니다.

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- Cisco FDM(Firepower 장치 관리자) 가상

- FTD(Firewall Threat Defense) 가상

- VPN 인증 흐름

사용되는 구성 요소

- Cisco Firepower Device Manager Virtual 7.2.8

- Cisco Firewall Threat Defense Virtual 7.2.8

- Cisco Secure Client 5.1.4.74

- 프로파일 편집기(Windows) 5.1.4.74

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.

배경 정보

CertificateMatch는 관리자가 클라이언트가 VPN 서버와의 인증을 위해 클라이언트 인증서를 선택하는 데 사용해야 하는 기준을 구성할 수 있는 기능입니다. 이 컨피그레이션은 프로파일 편집기를 사용하여 관리하거나 수동으로 편집할 수 있는 XML 파일인 클라이언트 프로파일에 지정됩니다. CertificateMatch 기능은 특정 특성의 인증서만 VPN 연결에 사용하도록 하여 VPN 연결의 보안을 강화하는 데 사용할 수 있습니다.

이 문서에서는 SSL 인증서의 일반 이름을 사용하여 Cisco Secure Client를 인증하는 방법에 대해 설명합니다.

이러한 인증서는 권한 부여 목적으로 사용되는 공통 이름을 포함합니다.

- CA: ftd-ra-ca-common-name

- Engineer VPN Client Certificate(엔지니어 VPN 클라이언트 인증서): vpnEngineerClientCN

- 관리자 VPN 클라이언트 인증서: vpnManagerClientCN

- 서버 인증서: 192.168.1.200

네트워크 다이어그램

이 그림에서는 이 문서의 예에 사용된 토폴로지를 보여줍니다.

네트워크 다이어그램

설정

FDM의 구성

1단계. FTD 인터페이스 구성

Device(디바이스) > Interfaces(인터페이스) > View All Interfaces(모든 인터페이스 보기)로 이동하고 Interfaces(인터페이스) 탭에서 FTD에 대한 내부 및 외부 인터페이스를 구성합니다.

GigabitEthernet0/0,

- 이름: outside

- IP 주소: 192.168.1.200/24

FTD 인터페이스

2단계. Cisco Secure Client 라이센스 확인

Device(디바이스) > Smart License(스마트 라이센스) > View Configuration(컨피그레이션 보기)으로 이동하여 RA VPN License(RA VPN 라이센스) 항목에서 Cisco Secure Client 라이센스를 확인합니다.

Secure Client 라이센스

3단계. 주소 풀 추가

Objects(개체) > Networks(네트워크)로 이동하고 +button을 클릭합니다.

주소 풀 추가

새 IPv4 주소 풀을 추가하는 데 필요한 정보를 입력합니다. 확인 단추를 누릅니다.

- 이름: ftd-cert-match-pool

- 유형: 범위

- IP 범위: 172.16.1.150-172.16.1.160

IPv4 주소 풀 세부 정보

4단계. 보안 클라이언트 프로파일 생성

Cisco Software 사이트에서 Secure Client Profile Editor를 다운로드하여 설치합니다. Server List(서버 목록)로 이동하고 Add(추가) 버튼을 클릭합니다. 서버 목록 항목을 추가하는 데 필요한 정보를 입력하고 OK(확인) 버튼을 클릭합니다.

- 표시 이름: cert-match

- FQDN 또는 IP 주소: 192.168.1.200

- 기본 프로토콜: SSL

서버 목록 항목

Certificate Matching(인증서 일치)으로 이동하고 Add(추가) 버튼을 클릭합니다. Distinguished Name Entry를 추가하는 데 필요한 정보를 입력하고 OK(확인) 버튼을 클릭합니다.

- 이름: CN

- 패턴: vpnEngineerClientCN

- 연산자: 같음

참고: 이 문서에서 MatchCase 옵션을 선택합니다.

고유 이름 항목

보안 클라이언트 프로파일을 로컬 컴퓨터에 저장하고 프로파일 세부사항을 확인합니다.

보안 클라이언트 프로파일

5단계. FDM에 보안 클라이언트 프로파일 업로드

Objects(개체) > Secure Client Profile(보안 클라이언트 프로파일)로 이동하고 CREATE SECURE CLIENT PROFILE(보안 클라이언트 프로파일 생성) 버튼을 클릭합니다.

보안 클라이언트 프로파일 생성

보안 클라이언트 프로파일을 추가하는 데 필요한 정보를 입력하고 OK(확인) 버튼을 클릭합니다.

- 이름: secureClientProfile

- 보안 클라이언트 프로파일: secureClientProfile.xml(로컬 컴퓨터에서 업로드)

보안 클라이언트 프로파일 추가

6단계. 그룹 정책 추가

Device(디바이스) > Remote Access VPN(원격 액세스 VPN) > View Configuration(컨피그레이션 보기) > Group Policies(그룹 정책)로 이동하고 + 버튼을 클릭합니다.

그룹 정책 추가

그룹 정책을 추가하는 데 필요한 정보를 입력하고 OK(확인) 버튼을 클릭합니다.

- 이름: ftd-cert-match-grp

- 보안 클라이언트 프로파일: secureClientProfile

그룹 정책 세부 정보

7단계. FTD 인증서 추가

Objects(개체) > Certificates(인증서)로 이동하고 Add Internal Certificate from +item(항목에서 내부 인증서 추가)을 클릭합니다.

내부 인증서 추가

Upload Certificate and Key(인증서 및 키 업로드)를 클릭합니다.

인증서 및 키 업로드

FTD 인증서에 필요한 정보를 입력하고 로컬 컴퓨터에서 인증서와 인증서 키를 가져온 다음 OK(확인) 버튼을 클릭합니다.

- 이름: ftd-vpn-cert

- 특수 서비스의 유효성 검사 사용: SSL 서버

내부 인증서 세부 정보

8단계. FTD에 CA 추가

Objects(개체) > Certificates(인증서)로 이동하여 Add Trusted CA Certificate from +item(항목에서 신뢰할 수 있는 CA 인증서 추가)을 클릭합니다.

신뢰할 수 있는 CA 인증서 추가

CA에 필요한 정보를 입력하고 로컬 컴퓨터에서 인증서를 가져옵니다.

- 이름: ftdvpn-ca-cert

- 특별 서비스에 대한 유효성 검사 사용: SSL 클라이언트

신뢰할 수 있는 CA 인증서의 세부 정보

9단계. 원격 액세스 VPN 연결 프로파일 추가

Device(디바이스) > Remote Access VPN(원격 액세스 VPN) > View Configuration(컨피그레이션 보기) > Connection Profiles(연결 프로파일)로 이동하고 CREATE CONNECTION PROFILE(연결 프로파일 생성) 버튼을 클릭합니다.

원격 액세스 VPN 연결 프로파일 추가

연결 프로파일에 필요한 정보를 입력하고 Next(다음) 버튼을 클릭합니다.

- 연결 프로파일 이름: ftd-cert-match-vpn

- 인증 유형: 클라이언트 인증서 전용

- Username From Certificate(인증서의 사용자 이름): Map specific(맵) 필드

- 기본 필드: CN(Common Name)

- 보조 필드: OU(조직 단위)

- IPv4 주소 풀: ftd-cert-match-pool

VPN 연결 프로파일 세부사항

그룹 정책에 필요한 정보를 입력하고 Next(다음) 버튼을 클릭합니다.

- 그룹 정책 보기: ftd-cert-match-grp

그룹 정책 선택

Certificate of Device Identity(디바이스 ID 인증서), Outside Interface(외부 인터페이스), Secure Client Package for VPN Connection(VPN 연결용 보안 클라이언트 패키지)을 선택합니다.

- Certificate of Device Identity(디바이스 ID 인증서): ftd-vpn-cert

- 외부 인터페이스: 외부(GigabitEthernet0/0)

- 보안 클라이언트 패키지: cisco-secure-client-win-5.1.4.74-webdeploy-k9.pkg

참고: 이 문서에서 NAT 제외 기능을 비활성화했습니다.

전역 설정 세부 정보

10단계. 연결 프로파일에 대한 요약 확인

VPN 연결을 위해 입력한 정보를 확인하고 FINISH(마침) 버튼을 클릭합니다.

연결 프로파일에 대한 요약 확인

FTD CLI에서 확인

FDM에서 구축한 후 FTD CLI에서 VPN 연결 설정을 확인합니다.

// Defines IP of interface

interface GigabitEthernet0/0

speed auto

nameif outside

cts manual

propagate sgt preserve-untag

policy static sgt disabled trusted

security-level 0

ip address 192.168.1.200 255.255.255.0

// Defines a pool of addresses

ip local pool ftd-cert-match-pool 172.16.1.150-172.16.1.160

// Defines Trustpoint for Server Certificate

crypto ca trustpoint ftd-vpn-cert

enrollment terminal

keypair ftd-vpn-cert

crl configure

// Server Certificate

crypto ca certificate chain ftdvpn-ca-cert

certificate ca 5242a02e0db6f7fd

3082036c 30820254 a0030201 02020852 42a02e0d b6f7fd30 0d06092a 864886f7

......

quit

// Defines Trustpoint for CA

crypto ca trustpoint ftdvpn-ca-cert

enrollment terminal

validation-usage ssl-client

crl configure

// CA

crypto ca certificate chain ftdvpn-ca-cert

certificate ca 5242a02e0db6f7fd

3082036c 30820254 a0030201 02020852 42a02e0d b6f7fd30 0d06092a 864886f7

......

quit

// Configures the FTD to allow Cisco Secure Client connections and the valid Cisco Secure Client images

webvpn

enable outside

http-headers

hsts-server

enable

max-age 31536000

include-sub-domains

no preload

hsts-client

enable

x-content-type-options

x-xss-protection

content-security-policy

anyconnect image disk0:/anyconnpkgs/cisco-secure-client-win-5.1.4.74-webdeploy-k9.pkg 2

anyconnect profiles secureClientProfile disk0:/anyconncprofs/secureClientProfile.xml

anyconnect enable

tunnel-group-list enable

cache

disable

error-recovery disable

// Configures the group-policy to allow SSL connections

group-policy ftd-cert-match-grp internal

group-policy ftd-cert-match-grp attributes

dhcp-network-scope none

vpn-simultaneous-logins 3

vpn-idle-timeout 30

vpn-idle-timeout alert-interval 1

vpn-session-timeout none

vpn-session-timeout alert-interval 1

vpn-filter none

vpn-tunnel-protocol ssl-client

split-tunnel-policy tunnelall

ipv6-split-tunnel-policy tunnelall

split-dns none

split-tunnel-all-dns disable

client-bypass-protocol disable

msie-proxy method no-modify

vlan none

address-pools none

ipv6-address-pools none

webvpn

anyconnect ssl dtls none

anyconnect mtu 1406

anyconnect ssl keepalive none

anyconnect ssl rekey time none

anyconnect ssl rekey method none

anyconnect dpd-interval client none

anyconnect dpd-interval gateway none

anyconnect ssl compression none

anyconnect dtls compression none

anyconnect modules none

anyconnect profiles value secureClientProfile type user

anyconnect ssl df-bit-ignore disable

always-on-vpn profile-setting

// Configures the tunnel-group to use the certificate authentication

tunnel-group ftd-cert-match-vpn type remote-access

tunnel-group ftd-cert-match-vpn general-attributes

address-pool ftd-cert-match-pool

default-group-policy ftd-cert-match-grp

tunnel-group ftd-cert-match-vpn webvpn-attributes

authentication certificate

group-alias ftd-cert-match-vpn enable

VPN 클라이언트에서 확인

1단계. VPN 클라이언트에 보안 클라이언트 프로파일 복사

VPN 클라이언트 및 관리자 VPN 클라이언트를 엔지니어링하기 위해 보안 클라이언트 프로파일을 복사합니다.

참고: Windows 컴퓨터의 보안 클라이언트 프로파일 디렉터리: C:\ProgramData\Cisco\Cisco Secure Client\VPN\Profile

VPN 클라이언트에 보안 클라이언트 프로파일 복사

2단계. 클라이언트 인증서 확인

Engineer VPN 클라이언트에서 Certificates(인증서) - Current User(현재 사용자) > Personal(개인) > Certificates(인증서)로 이동하여 인증에 사용된 클라이언트 인증서를 확인합니다.

엔지니어 VPN 클라이언트의 인증서 확인

클라이언트 인증서를 두 번 클릭하고 Details(세부사항)로 이동하여 Subject(주체)의 세부사항을 확인합니다.

- 제목: CN = vpnEngineerClientCN

엔지니어 클라이언트 인증서 세부사항

관리자 VPN 클라이언트에서 Certificates - Current User > Personal > Certificates로 이동하여 인증에 사용된 클라이언트 인증서를 확인합니다.

관리자 VPN 클라이언트에 대한 인증서 확인

클라이언트 인증서를 두 번 클릭하고 Details(세부사항)로 이동하여 Subject(주체)의 세부사항을 확인합니다.

- 제목: CN = vpnManagerClientCN

관리자 클라이언트 인증서 세부 정보

3단계. CA 확인

Engineer VPN client(엔지니어 VPN 클라이언트) 및 manager VPN client(관리자 VPN 클라이언트)에서 Certificates(인증서) - Current User(현재 사용자) > Trusted Root Certification Authorities(신뢰할 수 있는 루트 인증 기관) > Certificates(인증서)로 이동하여 인증에 사용된 CA를 확인합니다.

- 발급자: ftd-ra-ca-common-name

CA 확인

다음을 확인합니다.

1단계. VPN 연결 시작

엔지니어 VPN 클라이언트에서 Cisco Secure Client 연결을 시작합니다. 사용자 이름과 비밀번호를 입력할 필요가 없습니다. VPN이 성공적으로 연결되었습니다.

엔지니어 VPN 클라이언트에 대한 VPN 연결 성공

관리자 VPN 클라이언트에서 Cisco Secure Client 연결을 시작합니다. 인증서 유효성 검사 실패로 인해 연결된 VPN이 실패했습니다.

관리자 VPN 클라이언트에 대한 VPN 연결 실패

2단계. FTD CLI에서 VPN 세션 확인

FTD(Lina) CLI에서 명령을 실행하여 엔지니어의 VPN 세션을 확인합니다show vpn-sessiondb detail anyconnect.

firepower# show vpn-sessiondb detail anyconnect

Session Type: AnyConnect Detailed

Username : vpnEngineerClientCN Index : 32

Assigned IP : 172.16.1.150 Public IP : 192.168.1.11

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 : 14718 Bytes Rx : 12919

Pkts Tx : 2 Pkts Rx : 51

Pkts Tx Drop : 0 Pkts Rx Drop : 0

Group Policy : ftd-cert-match-grp Tunnel Group : ftd-cert-match-vpn

Login Time : 05:42:03 UTC Tue Jul 2 2024

Duration : 0h:00m:11s

Inactivity : 0h:00m:00s

VLAN Mapping : N/A VLAN : none

Audt Sess ID : 00000000000200006683932b

Security Grp : none Tunnel Zone : 0

AnyConnect-Parent Tunnels: 1

SSL-Tunnel Tunnels: 1

AnyConnect-Parent:

Tunnel ID : 32.1

Public IP : 192.168.1.11

Encryption : none Hashing : none

TCP Src Port : 50170 TCP Dst Port : 443

Auth Mode : Certificate

Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes

Client OS : win

Client OS Ver: 10.0.17763

Client Type : AnyConnect

Client Ver : Cisco AnyConnect VPN Agent for Windows 5.1.4.74

Bytes Tx : 7359 Bytes Rx : 0

Pkts Tx : 1 Pkts Rx : 0

Pkts Tx Drop : 0 Pkts Rx Drop : 0

SSL-Tunnel:

Tunnel ID : 32.2

Assigned IP : 172.16.1.150 Public IP : 192.168.1.11

Encryption : AES-GCM-256 Hashing : SHA384

Ciphersuite : ECDHE-RSA-AES256-GCM-SHA384

Encapsulation: TLSv1.2 TCP Src Port : 50177

TCP Dst Port : 443 Auth Mode : Certificate

Idle Time Out: 30 Minutes Idle TO Left : 30 Minutes

Client OS : Windows

Client Type : SSL VPN Client

Client Ver : Cisco AnyConnect VPN Agent for Windows 5.1.4.74

Bytes Tx : 7359 Bytes Rx : 12919

Pkts Tx : 1 Pkts Rx : 51

Pkts Tx Drop : 0 Pkts Rx Drop : 0

문제 해결

Lina 엔진의 디버그 syslog 및 Windows 컴퓨터의 DART 파일에서 VPN 인증에 대한 정보를 찾을 수 있습니다.

다음은 엔지니어 클라이언트에서 VPN에 연결하는 동안 Lina 엔진에 있는 디버그 로그의 예입니다.

Jul 02 2024 04:16:03: %FTD-7-717029: Identified client certificate within certificate chain. serial number: 7AF1C78ADCC8F941, subject name: CN=vpnEngineerClientCN,OU=vpnEngineerClientOU,O=Cisco,L=Tokyo,ST=Tokyo,C=JP.

Jul 02 2024 04:16:03: %FTD-6-717022: Certificate was successfully validated. serial number: 7AF1C78ADCC8F941, subject name: CN=vpnEngineerClientCN,OU=vpnEngineerClientOU,O=Cisco,L=Tokyo,ST=Tokyo,C=JP.

Jul 02 2024 04:16:04: %FTD-6-113009: AAA retrieved default group policy (ftd-cert-match-grp) for user = vpnEngineerClientCN

Jul 02 2024 04:16:09: %FTD-6-725002: Device completed SSL handshake with client outside:192.168.1.11/50158 to 192.168.1.200/443 for TLSv1.2 session

관련 정보

firepower 2100에 대한 FDM On-Box Management Service 구성

FDM에서 관리하는 FTD에 원격 액세스 VPN 구성

firepower 장치 관리자에서 Syslog 구성 및 확인