はじめに
このドキュメントでは、FMCによって管理されるFirepower Threat Defense(FTD)でサイト間VPN(ToSite VPN)を設定する方法について説明します。
前提条件
要件
次の項目に関する知識が必要です。
- VPNの基本的な知識
- Firepower Management Centerの使用経験
- ASAコマンドラインの経験
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Cisco FTD 6.5
- ASA 9.10(1)32
- IKEv2
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
コンフィギュレーション
FTDとFirePower Management Centerの設定から始めます。
ステップ 1:VPNトポロジを定義します。
1. Devices > VPN > Site To Siteの順に移動します。 Add VPNで、次の図に示すようにFirepower Threat Defense Deviceをクリックします。
2. Create New VPN Topologyボックスが表示されます。VPNに識別しやすい名前を付けます。
ネットワークトポロジ:ポイントツーポイント
IKEバージョン:IKEv2
この例では、エンドポイントを選択すると、ノードAがFTD、ノードBがASAになります。緑色のプラスボタンをクリックして、次の図に示すようにトポロジにデバイスを追加します。
3. FTDを最初のエンドポイントとして追加します。
暗号マップが配置されるインターフェイスを選択します。IPアドレスは、デバイス設定から自動的に入力されます。
次の図に示すように、Protected Networksの下の緑色のプラス記号をクリックして、このVPNで暗号化するサブネットを選択します。
4. 緑色のプラス(+)をクリックすると、ここでネットワークオブジェクトが作成されます。
5. 暗号化する必要があるFTDにローカルなサブネットをすべて追加します。Addをクリックして、選択したネットワークに移動します。次の図に示すように、OKをクリックします。
FTDSubnet = 10.10.113.0/24
ノードA:(FTD)エンドポイントが完了しました。図に示すように、ノードBの緑色のプラス記号をクリックします。
ノードBはASAです。FMCによって管理されていないデバイスは、エクストラネットと見なされます。
6. デバイス名とIPアドレスを追加します。図に示すように、緑色のプラス記号をクリックして、保護されたネットワークを追加します。
7. この図に示すように、暗号化する必要があるASAサブネットを選択し、選択したネットワークにそれらを追加します。
ASAサブネット= 10.10.110.0/24
ステップ 2:IKEパラメータを設定します。
これで、両方のエンドポイントがIKE/IPSEC設定を通過します。
1. IKEタブで、IKEv2の初期交換に使用されるパラメータを指定します。図に示すように、緑色のプラス記号をクリックして新しいIKEポリシーを作成します。
2. 新しいIKEポリシーで、接続のフェーズ1のライフタイムとプライオリティ番号を指定します。このドキュメントでは、初期交換にIntegrity(SHA256)、Encryption(AES-256)、PRF(SHA256)、およびDiffie-Hellman Group(Group 14)の各パラメータを使用します
注:デバイス上のすべてのIKEポリシーは、選択されたポリシーセクションの内容に関係なく、リモートピアに送信されます。リモートピアと一致した最初のIKEポリシーがVPN接続用に選択されます。プライオリティフィールドを使用して、最初に送信するポリシーを選択します。プライオリティ1が最初に送信されます。
3. パラメータが追加されたら、このポリシーを選択し、認証タイプを選択します。
4. pre-shared-key manualを選択します。このドキュメントでは、PSK cisco123を使用します。
ステップ 3:IPSecパラメータを設定します。
1. IPsecで、鉛筆をクリックし、トランスフォームセットを編集して新しいIPsecプロポーザルを作成します(次の図を参照)。
2. 新しいIKEv2 IPsecプロポーザルを作成するには、緑色のプラス(+)をクリックして、フェーズ2パラメータを入力します。
ESP Encryption > AES-GCM-256の順に選択します。暗号化にGCMアルゴリズムを使用する場合は、ハッシュアルゴリズムは不要です。GCMにはハッシュ関数が組み込まれています。
3. 新しいIPSecプロポーザルが作成されたら、それを選択したトランスフォームセットに追加します。
新しく選択したIPsecプロポーザルがIKEv2 IPsec Proposalsの下にリストされます。
必要に応じて、ここでフェーズ2ライフタイムとPFSを編集できます。この例では、ライフタイムがデフォルトに設定され、PFSが無効になっています。
オプション:アクセスコントロールをバイパスするオプションを完了するか、アクセスコントロールポリシーを作成する必要があります。
ステップ 4:アクセスコントロールのバイパス
オプションで、Advanced > Tunnelの下でsysopt permit-vpnをイネーブルにできます。
これにより、アクセスコントロールポリシーを使用してユーザからのトラフィックを検査する機能がなくなります。ユーザトラフィックのフィルタリングには、VPNフィルタまたはダウンロード可能ACLを使用できます。 これはグローバルコマンドであり、このチェックボックスがオンになっている場合はすべてのVPNに適用されます。
sysopt permit-vpnがイネーブルになっていない場合は、FTDデバイス経由でVPNトラフィックを許可するようにアクセスコントロールポリシーを作成する必要があります。sysopt permit-vpnがイネーブルになっている場合、アクセスコントロールポリシーの作成をスキップします。
ステップ 5:アクセスコントロールポリシーを作成します。
Access Control Policiesの下で、Policies > Access Control > Access Controlの順に移動し、FTDデバイスを対象とするポリシーを選択します。ルールを追加するには、次の図に示すように、Add Ruleをクリックします。
トラフィックは、内部ネットワークから外部ネットワークへ、および外部ネットワークから内部ネットワークへ送信される必要があります。両方を実行するルールを1つ作成するか、または別々に保持するルールを2つ作成します。この例では、両方を実行するために1つのルールが作成されます。
手順 6:NAT免除を設定する。
VPNトラフィックのNAT免除ステートメントを設定します。VPNトラフィックが別のNATステートメントに到達してVPNトラフィックが誤って変換されるのを防ぐために、NAT免除を設定する必要があります。
1. Devices > NATに移動し、FTDをターゲットとするNATポリシーを選択します。 Add Ruleボタンをクリックすると、新しいルールが作成されます。
2. 新しいスタティックマニュアルNATルールを作成します。内部インターフェイスと外部インターフェイスを参照します。
3. Translationタブで、送信元サブネットと宛先サブネットを選択します。これはNAT除外ルールであるため、次の図に示すように、元の送信元/宛先と変換された送信元/宛先を同じにします。
4. 最後に、Advancedタブに移動し、no-proxy-arpとroute-lookupをイネーブルにしました。
5. このルールを保存し、NATリストの最終結果を確認します。
6. 設定が完了したら、設定を保存してFTDに展開します。
手順 7:ASA の設定.
- ASAの外部インターフェイスでIKEv2を有効にします。
Crypto ikev2 enable outside
2. FTDで設定されているのと同じパラメータを定義するIKEv2ポリシーを作成します。
Crypto ikev2 policy 1
Encryption aes-256
Integrity sha256
Group 14
Prf sha256
Lifetime seconds 86400
3. ikev2プロトコルを許可するグループポリシーを作成します。
Group-policy FTD_GP internal
Group-policy FTD_GP attributes
Vpn-tunnel-protocol ikev2
4. ピアFTDパブリックIPアドレスのトンネルグループを作成します。グループポリシーを参照し、事前共有キーを指定します。
Tunnel-group 172.16.100.20 type ipsec-l2l
Tunnel-group 172.16.100.20 general-attributes
Default-group-policy FTD_GP
Tunnel-group 172.16.100.20 ipsec-attributes
ikev2 local-authentication pre-shared-key cisco123
ikev2 remote-authentication pre-shared-key cisco123
5. 暗号化するトラフィックを定義するアクセスリストを作成します(FTDSubnet 10.10.113.0/24)(ASASubnet 10.10.110.0/24)。
Object network FTDSubnet
Subnet 10.10.113.0 255.255.255.0
Object network ASASubnet
Subnet 10.10.110.0 255.255.255.0
Access-list ASAtoFTD extended permit ip object ASASubnet object FTDSubnet
6. FTDで指定されているアルゴリズムを参照するikev2 ipsec-proposalを作成します。
Crypto ipsec ikev2 ipsec-proposal FTD
Protocol esp encryption aes-gcm-256
7. 設定を結び付けるクリプトマップエントリを作成します。
Crypto map outside_map 10 set peer 172.16.100.20
Crypto map outside_map 10 match address ASAtoFTD
Crypto map outside_map 10 set ikev2 ipsec-proposal FTD
Crypto map outside_map 10 interface outside
8. VPNトラフィックがファイアウォールによってNATされることを防ぐNAT免除ステートメントを作成します。
Nat (inside,outside) 1 source static ASASubnet ASASubnet destination static FTDSubnet FTDSubnet no-proxy-arp route-lookup
確認
注:この時点では、FMCからVPNトンネルのステータスを確認する方法はありません。Cisco Bug ID CSCvh77603には、この機能の拡張要求があります。
VPNトンネル経由でトラフィックを開始してみます。ASAまたはFTDのコマンドラインにアクセスするには、packet tracerコマンドを使用します。packet-tracerコマンドを使用してVPNトンネルをアップ状態にする場合は、2回実行してトンネルがアップ状態になることを確認する必要があります。最初にこのコマンドが発行された時点ではVPNトンネルはダウンしているため、packet-tracerコマンドはVPN暗号化ドロップで失敗します。ファイアウォールの内部IPアドレスをパケットトレーサの送信元IPアドレスとして使用しないでください。これは常に失敗します。
firepower# packet-tracer input inside icmp 10.10.113.10 8 0 10.10.110.10
Phase: 10
Type: VPN
Subtype: encrypt
Result: DROP
Config:
Additional Information:
firepower# packet-tracer input inside icmp 10.10.113.10 8 0 10.10.110.10
Phase: 1
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 172.16.100.1 using egress ifc outside
Phase: 2
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
nat (Inside,outside) source static FTDSubnet FTDSubnet destination static ASASubnet ASASubnet no-proxy-arp route-lookup
Additional Information:
NAT divert to egress interface outside
Untranslate 10.10.110.10/0 to 10.10.110.10/0
Phase: 3
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group CSM_FW_ACL_ global
access-list CSM_FW_ACL_ advanced permit ip ifc Inside object-group FMC_INLINE_src_rule_268436483 ifc outside object-group FMC_INLINE_dst_rule_268436483 rule-id 268436483
access-list CSM_FW_ACL_ remark rule-id 268436483: ACCESS POLICY: FTD-Access-Control-Policy - Mandatory
access-list CSM_FW_ACL_ remark rule-id 268436483: L7 RULE: VPN_Traffic
object-group network FMC_INLINE_src_rule_268436483
description: Auto Generated by FMC from src of UnifiedNGFWRule# 1 (FTD-Access-Control-Policy/mandatory)
network-object object ASASubnet
network-object object FTDSubnet
object-group network FMC_INLINE_dst_rule_268436483
description: Auto Generated by FMC from dst of UnifiedNGFWRule# 1 (FTD-Access-Control-Policy/mandatory)
network-object object ASASubnet
network-object object FTDSubnet
Additional Information:
This packet is sent to snort for additional processing where a verdict is reached
Phase: 5
Type: NAT
Subtype:
Result: ALLOW
Config:
nat (Inside,outside) source static FTDSubnet FTDSubnet destination static ASASubnet ASASubnet no-proxy-arp route-lookup
Additional Information:
Static translate 10.10.113.10/0 to 10.10.113.10/0
Phase: 10
Type: VPN
Subtype: encrypt
Result: ALLOW
Config:
Additional Information:
Result:
input-interface: Inside
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: allow
トンネルステータスをモニタするには、FTDまたはASAのCLIに移動します。
FTD CLIから次のコマンドを使用して、phase-1とphase-2を確認します。
show crypto ikev2 sa
> show crypto ikev2 sa
IKEv2 SAs:
Session-id:4, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Tunnel-id Local Remote Status Role
9528731 172.16.100.20/500 192.168.200.10/500 READY INITIATOR
Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/118 sec
Child sa: local selector 10.10.113.0/0 - 10.10.113.255/65535
remote selector 10.10.110.0/0 - 10.10.110.255/65535
ESP spi in/out: 0x66be357d/0xb74c8753
トラブルシューティングとデバッグ
初期接続の問題
VPNを構築する際には、トンネルをネゴシエートしている2つの側があります。したがって、あらゆるタイプのトンネル障害をトラブルシューティングする場合は、会話の両側を調べるのが最善です。 IKEv2トンネルのデバッグ方法の詳細については、「IKEv2 VPNのデバッグ方法」を参照してください。
トンネル障害の最も一般的な原因は、接続の問題です。これを判断する最善の方法は、デバイスでパケットキャプチャを取得することです。 デバイスでパケットキャプチャを取得するには、次のコマンドを使用します。
Capture capout interface outside match ip host 172.16.100.20 host 192.168.200.10
キャプチャが設定されたら、VPN経由でトラフィックを送信し、パケットキャプチャに双方向トラフィックが含まれていないかを確認します。
次のコマンドを使用して、パケットキャプチャを確認します。
show cap capout(隠しコマンド)
firepower# show cap capout
4 packets captured
1: 11:51:12.059628 172.16.100.20.500 > 192.168.200.10.500: udp 690
2: 11:51:12.065243 192.168.200.10.500 > 172.16.100.20.500: udp 619
3: 11:51:12.066692 172.16.100.20.500 > 192.168.200.10.500: udp 288
4: 11:51:12.069835 192.168.200.10.500 > 172.16.100.20.500: udp 240
トラフィック固有の問題
発生する一般的なトラフィックの問題は次のとおりです。
- FTDの背後のルーティング問題:内部ネットワークが、割り当てられたIPアドレスとVPNクライアントにパケットをルーティングして戻すことができません。
- トラフィックをブロックするアクセスコントロールリスト。
- Network Address Translation(NAT;ネットワークアドレス変換)がVPNトラフィックにバイパスされていない。
FMCによって管理されるFTDでのVPNに関する詳細については、次のリンクで設定ガイドを参照できます。FMCによって管理されるFTD設定ガイド