« coLinux (・∀・)イイ!! | メイン | coLinux 続編 »

IPsecを再び

以前のブログでもCiscoルータでIPsecをのせていたんですが、今度ものせてみました。
なぜって?自分の為のメモ用として。。。
それに、他の人のお役にも立てるかもってね。

設定、確認コマンドは続きでご覧くださいな。

IPsecの設定手順は以下の通り

1,ISAKMPを有効にする(デフォルトで有効)

2,IKEポリシーの作成
IKE Phase2で使用する暗号化などを設定する。

3,ISAKMP IDの設定(おまけ)
IPSecピア間では、事前共有鍵とISAKMP IDを使用して、ISAKMPネゴシエーション中にお互いを認証する。このISAKMP IDは、ルータのIPアドレス、またはホスト名のどちらでもいい。デフォルトではIPアドレスを使用する事になっている。

4,ISAKMPネゴシエーション時に相手を認証するときの事前共有鍵を設定する。
(authentication pre-shareで設定したときに必要)

5,トランスフォームセットの設定する。
IPsecで使用する暗号化などの設定し、1つのトランスフォームセットで3つまで指定出来る。

6,暗号化するパケットをアクセスリストを使って指定する。

7,暗号化マップを作成する。
どの相手に対して、どのトランスフォームセットを使用するか、どのパケットを暗号化するかなど今まで設定したIPsecの設定をまとめるのが暗号化マップ。

8,暗号化マップをインタフェースに設定する。

9,IPsecの確認

以上で設定完了。
あとは、各項目の設定説明。


1,ISAKMPを有効にする(デフォルトで有効)
(config)# crypto isakmp enable

無効にする場合
(config)# no crypto isakmp enable

確認コマンド
無効の場合
#show crypto isakmp policy
ISAKMP is turned off

有効の場合
show crypto isakmp policy
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

2,IKEポリシーの作成
IKE Phase2で使用する暗号化などを設定する。
・ピアの認証方法
事前鍵
RSA署名(デフォルト)
RSA暗号化 nonce
・暗号化方法
desのみ(デフォルト)
・Diffie-Hellmanのmodで使う数字
DHグループ1なら232桁の10進数(768bit)(デフォルト)
DHグループ2なら309桁の10進数(1024bit)
・改ざん検知
SHA-1(デフォルト)
MD5
・ISAKMPで確率されたSAの生存時間
86,400秒(1日)(デフォルト)

設定例:
(config)# crypto isakmp policy 100
(config-isakmp)# authentication pre-share
(config-isakmp)# encryption des
(config-isakmp)# group 1
(config-isakmp)# hash sha
(config-isakmp)# lifetime 86400

確認コマンド
Central#sh crypto isakmp policy
Protection suite of priority 100
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

3,ISAKMP IDの設定(おまけ)
IPSecピア間では、事前共有鍵とISAKMP IDを使用して、ISAKMPネゴシエーション中にお互いを認証する。このISAKMP IDは、ルータのIPアドレス、またはホスト名のどちらでもいい。デフォルトではIPアドレスを使用する事になっている。

設定例:
(config)# crypto isakmp identity address

4,ISAKMPネゴシエーション時に相手を認証するときの事前共有鍵を設定する。
(authentication pre-shareで設定したときに必要)

設定例:
(config)# crypto isakmp key cisco address 20.1.1.1
20.1.1.1とならciscoのパスワードを使用する。

確認コマンド:
# show crypto isakmp key
Hostname/Address Preshared Key
20.1.1.1 cisco

5,トランスフォームセットの設定する。
IPsecで使用する暗号化などの設定し、1つのトランスフォームセットで3つまで指定出来る。
・ペイロードのフォーマット
AH
ESP
・IPsecモード
トンネルモード(デフォルト)
トランスポートモード

設定例:
(config)#crypto ipsec transform-set TEST esp-sha-hmac esp-des
(cfg-crypto-trans)# mode tunnel

確認コマンド:
# show crypto ipsec transform-set
Transform set TEST: { esp-des esp-sha-hmac }
will negotiate = { Tunnel, },

6,暗号化するパケットをアクセスリストを使って指定する。
設定例:
access-list 100 permit ip 30.1.1.0 0.0.0.255 10.1.1.0 0.0.0.255
30.1.1.0/24から送られてきて、10.1.1.0/24に向かうパケットを暗号化し、
10.1.1.0/24から送られてきて、30.1.1.0/24に向かうパケットを複合化しる。
(上記の両方の意味をかねる)

7,暗号化マップを作成する。
どの相手に対して、どのトランスフォームセットを使用するか、どのパケットを暗号化するかなど今まで設定したIPsecの設定をまとめるのが暗号化マップ。

設定例:
(config)# crypto map ipsec 500 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
(config-crypto-map)# set transform-set TEST
(config-crypto-map)# match address 100
(config-crypto-map)# set peer 20.1.1.1
設定時にメッセージがでるが気にしない。
暗号化マップipsecは、isakmpを使用してPhase1を行う。データフォーマットは、トランスフォームセットのTESTで定義されているものを使う。アクセスリスト100にて、暗号化するパケット、暗号化しないパケットを決める。これを20.1.1.1に適応する。

確認コマンド:
#show crypto map
Crypto Map "ipsec" 500 ipsec-isakmp
Peer = 20.1.1.1
Extended IP access list 100
access-list 100 permit ip 30.1.1.0 0.0.0.255 10.1.1.0 0.0.0.255
Current peer: 20.1.1.1
Security association lifetime: 4608000 kilobytes/3600 seconds
PFS (Y/N): N
Transform sets={ TEST, }
Interfaces using crypto map ipsec:

8,暗号化マップをインタフェースに設定する。
設定例:
(config)# int fa0/0
Central(config-if)#crypto map ipsec

確認コマンド:
# show crypto map interface fa0/0
Crypto Map "ipsec" 500 ipsec-isakmp
Peer = 20.1.1.1
Extended IP access list 100
access-list 100 permit ip 30.1.1.0 0.0.0.255 10.1.1.0 0.0.0.255
Current peer: 20.1.1.1
Security association lifetime: 4608000 kilobytes/3600 seconds
PFS (Y/N): N
Transform sets={ TEST, }
Interfaces using crypto map ipsec:
FastEthernet0/0

9,IPsecの確認

・IPsec SAが出来る前
# sh crypto ipsec sa

interface: FastEthernet0/0
Crypto map tag: ipsec, local addr. 20.1.1.2

local ident (addr/mask/prot/port): (30.1.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)
current_peer: 20.1.1.1
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.: 20.1.1.2, remote crypto endpt.: 20.1.1.1
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 SAが出来た後
# sh crypto ipsec sa

interface: FastEthernet0/0
Crypto map tag: ipsec, local addr. 20.1.1.2

local ident (addr/mask/prot/port): (30.1.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)
current_peer: 20.1.1.1
PERMIT, flags={origin_is_acl,}
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest 4
#pkts decaps: 4, #pkts decrypt: 4, #pkts verify 4
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0, #pkts decompress failed: 0
#send errors 1, #recv errors 0

local crypto endpt.: 20.1.1.2, remote crypto endpt.: 20.1.1.1
path mtu 1500, media mtu 1500
current outbound spi: B668D7B6

inbound esp sas:
spi: 0xAC262D2E(2888183086)
transform: esp-des esp-sha-hmac ,
in use settings ={Tunnel, }
slot: 0, conn id: 2000, flow_id: 1, crypto map: ipsec
sa timing: remaining key lifetime (k/sec): (4607999/3549)
IV size: 8 bytes
replay detection support: Y

inbound ah sas:

inbound pcp sas:

outbound esp sas:
spi: 0xB668D7B6(3060324278)
transform: esp-des esp-sha-hmac ,
in use settings ={Tunnel, }
slot: 0, conn id: 2001, flow_id: 2, crypto map: ipsec
sa timing: remaining key lifetime (k/sec): (4607999/3549)
IV size: 8 bytes
replay detection support: Y

outbound ah sas:

outbound pcp sas:

暗号化、復号化されたパケットの数を調べる
#show crypto engine connections active

ID Interface IP-Address State Algorithm Encrypt Decrypt
1 set HMAC_SHA+DES_56_CB 0 0
2000 FastEthernet0/0 20.1.1.2 set HMAC_SHA+DES_56_CB 0 9
2001 FastEthernet0/0 20.1.1.2 set HMAC_SHA+DES_56_CB 9 0

About

2004年05月24日 23:23に投稿されたエントリーのページです。

ひとつ前の投稿は「coLinux (・∀・)イイ!!」です。

次の投稿は「coLinux 続編」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Creative Commons License
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.