はじめに
このドキュメントでは、モバイルデバイスでの証明書ベースの認証の実装例について説明します。
前提条件
このガイドで使用するツールとデバイスは次のとおりです。
- Cisco Firepower Threat Defense(FTD)
- Firepower Management Center(FMC)
- Apple iOSデバイス(iPhone、iPad)
- 認証局(CA)
- Cisco Anyconnectクライアントソフトウェア
要件
次の項目に関する知識があることが推奨されます。
- 基本的なVPN
- SSL/TLS
- 公開キーインフラストラクチャ
- FMCの使用経験
- OpenSSL
- Cisco AnyConnect
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- シスコFTD
- シスコFMC
- Microsoft CA Server
- XCA
- Cisco AnyConnect
- Appleのipad
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
FTDでのCisco Anyconnectの設定
この項では、FMC経由でAnyConnectを設定する手順について説明します。始める前に、すべての設定を展開してください。
ネットワーク図
FTDへの証明書の追加
ステップ 1:FMCアプライアンスでFTDの証明書を作成します。次の図に示すように、Devices > Certificateの順に移動し、Addを選択します。
ステップ 2:VPN接続に必要なFTDを選択します。デバイスドロップダウンからFTDアプライアンスを選択します。+アイコンをクリックして、次の図に示すように、新しい証明書登録方法を追加します。
ステップ 3:デバイスに証明書を追加します。環境内で証明書を取得する方法として推奨されるオプションを選択します。
ヒント:使用可能なオプションは次のとおりです。自己署名証明書 – ローカルで新しい証明書を生成する。SCEP – 簡易証明書登録プロトコル(SCEP)を使用してCAから証明書を取得する。手動 – ルートおよびID証明書を手動でインストールする。PKCS12 – ルート、ID、秘密キーを含む暗号化された証明書バンドルをアップロードする。
ステップ 4:証明書をFTDデバイスにアップロードします。パスコード(PKCS12のみ)を入力し、次の図に示すようにSaveをクリックします。
注:ファイルを保存すると、証明書の導入がただちに開始されます。証明書の詳細を表示するには、IDを選択します。
Cisco Anyconnectの設定
リモートアクセスウィザードを使用してFMC経由でAnyConnectを設定します。
ステップ 1:リモートアクセスVPNポリシーウィザードを起動して、AnyConnectを設定します。
Devices > Remote Accessに移動し、Addを選択します。
ステップ 2:ポリシーの割り当て
ポリシーの割り当てを完了します。
a.ポリシーに名前を付けます。
b.必要なVPNプロトコルを選択します。
c.設定を適用するターゲットデバイスを選択します。
ステップ 3:接続プロファイル。
a.接続プロファイルに名前を付けます。
b.認証方式をClient Certificate Onlyに設定します。
c. IPアドレスプールを割り当て、必要に応じて新しいグループポリシーを作成します。
d. Nextをクリックします。
注:認証セッションのユーザ名の入力に使用するプライマリフィールドを選択します。このガイドでは、証明書のCNを使用します。
ステップ 4:AnyConnect.
Anyconnectイメージをアプライアンスに追加します。Anyconnectの推奨バージョンをアップロードし、Nextをクリックします。
注:Cisco Anyconnectパッケージは、Software.Cisco.comからダウンロードできます。
ステップ 5:アクセスおよび証明書。
次の図に示すように、証明書をインターフェイスに適用し、インターフェイスレベルでAnyconnectを有効にして、Nextをクリックします。
手順 6:要約.
設定を確認します。すべてチェックアウトしたら、finishをクリックしてからdeployをクリックします。
モバイルユーザ用の証明書の作成
接続で使用するモバイルデバイスに追加する証明書を作成します。
ステップ 1:XCAです。
a. XCAを開きます
b.新しいデータベースの起動
ステップ 2:CSRを作成します。
a. Certificate Signing Request(CSR)を選択します
b. New Requestを選択します。
c.値と、証明書に必要なすべての情報を入力します
d.新しいキーを生成します
e.終了したら、OKをクリックします。
注:このドキュメントでは、証明書のCNを使用します。
ステップ 3:CSRを送信します。
a. CSRのエクスポート
b. CSRをCAに送信して新しい証明書を取得する
注:CSRのPEM形式を使用してください。
モバイルデバイスでのインストール
ステップ 1:モバイルデバイスにデバイス証明書を追加します。
ステップ 2:Anyconnectアプリケーションと証明書を共有して、新しい証明書アプリケーションを追加します。
注意:手動インストールでは、ユーザが証明書をアプリケーションと共有する必要があります。これは、MDM経由でプッシュされる証明書には適用されません。
ステップ 3:PKCS12ファイルの証明書パスワードを入力します。
ステップ 4:Anyconnectで新しい接続を作成します。
ステップ 5:新しい接続に移動します。Connections > Add VPN Connection。
手順 6:新しい接続の情報を入力します。
説明:接続に名前を付けます。
サーバアドレス:FTDのIPアドレスまたはFQDN
Advanced:その他の設定
手順 7:[Advanced] を選択します。
ステップ 8:Certificateを選択し、新しく追加した証明書を選択します。
ステップ 9:Connectionsに戻ってテストします。
成功すると、切り替えはオンのままになり、詳細がステータスにconnectedと表示されます。
確認
コマンドshow vpn-sessiondb detail Anyconnectは、接続されたホストに関するすべての情報を表示します。
ヒント:このコマンドをさらにフィルタリングするオプションは、コマンドに追加された「filter」キーワードまたは「sort」キーワードです。
例:
Tcoutrie-FTD3# show vpn-sessiondb detail Anyconnect
Username : Cisco_Test Index : 23
Assigned IP : 10.71.1.2 Public IP : 10.118.18.168
Protocol : Anyconnect-Parent SSL-Tunnel DTLS-Tunnel
License : Anyconnect Premium, Anyconnect for Mobile
Encryption : Anyconnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES-GCM-256
Hash : Anyconnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA384
Bytes Tx : 8627 Bytes Rx : 220
Pkts Tx : 4 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : SSL Tunnel Group : SSL
Login Time : 13:03:28 UTC Mon Aug 2 2021
Duration : 0h:01m:49s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 0a7aa95d000170006107ed20
Security Grp : none Tunnel Zone : 0
Anyconnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
Anyconnect-Parent:
Tunnel ID : 23.1
Public IP : 10.118.18.168
Encryption : none Hashing : none
TCP Src Port : 64983 TCP Dst Port : 443
Auth Mode : Certificate
Idle Time Out: 30 Minutes Idle TO Left : 28 Minutes
Client OS : apple-ios
Client OS Ver: 14.6
Client Type : Anyconnect
Client Ver : Cisco Anyconnect VPN Agent for Apple iPad 4.10.01099
Bytes Tx : 6299 Bytes Rx : 220
Pkts Tx : 2 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 23.2
Assigned IP : 10.71.1.2 Public IP : 10.118.18.168
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-RSA-AES256-GCM-SHA384
Encapsulation: TLSv1.2 TCP Src Port : 64985
TCP Dst Port : 443 Auth Mode : Certificate
Idle Time Out: 30 Minutes Idle TO Left : 28 Minutes
Client OS : Apple iOS
Client Type : SSL VPN Client
Client Ver : Cisco Anyconnect VPN Agent for Apple iPad 4.10.01099
Bytes Tx : 2328 Bytes Rx : 0
Pkts Tx : 2 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
DTLS-Tunnel:
Tunnel ID : 23.3
Assigned IP : 10.71.1.2 Public IP : 10.118.18.168
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-ECDSA-AES256-GCM-SHA384
Encapsulation: DTLSv1.2 UDP Src Port : 51003
UDP Dst Port : 443 Auth Mode : Certificate
Idle Time Out: 30 Minutes Idle TO Left : 28 Minutes
Client OS : Apple iOS
Client Type : DTLS VPN Client
Client Ver : Cisco Anyconnect VPN Agent for Apple iPad 4.10.01099
Bytes Tx : 0 Bytes Rx : 0
Pkts Tx : 0 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
トラブルシュート
デバッグ
この問題のトラブルシューティングに必要なデバッグは次のとおりです。
Debug crypto ca 14
Debug webvpn 255
Debug webvpn Anyconnect 255
接続がSSLではなくIPSECである場合:
Debug crypto ikev2 platform 255
Debug crypto ikev2 protocol 255
debug crypto CA 14
Anyconnectモバイルアプリケーションからのログ:
Diagnostic > VPN Debug Logs > Share logsの順に移動します。
次の情報を入力します。
次に、Send > Share withの順に移動します。
これは、電子メールクライアントを使用してログを送信するオプションを提供します。