内容

概要

前提条件

要件

使用するコンポーネント

トポロジ

コンフィギュレーション

R1（中央サイトのキー サーバ）

R3（Branch1 のグループ メンバー）

R5、R6 の設定

確認

SGT 対応 GETVPN のテスト

SGT 対応 ZBF のテスト

参考資料

関連するシスコ サポート コミュニティ ディスカッション

概要

この記事では、ポリシーをプッシュするように GETVPN を設定して、暗号化パケットに挿入されたセキュリティ グループ タグ（SGT）の送受信を許可する方法を紹介します。この設定例では、2 つのブランチがすべてのトラフィックに特定の SGT タグを付け、受信した SGT タグに基づいてゾーンベース ファイアウォール（ZBF）ポリシーを適用します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- IOS コマンドライン インターフェイス（CLI）の設定と GETVPN 設定の基礎知識

- TrustSec サービスの基礎知識

- ゾーンベース ファイアウォールの基礎知識

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。

- ソフトウェア リリース 15.3(2)T 以降を実行する Cisco 2921 ルータ

トポロジ

R3：Branch1 にある境界ルータ。GETVPN グループのメンバーです。

R4：Branch2 にある境界ルータ。GETVPN グループのメンバーです。

R1、R2：中央サイトにある GETVPN キー サーバです。

すべてのルータでは OSPF が実行されています。

KS からプッシュされる ACL により、10.0.0.0/16 <-> 10.0.0.0/16 間のトラフィックは強制的に暗号化されます。

R3 ルータが Branch1 から送信されたすべてのトラフィックに付ける SGT タグは 3 です。

R4 ルータが Branch2 から送信されたすべてのトラフィックに付ける SGT タグは 4 です。

R3 は LAN に向けてトラフィックを送信する際に SGT タグを削除します（R5 はインライン タギングをサポートしていないという前提です）。

R4 は LAN に向けてトラフィックを送信する際に SGT タグを削除します（R6 はインライン タギングをサポートしていないという前提です）。

R4 にファイアウォールはありません（すべてのパケットを受け入れます）。

R3 には、次のポリシーを使用した ZBF が設定されています。

- LAN から WAN に送信されるすべてのトラフィックを受け入れます。

- WAN から LAN に送信される ICMP は、SGT=4 のタグが付けられている場合にのみ許可

コンフィギュレーション

R1（中央サイトのキー サーバ）

ポリシーを送信してタグ付きパケットの送受信を許可するには、「tac cts sgt」コマンドがなければなりません。

interface Loopback0

ip address 10.0.1.1 255.255.255.0

!

interface Ethernet0/0

ip address 192.168.0.1 255.255.255.0

crypto ipsec transform-set TS esp-aes esp-sha256-hmac

mode tunnel

!

crypto ipsec profile prof1

set transform-set TS

!

crypto gdoi group group1

identity number 1

server local

rekey authentication mypubkey rsa GETKEY

rekey transport unicast

sa ipsec 1

profile prof1

match address ipv4 GET-IPV4

replay counter window-size 64

tag cts sgt

address ipv4 192.168.0.1

redundancy

local priority 100

peer address ipv4 192.168.0.2

router ospf 1

network 10.0.0.0 0.0.255.255 area 0

network 192.168.0.0 0.0.0.255 area 0

ip access-list extended GET-IPV4

permit icmp 10.0.0.0 0.0.255.255 10.0.0.0 0.0.255.255

R2 の設定もほとんど同じです。

R3（Branch1 のグループ メンバー）

GETVPN 設定は、SGT タグがない場合のシナリオと同じです。LAN インターフェイスは手動 TrustSec で次のように設定されています。

- policy static sgt 3 trusted：LAN から受信したすべてのパケットに SGT=3 のタグを付けます。

- no propagate sgt：パケットを LAN に送信する際にすべての SGT タグを削除します。

crypto gdoi group group1

identity number 1

server address ipv4 192.168.0.1

server address ipv4 192.168.0.2

!

!

crypto map cmap 10 gdoi

set group group1

interface Ethernet0/0

ip address 192.168.0.3 255.255.255.0

crypto map cmap

!

interface Ethernet0/1

ip address 10.0.3.1 255.255.255.0

cts manual

no propagate sgt

policy static sgt 3 trusted

router ospf 1

network 10.0.0.0 0.0.255.255 area 0

network 192.168.0.0 0.0.0.255 area 0

R3 での ZBF は次のように設定されています。

LAN からのすべてのパケットを受け入れます。WAN から送信された ICMP パケットは、SGT=4 のタグが付けられている場合にのみ受け入れます。

class-map type inspect match-all TAG_4_ICMP

match security-group source tag 4

match protocol icmp

!

policy-map type inspect FROM_LAN

class class-default

pass log

policy-map type inspect FROM_WAN

class type inspect TAG_4_ICMP

pass log

class class-default

drop log

!

zone security lan

zone security wan

zone-pair security WAN-LAN source wan destination lan

service-policy type inspect FROM_WAN

zone-pair security LAN-WAN source lan destination wan

service-policy type inspect FROM_LAN

interface Ethernet0/0

zone-member security wan

!

interface Ethernet0/1

zone-member security lan

Branch2 にある R4 の設定は、ZBF が設定されていないという点を除けば同じです。

R5、R6 の設定

R5 と R6 は、どちらのブランチでもローカル LAN をシミュレートします。以下に、R5 の設定例を記載します。

interface Ethernet0/0

ip address 10.0.3.10 255.255.255.0

router ospf 1

network 10.0.0.0 0.0.255.255 area 0

確認

SGT 対応 GETVPN のテスト

SGT タギングが Branch1 のグループ メンバー（R3）でサポートされているかどうかを確認します。

R3#show crypto gdoi feature cts-sgt

Version    Feature Supported

1.0.8           Yes

Branch1 のグループ メンバー（R3）にプッシュされた TEK ポリシーで SGT が使用されているかどうかを確認します。

R3#show crypto gdoi

GROUP INFORMATION

<...some output ommited for clarity...>

TEK POLICY for the current KS-Policy ACEs Downloaded:

Ethernet0/0:

IPsec SA:

spi: 0xD100D58E(3506492814)

transform: esp-aes esp-sha256-hmac

sa timing:remaining key lifetime (sec): expired

Anti-Replay(Counter Based) : 64

tag method : cts sgt

alg key size: 16 (bytes)

sig key size: 32 (bytes)

encaps: ENCAPS_TUNNEL

IPsec SA:

spi: 0x52B3CA86(1387514502)

transform: esp-aes esp-sha256-hmac

sa timing:remaining key lifetime (sec): (1537)

Anti-Replay(Counter Based) : 64

tag method : cts sgt

alg key size: 16 (bytes)

sig key size: 32 (bytes)

encaps: ENCAPS_TUNNEL

R6 から R5 に ICMP トラフィックを送信します。

R6#ping 10.0.3.10 repeat 10

Type escape sequence to abort.

Sending 10, 100-byte ICMP Echos to 10.0.3.10, timeout is 2 seconds:

!!!!!!!!!!

Success rate is 100 percent (10/10), round-trip min/avg/max = 1/1/6 ms

R3 が暗号化パケットに SGT タグを追加しているかどうかを確認します。

R3#show crypto ipsec sa detail

interface: Ethernet0/0

Crypto map tag: cmap, local addr 192.168.0.3

protected vrf: (none)

local  ident (addr/mask/prot/port): (10.0.0.0/255.255.0.0/1/0)

remote ident (addr/mask/prot/port): (10.0.0.0/255.255.0.0/1/0)

Group: group1

current_peer 0.0.0.0 port 848

PERMIT, flags={}

#pkts encaps: 39, #pkts encrypt: 39, #pkts digest: 39

#pkts decaps: 39, #pkts decrypt: 39, #pkts verify: 39

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 0, #pkts compr. failed: 0

#pkts not decompressed: 0, #pkts decompress failed: 0

#pkts no sa (send) 0, #pkts invalid sa (rcv) 0

#pkts encaps failed (send) 0, #pkts decaps failed (rcv) 0

#pkts invalid prot (recv) 0, #pkts verify failed: 0

#pkts invalid identity (recv) 0, #pkts invalid len (rcv) 0

#pkts replay rollover (send): 0, #pkts replay rollover (rcv) 0

##pkts replay failed (rcv): 0

#pkts tagged (send): 39, #pkts untagged (rcv): 39

<...some output ommited for clarity...>

Branch2 にあるグループ メンバー（R3）のデータ プレーン カウンタを確認します。

R3#show crypto gdoi gm dataplane counters

Data-plane statistics for group group1:

#pkts encrypt            : 53       #pkts decrypt            : 53

#pkts tagged (send)      : 53       #pkts untagged (rcv)     : 53

#pkts no sa (send)       : 0        #pkts invalid sa (rcv)   : 0

#pkts encaps fail (send) : 0        #pkts decap fail (rcv)   : 0

#pkts invalid prot (rcv) : 0        #pkts verify fail (rcv)  : 0

#pkts not tagged (send)  : 0        #pkts not untagged (rcv) : 0

#pkts internal err (send): 0        #pkts internal err (rcv) : 0

プラットフォームに依存する詳細は、デバッグを使用して確認できます。たとえば、R3 の場合は次のコマンドを使用します。

R3#debug cts platform l2-sgt rx

R3#debug cts platform l2-sgt tx

R3 が LAN から受信したパケットには、次のように SGT タグが付けられているはずです。

01:48:08: cts-l2sgt_rx:l2cts-policysgt:[in=Ethernet0/1 src=0100.5e00.0005 dst=aabb.cc00.6800] Policy SGT Assign [pak=F1B00E00:flag=0x1:psgt=3]

また、トンネル経由で送信された暗号化パケットには、次のようにタグが付けられます。

01:49:28: cts_ether_cmd_handle_post_encap_feature:pak[36BF868]:size=106 in=Ethernet0/1 out=Ethernet0/0 enctype=1 encsize=0 sgt_offset=18 [adj]:idb=Ethernet0/0 is_dot1q=0 linktype=7 mac_length=22 SGT=3

SGT 対応 ZBF のテスト

R3 は WAN から送信された ICMP パケットのうち、SGT=4 のタグが付けられているパケットだけを受け入れます。ICMP パケットを R6 から R5 に送信すると、次のようになります。

R6#ping 10.0.3.10 repeat 11

Type escape sequence to abort.

Sending 1, 100-byte ICMP Echos to 10.0.3.10, timeout is 2 seconds:

!

Success rate is 100 percent (1/1), round-trip min/avg/max = 1/1/6 ms

R3 はタグ付き ESP パケットを受信して、それを複合します。これにより、ZBF がトラフィックを受け入れます。

*Mar 17 12:45:28.039: %FW-6-PASS_PKT: (target:class)-(WAN-LAN:TAG_4_ICMP) Passing icmp pkt 10.0.4.10:0 => 10.0.3.10:0 with ip ident 57

また、ポリシー マップにより、受け入れられたパケット数を示すカウンタが表示されます。

R3#show policy-firewall stats all

Global Stats:

Session creations since subsystem startup or last reset 0

Current session counts (estab/half-open/terminating) [0:0:0]

Maxever session counts (estab/half-open/terminating) [0:0:0]

Last session created never

Last statistic reset never

Last session creation rate 0

Maxever session creation rate 0

Last half-open session total 0

policy exists on zp WAN-LAN

Zone-pair: WAN-LAN

Service-policy inspect : FROM_WAN

Class-map: TAG_4_ICMP (match-all)

Match: security-group source tag 4

Match: protocol icmp

Pass

18 packets, 1440 bytes

Class-map: class-default (match-any)

Match: any

Drop

3 packets, 72 bytes

policy exists on zp LAN-WAN

Zone-pair: LAN-WAN

Service-policy inspect : FROM_LAN

Class-map: class-default (match-any)

Match: any

Pass

18 packets, 1440 bytes

R6 から R5 に Telnet で接続しようとすると、Telnet は許可されないことから、R3 によって Telnet セッションがドロップされます。

*Mar 17 12:49:30.475: %FW-6-DROP_PKT: Dropping tcp session 10.0.4.10:37500 10.0.3.10:23 on zone-pair WAN-LAN class class-default due to  DROP action found in policy-map with ip ident 36123

参考資料

- Cisco TrustSec スイッチ コンフィギュレーション ガイドCisco TrustSec について

- セキュリティ アプライアンスのユーザ認証に外部サーバを設定

- Cisco ASA シリーズ VPN CLI 構成ガイド 9.1

- 『Cisco Identity Services Engine User Guide, Release 1.2（Cisco Identity Services Engine ユーザ ガイド リリース 1.2）』

- テクニカル サポートとドキュメント – Cisco Systems