はじめに
このドキュメントでは、FMCによって管理されるFirepower Threat Defense(FTD)v6.3でCiscoリモートアクセスVPN(AnyConnect)ソリューションを設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- 基本的なリモートアクセスVPN、セキュアソケットレイヤ(SSL)、およびインターネットキーエクスチェンジ(IKEv2)バージョン2の知識
- 認証、認可、およびアカウンティング(AAA)、および RADIUS に関する基本的な知識
- FMCの基礎知識
- FTDの基礎知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Cisco FMC 6.4
- Cisco FTD 6.3
- AnyConnect 4.7
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
このドキュメントの目的は、FTDデバイスの設定をカバーすることです。ASAの設定例が必要な場合は、ドキュメント『ASA 9.XでのAnyConnect VPN Client U-turnトラフィックの設定』を参照してください。
制限:
現在、次の機能はFTDではサポートされていませんが、ASAデバイスでは引き続き使用できます。
- ダブルAAA認証(FTDバージョン6.5で使用可能)
- ダイナミック アクセス ポリシー
- ホストスキャン
- ISE ポスチャ
- RADIUS CoA(オプション)
- VPNロードバランサ
- ローカル認証(Firepower Device Manager 6.3で使用可能)Cisco Bug ID CSCvf92680)
- LDAP属性マップ(FlexConfig、Cisco Bug ID CSCvd64585で利用可能)
- AnyConnectのカスタマイズ
- AnyConnectスクリプト
- AnyConnectのローカリゼーション
- アプリごとのVPN
- SCEPプロキシ
- WSAの統合
- SAML SSO(Cisco Bug ID CSCvq90789)
- RAとL2L VPNの同時IKEv2ダイナミック暗号マップ
- AnyConnectモジュール(NAM、ホストスキャン、AMPイネーブラ、SBL、Umbrella、Webセキュリティなど)DARTは、このバージョンにデフォルトでインストールされる唯一のモジュールです。
- TACACS、Kerberos(KCD認証およびRSA SDI)
- ブラウザプロキシ
設定
FMCでリモートアクセスVPNウィザードを実行するには、次の手順を実行する必要があります。
ステップ 1:SSL証明書のインポート
証明書は、AnyConnectを設定する際に不可欠です。SSLおよびIPSecでは、RSAベースの証明書だけがサポートされます。 IPSecでは楕円曲線デジタル署名アルゴリズム(ECDSA)証明書がサポートされていますが、ECDSAベースの証明書を使用する場合、新しいAnyConnectパッケージまたはXMLプロファイルを導入することはできません。 これはIPSecにも使用できますが、XMLプロファイルとともにAnyConnectパッケージを事前展開する必要があります。すべてのXMLプロファイルのアップデートを各クライアントに手動でプッシュする必要があります(Cisco Bug ID CSCtx42595)。
また、Webブラウザで「信頼できないサーバ証明書」エラーを回避するために、証明書にはDNS名やIPアドレスを含む共通名(CN)拡張が含まれている必要があります。
注:FTDデバイスでは、証明書署名要求(CSR)を生成する前に、認証局(CA)証明書が必要です。
- CSRが外部サーバ(Windows ServerやOpenSSLなど)で生成される場合、FTDはキーの手動登録をサポートしていないため、手動登録方式は失敗します。
- PKCS12など、別の方法を使用する必要があります。
手動登録方式でFTDアプライアンスの証明書を取得するには、CSRを生成する必要があります。CAで署名し、ID証明書をインポートします。
1. 図に示すように、Devices > Certificatesの順に移動し、Addを選択します。
2. デバイスを選択し、図に示すように新しいCert Enrollmentオブジェクトを追加します。
3. 手動登録タイプを選択し、CA証明書(CSRへの署名を意図した証明書)を貼り付けます。
4. Certificate Parametersタブを選択し、Include FQDNフィールドでCustom FQDNを選択し、図に示すように証明書の詳細を入力します。
5. Keyタブを選択し、keyタイプを選択します。名前とサイズを選択できます。RSAの最小要件は2048バイトです。
6. saveを選択し、Deviceを確認して、Cert Enrollmentで作成したトラストポイントを選択します。証明書を展開するには、Addを選択します。
7. 「ステータス」列でIDアイコンを選択し、図に示すようにCSRを生成する場合は「はい」を選択します。
8. CSRをコピーし、任意のCA(GoDaddyやDigiCertなど)で署名します。
9. CAからID証明書を受信したら(Base64形式である必要があります)、Browse Identity Certificateを選択し、ローカルコンピュータにある証明書を見つけます。Importを選択します。
10. インポート後、CA証明書とID証明書の両方の詳細を表示できます。
ステップ 2:RADIUSサーバの設定
FMCによって管理されるFTDデバイスでは、ローカルユーザデータベースはサポートされません。RADIUSやLDAPなど、別の認証方式を使用する必要があります。
1. 図に示すように、Objects > Object Management > RADIUS Server Group > Add RADIUS Server Groupの順に移動します。
2. RADIUSサーバグループに名前を割り当て、RADIUSサーバのIPアドレスと共有秘密(FTDとRADIUSサーバをペアにするには共有秘密が必要)を追加し、このフォームが完了したら図のようにSaveを選択します。
3. 図に示すように、RADIUSサーバ情報がRADIUSサーバリストで使用できるようになりました。
ステップ 3:IPプールの作成
1. Objects > Object Management > Address Pools > Add IPv4 Poolsの順に移動します。
2. 名前とIPアドレスの範囲を割り当てます。マスクフィールドは必要ありませんが、図のように指定できます。
ステップ 4:XMLプロファイルの作成
1. Cisco.comからProfile Editorツールをダウンロードし、アプリケーションを実行します。
2. Profile Editorアプリケーションで、Server Listに移動し、図に示すようにAddを選択します。
3. 表示名、完全修飾ドメイン名(FQDN)またはIPアドレスを割り当て、図に示すようにOKを選択します。
4. 「サーバー・リスト」メニューにエントリが表示されます。
5.ファイル>名前を付けて保存に移動します。
注:プロファイルは、簡単に識別できる名前と拡張子を付けて保存します。
ステップ 5:AnyConnect XMLプロファイルのアップロード
1. FMCで、Objects > Object Management > VPN > AnyConnect File > Add AnyConnect Fileの順に移動します。
2. オブジェクトに名前を割り当てて、Browseをクリックします。ローカルシステムでクライアントプロファイルを探し、Saveを選択します。
注意:ファイルタイプとしてAnyConnect Client Profileを選択していることを確認してください。
手順 6:AnyConnectイメージのアップロード
1. シスコのダウンロードWebページからwebdeploy (.pkg)イメージをダウンロードします。
2. Objects > Object Management > VPN > AnyConnect File > Add AnyConnect Fileの順に移動します。
3. AnyConnect packageファイルを選択したら、そのファイルに名前を付け、ローカルシステムから.pkgファイルを選択します。
4. Saveを選択します。
注:要件に応じて、追加パッケージをアップロードできます(Windows、MAS、Linux)。
手順 7:リモートアクセスVPNウィザード
前述の手順に従って、リモートアクセスウィザードを実行できます。
1. Devices > VPN > Remote Accessの順に移動します。
2. リモートアクセスポリシーの名前を割り当て、使用可能なデバイスからFTDデバイスを選択します。
3. 図に示すように、接続プロファイル名(接続プロファイル名はトンネルグループ名)を割り当て、認証サーバとアドレスプールを選択します。
4.グループポリシーを作成するには、+記号を選択します。
5. (オプション)ローカルIPアドレスプールは、グループポリシー単位で設定できます。設定されていない場合、プールは接続プロファイル(トンネルグループ)で設定されたプールから継承されます。
6. このシナリオでは、すべてのトラフィックがトンネル経由でルーティングされ、IPv4スプリットトンネリングポリシーが図のようにトンネル経由のすべてのトラフィックを許可するように設定されます。
7. 図に示すように、AnyConnectプロファイルの.xmlプロファイルを選択し、Saveを選択します。
8. オペレーティングシステムの要件に基づいて、必要なAnyConnectイメージを選択し、図に示すようにNextを選択します。
9. セキュリティゾーンおよびデバイス証明書を選択します。
- この設定では、VPNが終端するインターフェイスと、SSL接続で提示される証明書を定義します。
注:このシナリオでは、FTDはVPNトラフィックを検査しないように設定され、アクセスコントロールポリシー(ACP)オプションはバイパスするように切り替えられます。
10. Finishを選択して、変更を展開します。
- 図に示すように、VPN、SSL証明書、およびAnyConnectパッケージに関連するすべての設定は、FMC Deploy経由でプッシュされます。
NAT免除とヘアピン
ステップ 1:NAT 免除の設定
NAT免除は、トラフィックがVPNトンネル(リモートアクセスまたはサイト間)を経由する場合にインターネットにルーティングされるのを防ぐために推奨される変換方式です。
これは、内部ネットワークからのトラフィックが変換なしでトンネルを通過することを目的としている場合に必要です。
1. 図に示すように、Objects > Network > Add Network > Add Objectの順に移動します。
2. Device > NATに移動し、問題のデバイスによって使用されるNATポリシーを選択し、新しい文を作成します。
注:トラフィックフローは内部から外部に向かいます。
3. 図に示すように、FTDの背後にある内部リソース(元の送信元と変換済み送信元)と宛先をAnyConnectユーザのIPローカルプール(元の宛先と変換済み宛先)として選択します。
4. NATルールでno-proxy-arpとroute-lookupを有効にするために、オプションを切り替えてください(図を参照)。図に示すように、OKを選択します。
5. これは、NAT免除の設定の結果です。
前のセクションで使用したオブジェクトは、次のとおりです。
ステップ 2:ヘアピン設定
Uターンとも呼ばれ、トラフィックが受信されるのと同じインターフェイスを介してトラフィックを流すことができる変換方式です。
たとえば、AnyConnectがフルトンネルスプリットトンネルポリシーで設定されている場合、内部リソースはNAT免除ポリシーに従ってアクセスされます。AnyConnectクライアントトラフィックがインターネット上の外部サイトに到達することを目的としている場合、ヘアピンNAT(またはUターン)は外部から外部へのトラフィックのルーティングを行います。
VPNプールオブジェクトは、NAT設定の前に作成する必要があります。
1. 新しいNATステートメントを作成し、NAT RuleフィールドでAuto NAT Ruleを選択し、NAT TypeとしてDynamicを選択します。
2. sourceおよびdestinationインターフェイスオブジェクト(outside)に対して同じインターフェイスを選択します。
3. Translationタブで、Original Sourceとvpn-pool objectを選択し、Translated SourceにDestination Interface IPを選択します。 図に示すように、OKを選択します。
4. 次の図に示すNAT設定の要約を参照してください。
5. 「保存」をクリックし、変更を配布します。
確認
このセクションでは、設定が正常に動作していることを確認します。
FTDコマンドラインで次のコマンドを実行します。
- sh crypto ca証明書
- show running-config ip local pool(ipローカルプールの表示)
- show running-config webvpn(隠しコマンド)
- show running-config tunnel-group(隠しコマンド)
- show running-config group-policy(グループポリシーの実行)
- show running-config ssl(隠しコマンド)
- show running-config natコマンド
トラブルシュート
現在、この設定に関する特定のトラブルシューティング情報はありません。