| 確認 |
IPsecは,IPパケットを暗号化して通信する技術です。
インターネットVPNを構築する際によく使われています。
ここでは,2台のルーター同士のトラフィックを暗号化してみます。
●IPsecの動作
IPsecを使ってIPパケットを安全にやりとりするには,以下の3ステップが必要です。
1.ISAKMPフェーズ1…ISAKMP SAを確立する
2.ISAKMPフェーズ2…フェーズ1で作ったISAKMP SA内で,IPsec SAを確立する
3.IPsecの暗号通信…フェーズ2で作ったIPsec SA内で,IPパケットをやりとりする
出てきた用語を確認しておきましょう。
【IPsecの用語】
ISAKMP…鍵交換(両ルーターで同じ鍵を作るため)のプロトコル
ISAKMP SA…鍵交換をするためのトンネル
IPsec SA…IPsecによる暗号通信をするためのトンネル
つまり,最初に安全に鍵交換をするためのトンネルを作り(ISAKMPフェーズ1),そのトンネルを使ってIPsecで通信するためのトンネルを作り(ISAKMPフェーズ2),そのトンネルを使ってIPパケットを安全にやりとりする(IPsecの暗号通信)という流れになります。
「SA」というのは「トンネル」のことです。
トンネルの実体は,暗号鍵,ハッシュ鍵,暗号アルゴリズム,ハッシュアルゴリズムといった,暗号通信に必要な要素です。
「トンネルを作る」や「SAを確立する」というのは,これらの鍵やアルゴリズムを決める作業というわけです。
●設定の確認
上のコンフィグ設定は,2台のルーターでIPsecによる暗号通信をするための設定です。
RouterAの設定を確認してみます。
ISAKMP SAの設定を見るには,show crypt isakmp policyと入力します。
RouterA#show crypto isakmp policy
Protection suite of priority 1
encryption algorithm: DES - Data Encryption Standard (56 bit keys).
hash algorithm: Secure Hash Standard
authentication method: Pre-Shared Key
Diffie-Hellman group: #1 (768 bit)
lifetime: 86400 seconds, no volume limit
Default protection suite
encryption algorithm: DES - Data Encryption Standard (56 bit keys).
hash algorithm: Secure Hash Standard
authentication method: Rivest-Shamir-Adleman Signature
Diffie-Hellman group: #1 (768 bit)
lifetime: 86400 seconds, no volume limit
上側が現在の設定で,下側がデフォルトの設定です。
デフォルト設定と変えたところは,お互いのルーターの認証方法にプレシェアードキー方式を使っているところです(上の青字の部分)。
プレシェアードキーは,お互いのルーターに設定するパスワードです。
今回はプレシェアード・キーとして「ciscovpn」という文字列を設定しています。
そのほかの項目はデフォルトと同じで,暗号アルゴリズムがDES,ハッシュアルゴリズムがSHA-1,Diffie-Hellmanグループが1番,ライフタイム(ISAKMP
SAの寿命)が36400秒となっています。
Diffie-Hellmanグループは,ISAKMPフェーズ1で鍵を作るためのパラメータです。
これらの項目はすべて,両ルーターで一致させる必要があります。
次に,IPsec SAの設定の様子を見てみましょう。
IPsec SAに関する設定は,「トランスフォームセット」と呼ばれます。
RouterA#show crypto ipsec transform-set
Transform set TS-Basic: { esp-des esp-sha-hmac }
will negotiate = { Tunnel, },
「TS-Basic」という名前のトランスフォームセットです。
「esp-des esp-sha-hmac」という表示で,暗号アルゴリズムにDESを使い,ハッシュアルゴリズムににSHA-1を使うことがわかります。
ESPというのは,暗号通信をするときに使うプロトコルの種類です(このほかにAHがあります)。
HMACというのは,単なるハッシュではなく,鍵を組み合わせてハッシュする「鍵付ハッシュ関数」を使うという意味です。
これも,両ルーターで同じ設定にする必要があります。
●IPsec通信前の状態
IPsec通信前のRouterAのISAKMP SAとIPsec SAの様子を見てみましょう。
ISAKMP SAは確立していないことがわかります。
RouterA#show crypto isakmp sa
dst src state conn-id slot
IPsec SAの様子も見てみましょう。
IPsec SAが確立していれば,inbound esp sasとinbound esp sasの部分にトンネルに関する情報が表示されます(下の青字)。
その部分に情報がないので,まだIPsec SAも確立していないことがわかります。
RouterA#show crypto ipsec sa
interface: Serial0
Crypto map tag: MAP-Basic, local addr. 1.1.1.1
local ident (addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (10.1.2.0/255.255.255.0/0/0)
current_peer: 1.1.1.2
PERMIT, flags={origin_is_acl,}
#pkts encaps: 0, #pkts encrypt: 0, #pkts digest 0
#pkts decaps: 0, #pkts decrypt: 0, #pkts verify 0
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0
local crypto endpt.: 1.1.1.1, remote crypto endpt.: 1.1.1.2
path mtu 1500, media mtu 1500
current outbound spi: 0
inbound esp sas:
inbound ah sas:
inbound pcp sas:
outbound esp sas:
outbound ah sas:
outbound pcp sas:
●IPsecの通信をスタート
それでは,設定に基づいてIPsecの暗号通信をさせてみましょう。
RouterAの設定では,10.1.1.0/24から10.1.2.0/24のトラフィックをIPsecのトラフィックに定義しています。
拡張pingを使って,送信元アドレスを10.1.1.1に,あて先アドレスを10.1.2.1にしたpingパケットを送ります。
RouterA#ping
Protocol [ip]:
Target IP address: 10.1.2.1
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 10.1.1.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.2.1, timeout is 2 seconds:
....!
Success rate is 20 percent (1/5), round-trip min/avg/max = 84/84/84 ms
下から2行目の「....!」という表示に注目して下さい。
5回pingを打って,5回目に応答が返って来たことを示しています。
4回目まで応答が返って来ないのは,暗号通信が実施されるまでに少し時間がかかるためです。
●IPsec通信後の状態
IPsecによる通信後のISAKMP SAとIPsec SAの状態を確認しましょう。
ISAKMP SAを見てみると,通信前にはなかったエントリが表示され,ISAKMP SAが確立したことがわかります。
RouterA#show crypto isakmp sa
dst src state conn-id slot
1.1.1.2 1.1.1.1 QM_IDLE 1 0
IPsec SAも見てみましょう。
inbound esp sasとinbound esp sasの部分に,トンネルに関する情報が表示されました(下の青字)。
トランスフォームセットの設定が反映されていることがわかります。
RouterA#show crypto ipsec sa
interface: Serial0
Crypto map tag: MAP-Basic, local addr. 1.1.1.1
local ident (addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (10.1.2.0/255.255.255.0/0/0)
current_peer: 1.1.1.2
PERMIT, flags={origin_is_acl,}
#pkts encaps: 1, #pkts encrypt: 1, #pkts digest 1
#pkts decaps: 1, #pkts decrypt: 1, #pkts verify 1
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0, #pkts decompress failed: 0
#send errors 4, #recv errors 0
local crypto endpt.: 1.1.1.1, remote crypto endpt.: 1.1.1.2
path mtu 1500, media mtu 1500
current outbound spi: B2B0B540
inbound esp sas:
spi: 0x5B0559BF(1527077311)
transform: esp-des esp-sha-hmac ,
in use settings ={Tunnel, }
slot: 0, conn id: 2000, flow_id: 1, crypto map: MAP-Basic
sa timing: remaining key lifetime (k/sec): (4607999/3486)
IV size: 8 bytes
replay detection support: Y
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0xB2B0B540(2997925184)
transform: esp-des esp-sha-hmac ,
in use settings ={Tunnel, }
slot: 0, conn id: 2001, flow_id: 2, crypto map: MAP-Basic
sa timing: remaining key lifetime (k/sec): (4607999/3486)
IV size: 8 bytes
replay detection support: Y
outbound ah sas:
outbound pcp sas:
show crypt engine connection activeコマンドを使うと,ISAKMP SAとIPsec SAの概要が表示されます。
一番上(ID 1)がISAKMP SAの情報で,真ん中(ID 2000)がIPパケット受信用のIPsec SAで,一番下(ID 2001)がIPsec送信用のIPsec
SAです。
IPsecではこのように,送信用と受信用の二つのトンネルを使って通信をします。
RouterA#show crypto engine connections active
ID Interface IP-Address State Algorithm Encrypt Decrypt
1 <none> <none> set HMAC_SHA+DES_56_CB 0 0
2000 Serial0 1.1.1.1 set HMAC_SHA+DES_56_CB 0 1
2001 Serial0 1.1.1.1 set HMAC_SHA+DES_56_CB 1 0
RouterBの様子も見ておきましょう。
同様に,一つのISAKMP SAと二つのIPsec SAが出来ているのがわかります。
RouterB#show crypto engine connections active
ID Interface IP-Address State Algorithm Encrypt Decrypt
1 Serial0 1.1.1.2 set HMAC_SHA+DES_56_CB 0 0
2000 Serial0 1.1.1.2 set HMAC_SHA+DES_56_CB 0 1
2001 Serial0 1.1.1.2 set HMAC_SHA+DES_56_CB 1 0
● IP Security(IPSec)暗号化の概要
http://www.cisco.com/japanese/warp/public/3/jp/service/tac/105/IPSECpart1-j.shtml
●IPSec VPN を用いた LAN-to-LAN 接続設定例
http://www.cisco.com/japanese/warp/public/3/jp/service/tac/original/router_guide/ipsec_lantolan.shtml
|
|