今回はLISPとGETVPNを組み合わせて、LISPのデータプレーンの通信を暗号化する方法を説明します。
概要
LISPのデータプレーンの暗号化
LISPのデータプレーンの通信は暗号化されないため、盗聴される危険性があります。
LISPではGETVPN(Group Encrypted Transport VPN)と呼ばれる技術を併用することで、データプレーンの通信を暗号化可能です。
GETVPN
複数の拠点間でIPsecをフルメッシュに構成する場合、各ルータは対向拠点毎にIPsec SAを生成する必要があります。そのため、拠点数が増加すると、ルータが保持する情報量が指数的に増加してしまいます。
一方、GETVPNの場合、拠点数がどれだけ増加しても、各ルータは1個のIPsec SAのみ生成すればよいので、ルータが保持する情報量を大幅に削減できます。
GETVPNでは、GCKS(Group Controller/Key Server)とGM(Group Member)と呼ばれる役割が存在します。
GCKSが各GMに対して、IPsec VPNを構築するためのポリシーを配布します。GMは学習したポリシーを基に、IPsec SAを1個生成し、フルメッシュなIPsec VPNを構築します。
GCKSとGM間の通信には、GDOI(Group Domain of Interpretation)と呼ばれるプロトコルを使用します。
検証の基本設定
基本設定の内容
R1をMR/MS、R2とR3をxTRとして動作させます。
R2はEID-Prefixが10.1.1.0/24、RLOCが172.16.1.2のマッピング情報をR1に登録します。
R3はEID-Prefixが10.2.2.0/24、RLOCが172.16.1.3のマッピング情報をR1に登録します。
R1をGCKS、R2とR3をGMとして動作させ、GETVPNを構築します。
R2とR3はGETVPNを使用して、LISPのデータプレーンの通信を暗号化します。
基本設定
crypto key generate rsa modulus 1024 label GDOI_KEY
!
crypto isakmp policy 1
encryption 3des
hash md5
authentication pre-share
group 2
crypto isakmp key Zaq12wsx!@ address 172.16.1.2
crypto isakmp key Zaq12wsx!@ address 172.16.1.3
!
crypto ipsec transform-set TRANSFORM_SET esp-3des esp-md5-hmac
mode tunnel
!
crypto ipsec profile IPSEC_PROFILE
set transform-set TRANSFORM_SET
!
crypto gdoi group GDOI_GROUP
identity number 123
server local
rekey algorithm aes 128
rekey sig-hash algorithm sha256
rekey authentication mypubkey rsa GDOI_KEY
rekey transport unicast
sa ipsec 1
profile IPSEC_PROFILE
match address ipv4 CRYPTO_ACL
replay counter window-size 64
address ipv4 172.16.1.1
!
interface GigabitEthernet2
ip address 172.16.1.1 255.255.255.0
!
router lisp
service ipv4
map-server
map-resolver
exit-service-ipv4
!
site Site_1
authentication-key Zaq12wsx!@
eid-record 10.1.1.0/24
eid-record 10.2.2.0/24
exit-site
!
exit-router-lisp
!
ip access-list extended CRYPTO_ACL
10 permit ip 10.0.0.0 0.255.255.255 10.0.0.0 0.255.255.255
crypto isakmp policy 1
encryption 3des
hash md5
authentication pre-share
group 2
crypto isakmp key Zaq12wsx!@ address 172.16.1.1
!
crypto gdoi group GDOI_GROUP
identity number 123
server address ipv4 172.16.1.1
client registration interface GigabitEthernet2
!
crypto map CRYPTO_MAP 10 gdoi
set group GDOI_GROUP
!
interface LISP0
crypto map CRYPTO_MAP
!
interface GigabitEthernet2
ip address 172.16.1.2 255.255.255.0
!
interface GigabitEthernet3
ip address 10.1.1.2 255.255.255.0
!
router lisp
service ipv4
itr map-resolver 172.16.1.1
itr
etr map-server 172.16.1.1 key Zaq12wsx!@
etr
exit-service-ipv4
!
instance-id 0
service ipv4
eid-table default
database-mapping 10.1.1.0/24 172.16.1.2 priority 1 weight 50
exit-service-ipv4
!
exit-instance-id
!
exit-router-lisp
crypto isakmp policy 1
encryption 3des
hash md5
authentication pre-share
group 2
crypto isakmp key Zaq12wsx!@ address 172.16.1.1
!
crypto gdoi group GDOI_GROUP
identity number 123
server address ipv4 172.16.1.1
client registration interface GigabitEthernet2
!
crypto map CRYPTO_MAP 10 gdoi
set group GDOI_GROUP
!
interface LISP0
crypto map CRYPTO_MAP
!
interface GigabitEthernet2
ip address 172.16.1.3 255.255.255.0
!
interface GigabitEthernet3
ip address 10.2.2.3 255.255.255.0
!
router lisp
service ipv4
itr map-resolver 172.16.1.1
itr
etr map-server 172.16.1.1 key Zaq12wsx!@
etr
exit-service-ipv4
!
instance-id 0
service ipv4
eid-table default
database-mapping 10.2.2.0/24 172.16.1.3 priority 1 weight 50
exit-service-ipv4
!
exit-instance-id
!
exit-router-lisp
interface GigabitEthernet2
ip address 10.1.1.4 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.1.2
interface GigabitEthernet2
ip address 10.2.2.5 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.2.2.3
設定内容と状態の確認
設定確認
R1にGCKS、R2とR3にGM用のGETVPNの設定を投入します。
xTRにおいて、データプレーンの通信をGETVPNで暗号化するために、LISP用の仮想インタフェースにCrypto Mapを割り当てます。
interface LISP0
crypto map CRYPTO_MAP
状態確認
LISPのオーバレイネットワーク上でIPsec SAが構成されていることを確認します。
R2のGETVPNの状態を見ると、LISP用の仮想インタフェース上でIPsec SAを構成していることが確認できます。
R2#show crypto gdoi
GROUP INFORMATION
Group Name : GDOI_GROUP
Group Identity : 123
Group Type : GDOI (ISAKMP)
Crypto Path : ipv4
Key Management Path : ipv4
Rekeys received : 0
IPSec SA Direction : Both
Group Server list : 172.16.1.1
Group Member Information For Group GDOI_GROUP:
IPSec SA Direction : Both
ACL Received From KS : gdoi_group_GDOI_GROUP_temp_acl
Group member : 172.16.1.2 vrf: None
Local addr/port : 172.16.1.2/848
Remote addr/port : 172.16.1.1/848
fvrf/ivrf : None/None
Version : 1.0.25
Registration status : Registered
Registered with : 172.16.1.1
Re-registers in : 3125 sec
Succeeded registration: 1
Attempted registration: 1
Last rekey from : UNKNOWN
Last rekey seq num : 0
Unicast rekey received: 0
Rekey ACKs sent : 0
Rekey Received : never
DP Error Monitoring : OFF
IPSEC init reg executed : 0
IPSEC init reg postponed : 0
Active TEK Number : 1
SA Track (OID/status) : disabled
Fail-Close Revert : Disabled
allowable rekey cipher: any
allowable rekey hash : any
allowable transformtag: any ESP
Rekeys cumulative
Total received : 0
After latest register : 0
Rekey Acks sents : 0
ACL Downloaded From KS 172.16.1.1:
access-list permit ip 10.0.0.0 0.255.255.255 10.0.0.0 0.255.255.255
KEK POLICY:
Rekey Transport Type : Unicast
Lifetime (secs) : 86168
Encrypt Algorithm : AES
Key Size : 128
Sig Hash Algorithm : HMAC_AUTH_SHA256
Sig Key Length (bits) : 1296
TEK POLICY for the current KS-Policy ACEs Downloaded:
LISP0:
IPsec SA:
spi: 0x9C27EF5F(2619862879)
transform: esp-3des esp-md5-hmac
sa timing:remaining key lifetime (sec): (3370)
Anti-Replay(Counter Based) : 64
tag method : disabled
alg key size: 24 (bytes)
sig key size: 16 (bytes)
encaps: ENCAPS_TUNNEL
この結果、xTRはLISPでパケットをカプセル化する前に、IPsecでパケットを暗号化できます。
以下はR4の10.1.1.4からR5の10.2.2.5へのICMP Echoになります。IPsecのESP(Encapsulated Security Payload)で暗号化されていることが確認できます。
コメント