2024-07-18 08:55 AM
本ドキュメントは、FDMによって管理されるFTDにおける、Cisco Secure Client(旧Anyconnect)のユーザー認証と証明書認証を組み合わせる設定例と動作確認方法について紹介します。本ドキュメントは、Firepower Device Manager Virtual 7.2.8、Firewall Threat Defense Virtual 7.2.8、Cisco Secure Client 5.1.4.74にて確認、作成をしております。
Firepower Device Manager(FDM)は、Cisco Firepower Threat Defense(FTD)デバイスを管理するための簡素化されたWebベースの管理インターフェースです。Firepower Device Managerを使用することで、ネットワーク管理者はより複雑なFirepower Management Center(FMC)を使用することなく、FTDアプライアンスを設定し、管理することができます。FDMは直感的なユーザーインターフェースを提供し、ネットワークインターフェース、セキュリティゾーン、アクセス制御ポリシー、VPNの設定などの基本操作や、デバイスのパフォーマンスとセキュリティイベントの監視にも利用されます。これは簡易な管理が望まれる中小規模のデプロイメントに適しています。FDMとFMC管理時の比較について、ASA5500-X: FTD/FirePOWERの FDM/FMC/ASDM管理時の比較をご参照ください。
本ドキュメントでは、FDMによって管理されるFTDにおける Cisco Secure Client の2要素認証を行う際、クライアントから送信された証明書の中にある共通名(Common Name)を抽出し、それをユーザー名として自動的に入力する設定例を紹介します。
本ドキュメントで使用されている各証明書の中にある共通名(Common Name)を含む証明書チェーンは以下の通りです。
本ドキュメントは、以下の構成で、設定・動作確認例を紹介します。
「Device > Interfaces > View All Interfaces」に移動し、「Interfaces」のタブで、インタフェースの情報を入力します。
GigabitEthernet0/0に対し、
GigabitEthernet0/1に対し、
「Device > Smart License > View Configuration」に移動し、「RA VPN License」の項目で、Cisco Secure Clientのライセンスが有効化されていることを確認します。
「Device > Remote Access VPN > View Configuration」に移動し、「CREATE CONNECTION PROFILE」ボタンをクリックします。
VPN のconnection profileを作成するために必要な情報を入力し、「IPv4 Address Pool 」項目の「Create new Network」ボタンをクリックします。
必要な情報を入力し、追加されたアドレスプールをconnection profileにアサインします。
「View Group Policy」項目の「Create new Group Policy」ボタンをクリックします。
group policyを作成するために必要な情報を入力し、「OK」ボタンをクリックします。追加されたgroup policyをconnection profileにアサインします。
「Certificate of Device Identity」項目の「Create new Internal certificate」ボタンをクリックします。
「Upload Certificate and Key」をクリックします。
必要な情報を入力してから、ローカルから証明書及び証明書のキーファイルをアップロードし、FTD用のサーバー証明書を作成します。「OK」ボタンをクリックします。
証明書とインタフェースの情報を設定します。
「Packages」項目の「Windows」を選択し、ローカルコンピュータからイメージファイルをアップロードします。
アップロードしたイメージファイルを選択し、「NEXT」ボタンをクリックします。
※本ドキュメントでは、NAT Exempt 機能を利用しません。
※デフォルト設定で「Bypass Access Control policy for decrypted traffic (sysopt permit-vpn)」オプションが無効になっているため、復号化されたVPNトラフィックはAccess Control Policyによって検査されます。
上記で設定した内容のサマリを確認し、「FINISH」ボタンをクリックします。
追加されたConnection Profileを確認します。
「Objects > Users」に移動し、「+」ボタンをクリックします。
必要な情報を入力して、「OK」ボタンをクリックします。
※ユーザー名(sslVPNClientCN)はクライアント証明書の中にある共通名(Common Name)と同じです。
「Objects > Certificates」に移動し、「+」項目の「Add Trusted CA Certificate」ボタンをクリックします。
必要な情報を入力してから、ローカルからCAのcrtファイルをアップロードし、CA証明書を作成します。
FDMでの設定内容をFTDにDeployした後、FTDのCLIで設定内容を確認します。
// 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
!
interface GigabitEthernet0/1
speed auto
nameif inside
cts manual
propagate sgt preserve-untag
policy static sgt disabled trusted
security-level 0
ip address 192.168.10.200 255.255.255.0
// Defines a pool of addresses
ip local pool ftdvpn-aaa-cert-pool 172.16.1.40-172.16.1.50
// Defines a local user
username sslVPNClientCN password ***** pbkdf2
// Defines Trustpoint for Server Certificate
crypto ca trustpoint ftdvpn-cert
enrollment terminal
keypair ftdvpn-cert
validation-usage ssl-server
crl configure
// Server Certificate
crypto ca certificate chain ftdvpn-cert
certificate 22413df584b6726c
3082037c 30820264 a0030201 02020822 413df584 b6726c30 0d06092a 864886f7
......
quit
// Defines Trustpoint for CA
crypto ca trustpoint ftdvpn-ca-cert
enrollment terminal
validation-usage ssl-client ssl-server
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 enable
tunnel-group-list enable
cache
disable
error-recovery disable
// Configures the group-policy to allow SSL connections
group-policy ftdvpn-aaa-cert-grp internal
group-policy ftdvpn-aaa-cert-grp attributes
dns-server value 64.104.123.245 64.104.14.184
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 none
anyconnect ssl df-bit-ignore disable
always-on-vpn profile-setting
// Configures the tunnel-group to use the aaa & certificate authentication
tunnel-group ftdvpn-aaa-cert-auth type remote-access
tunnel-group ftdvpn-aaa-cert-auth general-attributes
address-pool ftdvpn-aaa-cert-pool
default-group-policy ftdvpn-aaa-cert-grp
// These settings are displayed in the 'show run all' command output. Start
authentication-server-group LOCAL
secondary-authentication-server-group none
no accounting-server-group
default-group-policy ftdvpn-aaa-cert-grp
username-from-certificate CN OU
secondary-username-from-certificate CN OU
authentication-attr-from-server primary
authenticated-session-username primary
username-from-certificate-choice second-certificate
secondary-username-from-certificate-choice second-certificate
// These settings are displayed in the 'show run all' command output. End
tunnel-group ftdvpn-aaa-cert-auth webvpn-attributes
authentication aaa certificate
pre-fill-username client
group-alias ftdvpn-aaa-cert-auth enable
「Certificates - Current User > Personal > Certificates」に移動し、試験用のクライアント証明書(Common Name = sslVPNClientCN)を確認します。
クライアント証明書をダブルクリックし、「Details」に移動して、「Subject」の詳細を確認します。
「Certificates - Current User > Trusted Root Certification Authorities > Certificates」に移動し、試験用のCAがクライアント側にインポートされていることを確認します。
エンドポイントでAnyconnect接続を実行します。ユーザー名はクライアント証明書から抽出されますので、VPN認証のためにパスワードのみを入力する必要があります。
※本ドキュメントでは、ユーザー名はクライアント証明書のCN(Common Name)フィールドから抽出しています。
FTDのCLIで、「show vpn-sessiondb detail anyconnect」コマンドを実行して、VPNセッションを確認します。
firepower# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : sslVPNClientCN Index : 4
Assigned IP : 172.16.1.40 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 : 29072 Bytes Rx : 44412
Pkts Tx : 10 Pkts Rx : 442
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : ftdvpn-aaa-cert-grp Tunnel Group : ftdvpn-aaa-cert-auth
Login Time : 11:47:42 UTC Sat Jun 29 2024
Duration : 1h:09m:30s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 0000000000004000667ff45e
Security Grp : none Tunnel Zone : 0
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 4.1
Public IP : 192.168.1.11
Encryption : none Hashing : none
TCP Src Port : 49779 TCP Dst Port : 443
Auth Mode : Certificate and userPassword
Idle Time Out: 30 Minutes Idle TO Left : 7 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 : 14356 Bytes Rx : 0
Pkts Tx : 2 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 4.3
Assigned IP : 172.16.1.40 Public IP : 192.168.1.11
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-RSA-AES256-GCM-SHA384
Encapsulation: TLSv1.2 TCP Src Port : 49788
TCP Dst Port : 443 Auth Mode : Certificate and userPassword
Idle Time Out: 30 Minutes Idle TO Left : 27 Minutes
Client OS : Windows
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 5.1.4.74
Bytes Tx : 7178 Bytes Rx : 10358
Pkts Tx : 1 Pkts Rx : 118
Pkts Tx Drop : 0 Pkts Rx Drop : 0
VPNクライアントからサーバーへのpingを実施し、VPNクライアントとサーバー間の通信が成功していることを確認します。
※「7. Secure Client Image の設定」の項目で、「Bypass Access Control policy for decrypted traffic (sysopt permit-vpn)」オプションが無効にされているため、IPv4アドレスプールからサーバーへのアクセスを許可するアクセス制御ルールを作成する必要があります。
FTDのCLIで、「capture in interface inside real-time」コマンドを実行して、パケットキャプチャを確認します。
firepower# capture in interface inside real-time
Warning: using this option with a slow console connection may
result in an excessive amount of non-displayed packets
due to performance limitations.
Use ctrl-c to terminate real-time capture
1: 12:03:26.626691 172.16.1.40 > 192.168.10.11 icmp: echo request
2: 12:03:26.627134 192.168.10.11 > 172.16.1.40 icmp: echo reply
3: 12:03:27.634641 172.16.1.40 > 192.168.10.11 icmp: echo request
4: 12:03:27.635144 192.168.10.11 > 172.16.1.40 icmp: echo reply
5: 12:03:28.650189 172.16.1.40 > 192.168.10.11 icmp: echo request
6: 12:03:28.650601 192.168.10.11 > 172.16.1.40 icmp: echo reply
7: 12:03:29.665813 172.16.1.40 > 192.168.10.11 icmp: echo request
8: 12:03:29.666332 192.168.10.11 > 172.16.1.40 icmp: echo reply
FTDのLinaエンジンのデバッグログやWindows PCのDARTログは、VPN認証の詳細な動作を確認するために役立ちます。
以下は、本ドキュメントで試験時のLinaエンジン側で確認できたデバッグログです。
// Certificate Authentication
Jun 29 2024 11:29:37: %FTD-7-717029: Identified client certificate within certificate chain. serial number: 6EC79930B231EDAF, subject name: CN=sslVPNClientCN,OU=sslVPNClientOU,O=Cisco,L=Tokyo,ST=Tokyo,C=JP.
Jun 29 2024 11:29:37: %FTD-6-717028: Certificate chain was successfully validated with warning, revocation status was not checked.
Jun 29 2024 11:29:37: %FTD-6-717022: Certificate was successfully validated. serial number: 6EC79930B231EDAF, subject name: CN=sslVPNClientCN,OU=sslVPNClientOU,O=Cisco,L=Tokyo,ST=Tokyo,C=JP.
// Extract username from the CN (Common Name) field
Jun 29 2024 11:29:53: %FTD-7-113028: Extraction of username from VPN client certificate has been requested. [Request 3]
Jun 29 2024 11:29:53: %FTD-7-113028: Extraction of username from VPN client certificate has completed. [Request 3]
// AAA Authentication
Jun 29 2024 11:29:53: %FTD-6-113012: AAA user authentication Successful : local database : user = sslVPNClientCN
Jun 29 2024 11:29:53: %FTD-6-113009: AAA retrieved default group policy (ftdvpn-aaa-cert-grp) for user = sslVPNClientCN
Jun 29 2024 11:29:53: %FTD-6-113008: AAA transaction status ACCEPT : user = sslVPNClientCN
以下のデバッグはFTDのCLIから実行でき、設定のトラブルシューティングに役立つ情報を提供します。
ASA5500-X: FTD/FirePOWERの FDM/FMC/ASDM管理時の比較
Configure FDM On-Box Management Service for Firepower 2100
Configure Remote Access VPN on FTD Managed by FDM
Configure and Verify Syslog in Firepower Device Manager
Cisco Secure Firewall (FTD) - how to
Firepower System and FTDトラブルシューティング
ファイアウォール トラブルシューティング
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします