[[CISCO入門]]
#setlinebreak(on)
[[Moroha's Wiki]]に戻る &br;
バージョン: &Version; &br;
オンラインユーザー数: &online;
閲覧数表示 本日/トータル: &counter(today); / &counter(total); &br;
最終更新:&lastmod();&br;
*IPsec [#md5e1a48]
-機密性
暗号化によってデータの機密性を確保すうる。
仮に攻撃者にデータが傍受されても内容が解読されるのを防ぐ
-整合性
データが伝送中に改ざんされていないことを保証する
-認証
認証によって通信相手を相互に証明し、信頼する正しい
相手から送られてきたデータであることを保証する
-リプレイ攻撃防止
リプレイ攻撃から自身(受信側)を防御する
**IPSecフレームワーク [#hc4bf5ec]
,IPsecプロトコル,AH,EPS,EPS+AH
,暗号化,DES,3DES,AES
,認証,MD5,SHA,
,交換鍵(DH),DH1,DH2,DH3
**IPSecのセキュリティプロトコル [#z73a1c25]
-ESP(Encapsulationg Security payload:暗号化ペイロード)
機密性(暗号化)、整合性、認証、リプレイ攻撃防止のセキュリティ機能を提供
プロトコル番号50番を使用
-AH(Authentication Header:認証ヘッダ)
整合性、認証、リプレイ攻撃防止のセキュリティを提供
プロトコル番号51番を使用
**IPsecのカプセル化モード [#e23b7ed3]
***トンネルモード [#td971ef8]
IPパケット全体をカプセル化し、新しくIPヘッダを付加する。
ESPによる暗号化の対象は元のIPヘッダとデータ部分両方。
サイト間VPNでは一般的にEPSトンネルモードが利用されます。
-AHトンネルモード
,新IPヘッダ,AHヘッダ,IPヘッダ,データ
,認証対象,認証対象,認証対象,認証対象
-ESPトンネルモード
,新IPヘッダ,ESPヘッダ,IPヘッダ,データ,ESPトレーラ,ESP認証データ
,,認証対象,認証・暗号化対象,認証・暗号化対象,認証・暗号化対象,
***トランスポートモード [#tf3ca40a]
IPヘッダの後ろにESPヘッダ又はAHヘッダを挿入します。
オリジナルのIPヘッダをそのまま使用し、ESPによる暗号化
の対象はデータ部分だけです。(但しESPトレーラは含まれる)
ユーザのPCで直接IPSec化するリモートアクセスVPNで
トランスポートモードが利用されます。
-AHトランスポートモード
,IPヘッダ,AHヘッダ,データ
,認証対象,認証対象,認証対象
-ESPトランスポートモード
,IPヘッダ,ESPヘッダ,データ,ESPトレーラ,ESP認証データ
,,認証対象,認証・暗号化対象,認証・暗号化対象,
**SA(Security Association) [#z3de11bb]
-SPI(Security Parameters Index):SAの識別子
-セキュリティ:ESPまたはAH
-暗号化アルゴリズム
-暗号化キー:共有秘密鍵
-認証アルゴリズム(ハッシュ)
-認証キー:共有秘密鍵
**SA(トンネル)の種類 [#z30c2e44]
-ISAKMP SA:IPSec SAで使用する暗号鍵の配送及び更新を行う為のトンネル
-IPSec SA:IPSec対象パケットを暗号化して転送する為のトンネル
ISAKMP SAはIKEメッセージを安全に情報交換するために使用されるため、
IKE SAとも呼ばれている。ISAKMP SAは双方向のSAであり、VPNゲートウェイ間で一つです。
IPSec SAは単方向の通信で使用するため送信用と受信用の二つのSAを生成する。
全てのSAはSAデータベース(SAD)に格納される。
対象パケットに運用するセキュリティパラメータは
SPD(Security Policy Database)に格納されます。
-IKE(Internet Key Exchange)
SAの自動生成/管理プロトコルを標準サポート
IKEはフェーズ1とフェーズ2の二段階によってピア間に安全なコネクションを確立します。
①IKEフェーズ1開始
-ISAKMP SAのセキュリティパラメータ(設定情報の合意)
-ISAKMP SAで使用する鍵情報の生成
-ピアの認証
②ISAKMP SAの生成
③IKEフェーズ2開始
-IPSec SAのセキュリティパラメータの合意
-IPSec SAで使用する鍵情報の生成
④IPSec SAの生成
***IKEフェーズ1 [#od4674dd]
フェーズ1はISAKMPの生成、ピア認証を行います。
フェーズ1でISAKMP SAを確率するためにネゴシエートされるパラメータは次の通り。
-暗号化アルゴリズム(DES,3DES,AES)
-ハッシュアルゴリズム(MD5,SHA-1)
-認証方式(事前共通鍵,RSA署名)
-Diffie-Hellmanグループ(DHグループ1,2,5)
-ISAKMP SAライフタイム(有効期限)
IKE通信の発信側をイニシエータ、
応答側をレスポンダと呼びます。
***IKEフェーズ1のやり取り [#r2416073]
-→イニシエータからISAKMP SAパラメータの提案
-←レスポンダからISAKMP SAパラメータの合意
-→DH公開鍵の送信
-←DH公開鍵の送信
-→認証情報の送信
-←認証情報の送信
IKEフェーズ2へ
***IKEフェーズ2 [#l4ffb66b]
フェーズ2ではIPSec SAを生成する。
IPSec SAを確立するためにネゴシエートされるパラメータは次の通りです。
-セキュリティプロトコル(ESP、AH)
-暗号化アルゴリズム(DES,3DES,AES)
-認証アルゴリズム(HMAC-MD5,HMAC-SHA1)
-Diddw-Hellmanグループ(DHグループ1,2,5)
-IPSec SAのライフタイム(時間、バイトカウント)
-カプセル化モード(トンネルモード、トランスポートモード)
ネゴシエーションが完了するとIPSec SA用の暗号鍵をお生成します。
暗号鍵の生成が完了するとIPSec SAが確立しIPSec化されたパケットを転送出来るようになります。
***IKEフェーズ2のやり取り [#v9f7022c]
-→イニシエータよりIPSec SAパラメータの提案
-←レスポンダよりIPSec SAパラメータの合意
-→IPSec SA確立の確認
IPSec通信の開始
**IKEフェーズの動作モード [#x908b21b]
-メインモード
フェーズ1
6つのメッセージを交換、ISAKMP SAを確立ためのネゴシエーションを行う。
IKE通信自体を暗号化するため、セキュリティレベルが高いが、
IPSecトンネル双方に固定でIPアドレスを割り当てる必要がある
一般的にサイト間VPNで使用される。
-アグレッシブモード
フェーズ1
3つのメッセージを交換、ISAKMP SAを確立するためのネゴシエーションを行う。
IKE通信の暗号化を行わず、そのまま平文送信するためセキュリティレベルが低い。
動的なアドレス環境をサポートしているため、一般的にリモートアクセスVPNで使用される。
-クイックモード
フェーズ2
ISAKMP SAを利用し、IPSec SAを確立するためのネゴシエーションを行う。
*IPSecのコマンド [#g4171637]
-ISAKMPポリシー(IKEトランスフォームセット)を設定
-IPSecトランスフォームセットを設定
-暗号化ACLを設定
-暗号マップ(クリプトマップ)を設定
-インターフェースに暗号マップを適用
-IPSecトラフィックを許可するためにACLを修正(オプション)
***ISKMPポリシーの設定 [#kf17b273]
IKEフェーズ1のISAKP SAを確立するにはISAKMPポリシ(IKEトランスフォームセット)を設定する必要がある。
Router(config)#crypto isakmp policy 100
Router(config-isakmp)#
config-isakmpの初期値
-暗号化アルゴリズム(DES)
-ハッシュアルゴリズム(SHA-1)
-ピア認証方式(RSA署名)
-Diffie-Hellmanグループ(グループ1)
-ISAKMP SAライフタイム(86400秒:24時間)
Router(config-isakmp)#encryption des
Router(config-isakmp)#encryption 3des
Router(config-isakmp)#encryption aes 128
Router(config-isakmp)#encryption aes 192
Router(config-isakmp)#encryption aes 256
最後の数字は鍵の長さ(単位:ビット)
***ハッシュアルゴリズムの設定 [#r8b0448f]
Router(config-isakmp)#hash md5
md5 Message Digest 5
sha Secure Hash Standard
sha256 Secure Hash Standard 2 (256 bit)
sha384 Secure Hash Standard 2 (384 bit)
sha512 Secure Hash Standard 2 (512 bit)
***認証方式の指定 [#n12b76a6]
Router(config-isakmp)#authentication rsa-sig
pre-share Pre-Shared Key
rsa-encr Rivest-Shamir-Adleman Encryption
rsa-sig Rivest-Shamir-Adleman Signature (デフォルト)
***事前共通鍵の設定 [#k77011b1]
認証方式に事前共通鍵(PSK)を利用する場合は次のコマンドを使用してピアのIPアドレスとパスワード(鍵)を設定する必要があります。
Router(config)#crypto isakmp key cisco address 10.1.1.2
※ciscoはピアと共通のパスワード、10.1.1.2はピアのIPアドレス
***Diffie-Hellmanグループ指定 [#wc0d3290]
Router(config-isakmp)#group 5
1 Diffie-Hellman group 1 (768 bit/デフォルト)
14 Diffie-Hellman group 14 (2048 bit)
15 Diffie-Hellman group 15 (3072 bit)
16 Diffie-Hellman group 16 (4096 bit)
19 Diffie-Hellman group 19 (256 bit ecp)
2 Diffie-Hellman group 2 (1024 bit)
20 Diffie-Hellman group 20 (384 bit ecp)
24 Diffie-Hellman group 24 (2048 bit, 256 bit subgroup)
5 Diffie-Hellman group 5 (1536 bit)
***ISAKMP SAのライフタイムの指定 [#a98dd163]
Router(config-isakmp)#lifetime 86400
<60-86400> lifetime in seconds (Default:86400/24時間)
***IPsecトランスフォームセットの設定 [#hf27e518]
フェーズ2
Router(config)#crypto ipsec transform-set test-name esp-aes 256
Router(cfg-crypto-trans)#
ah-sha-hmac AH-HMAC-SHA transform
ah-sha256-hmac AH-HMAC-SHA256 transform
ah-sha384-hmac AH-HMAC-SHA384 transform
ah-sha512-hmac AH-HMAC-SHA512 transform
comp-lzs IP Compression using the LZS compression algorithm
esp-3des ESP transform using 3DES(EDE) cipher (168 bits)
esp-aes ESP transform using AES cipher
esp-des ESP transform using DES cipher (56 bits)
esp-gcm ESP transform using GCM cipher
esp-gmac ESP transform using GMAC cipher
esp-md5-hmac ESP transform using HMAC-MD5 auth
esp-null ESP transform w/o cipher
esp-seal ESP transform using SEAL cipher (160 bits)
esp-sha-hmac ESP transform using HMAC-SHA auth
esp-sha256-hmac ESP transform using HMAC-SHA256 auth
esp-sha384-hmac ESP transform using HMAC-SHA384 auth
esp-sha512-hmac ESP transform using HMAC-SHA512 auth
***IPSecカプセル化方式の設定 [#l348b11c]
Router(cfg-crypto-trans)#mode tunnel
transport transport (payload encapsulation) mode
tunnel tunnel (datagram encapsulation) mode
***IPSec SAライフタイムの設定 [#c80bc207]
Router(config)#crypto ipsec security-association lifetime seconds 3600
kilobytes Volume-based key duration (転送トラフィック量指定:Def4608000)
seconds Time-based key duration (有効時間指定:単位 秒 Def3600秒)
***暗号ACLの設定 [#gab04c42]
R1(config)# access-list 100 permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
左右対象で指定 ↑ ↓
R2(config)# access-list 100 permit ip 172.16.2.0 0.0.0.255 172.16.1.0 0.0.0.255
***暗号マップ(crypto map)の定義 [#l6bf321a]
Router(config)#crypto map test-name 100 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
Router(config-crypto-map)#
※test-name:暗号マップ名を指定
※100:シーケンス番号を1-65525で指定
***暗号化マップにパラメータを関連付ける [#v998b2b4]
,Router(config-crypto-map)#match address 100,暗号ACL番号を指定
,Router(config-crypto-map)#set transform-set test-name,トランスフォームセット名を指定
,Router(config-crypto-map)#set peer 10.1.1.2,IPSecピア(対抗のゲートウェイ)のIPアドレス指定
***インターフェースに暗号マップを適応する [#i3ebc50a]
Router(config)#interface fastEthernet 1
Router(config-if)#ip address 10.1.1.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#crypto map test-name
***IPSec VPN検証コマンド [#l95d39d7]
Router#show crypto isakmp policy
Global IKE policy
Protection suite of priority 100
encryption algorithm: AES - Advanced Encryption Standard (256 bit keys).
hash algorithm: Message Digest 5
authentication method: Rivest-Shamir-Adleman Signature
Diffie-Hellman group: #5 (1536 bit)
lifetime: 86400 seconds, no volume limit
Router#show crypto isakmp key
Keyring Hostname/Address Preshared Key
default 10.1.1.2 cisco
*設定例 [#h9f4e1ac]
**R1 [#b409a332]
Router(config)#hostname R1
R1(config)#service password-encryption
R1(config)#no ip domain-lookup
R1(config)#line vty 0 4
R1(config-line)#password cisco
R1(config-line)#logging synchronous
R1(config-line)#login
R1(config-line)#exit
R1(config)#line console 0
R1(config-line)#password cisco
R1(config-line)#logging synchronous
R1(config-line)#login
R1(config-line)#exit
R1(config)#interface fastEthernet 1
R1(config-if)#ip address 1.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface loopback 0
R1(config-if)#ip address 10.1.1.254 255.255.255.
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#crypto isakmp policy 200
R1(config-isakmp)#encryption 3des
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#group 2
R1(config-isakmp)#lifetime 300
R1(config-isakmp)#exit
R1(config)#crypto isakmp key ROUTE-A address 1.1.1.2
R1(config)#crypto ipsec transform-set TEST1 esp-3des esp-sha-hmac
R1(cfg-crypto-trans)#exit
R1(config)#access-list 100 permit ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255
R1(config)#access-list 101 permit esp host 1.1.1.2 host 1.1.1.1
R1(config)#access-list 101 permit udp host 1.1.1.2 host 1.1.1.1 eq isakmp
R1(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.2
R1(config)#crypto map MAP1 200 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
R1(config-crypto-map)#match address 100
R1(config-crypto-map)#set transform-set TEST1
R1(config-crypto-map)#set peer 1.1.1.2
R1(config)#interface fastEthernet 1
R1(config-if)#crypto map MAP1
R1(config-if)#ip access-group 101 in
R1(config-if)#end
**R2 [#ofde8cd2]
Router(config)#hostname R2
R2(config)#service password-encryption
R2(config)#no ip domain-lookup
R2(config)#line vty 0 4
R2(config-line)#password cisco
R2(config-line)#logging synchronous
R2(config-line)#login
R2(config-line)#exit
R2(config)#line console 0
R2(config-line)#password cisco
R2(config-line)#logging synchronous
R2(config-line)#login
R2(config-line)#exit
R2(config)#interface fastEthernet 1
R2(config-if)#ip address 1.1.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface loopback 0
R2(config-if)#ip address 10.2.2.254 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#crypto isakmp policy 200
R2(config-isakmp)#encryption 3des
R2(config-isakmp)#authentication pre-share
R2(config-isakmp)#group 2
R2(config-isakmp)#lifetime 300
R2(config-isakmp)#exit
R2(config)#crypto isakmp key ROUTE-A address 1.1.1.1
R2(config)#crypto ipsec transform-set TEST2 esp-3des esp-sha-hmac
R2(cfg-crypto-trans)#exit
R2(config)#access-list 100 permit ip 10.2.2.0 0.0.0.255 10.1.1.0 0.0.0.255
R2(config)#access-list 101 permit esp host 1.1.1.1 host 1.1.1.2
R2(config)#access-list 101 permit udp host 1.1.1.1 host 1.1.1.2 eq isakmp
R2(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.1
R2(config)#crypto map MAP2 200 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
and a valid access list have been configured.
R2(config-crypto-map)#match address 100
R2(config-crypto-map)#set transform-set TEST2
R2(config-crypto-map)#set peer 1.1.1.1
R2(config-crypto-map)#exit
R2(config)#interface fastEthernet 1
R2(config-if)#crypto map MAP2
R2(config-if)#ip access-group 101 in
R2(config-if)#end
**show確認 [#a3f4988b]
R1#show crypto isakmp policy
Global IKE policy
Protection suite of priority 200
encryption algorithm: Three key triple DES
hash algorithm: Secure Hash Standard
authentication method: Pre-Shared Key
Diffie-Hellman group: #2 (1024 bit)
lifetime: 300 seconds, no volume limit
R1#show crypto isakmp key
Keyring Hostname/Address Preshared Key
default 1.1.1.2 ROUTE-A
R1#show crypto ipsec transform-set
Transform set TEST1: { esp-3des esp-sha-hmac }
will negotiate = { Tunnel, },
Transform set #$!default_transform_set_1: { esp-aes esp-sha-hmac }
will negotiate = { Transport, },
Transform set #$!default_transform_set_0: { esp-3des esp-sha-hmac }
will negotiate = { Transport, },
R1#show crypto map
Crypto Map IPv4 "MAP1" 200 ipsec-isakmp
Peer = 1.1.1.2
Extended IP access list 100
access-list 100 permit ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255
Current peer: 1.1.1.2
Security association lifetime: 4608000 kilobytes/3600 seconds
Responder-Only (Y/N): N
PFS (Y/N): N
Transform sets={
TEST1: { esp-3des esp-sha-hmac } ,
}
Interfaces using crypto map MAP1:
FastEthernet1
R1#ping 10.2.2.254 source 10.1.1.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.2.254, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.254
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
R1#show crypto ipsec sa
interface: FastEthernet1
Crypto map tag: MAP1, local addr 1.1.1.1
protected vrf: (none)
local ident (addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (10.2.2.0/255.255.255.0/0/0)
current_peer 1.1.1.2 port 500
~以下略~
*Debug crypto ipsec [#dc9427aa]
R1#ping 10.2.2.254 source 10.1.1.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.2.254, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.254
*Jul 15 04:36:11.647: IPSEC(sa_request): ,
(key eng. msg.) OUTBOUND local= 1.1.1.1:500, remote= 1.1.1.2:500,
local_proxy= 10.1.1.0/255.255.255.0/0/0 (type=4),
remote_proxy= 10.2.2.0/255.255.255.0/0/0 (type=4),
protocol= ESP, transform= esp-3des esp-sha-hmac (Tunnel),
lifedur= 3600s and 4608000kb,
spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x0
*Jul 15 04:36:11.719: IPSEC(validate_proposal_request): proposal part #1
*Jul 15 04:36:11.719: IPSEC(validate_proposal_request): proposal part #1,
(key eng. msg.) INBOUND local= 1.1.1.1:0, remote= 1.1.1.2:0,
local_proxy= 10.1.1.0/255.255.255.0/0/0 (type=4),
remote_proxy= 10.2.2.0/255.255.255.0/0/0 (type=4),
protocol= ESP, transform= NONE (Tunnel),
lifedur= 0s and 0kb,
spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x0
*Jul 15 04:36:11.719: Crypto mapdb : proxy_match
src addr : 10.1.1.0
dst addr : 10.2.2.0
protocol : 0
src port : 0
dst port : 0
*Jul 15 04:36:11.719: IPSEC(key_engine): got a queue event with 1 KMI message(s)
*Jul 15 04:36:11.719: Crypto mapdb : proxy_match
src addr : 10.1.1.0
dst addr : 10.2.2.0
protocol : 0
src port : 0
dst port : 0
*Jul 15 04:36:11.719: IPSEC(crypto_ipsec_sa_find_ident_head): reconnecting with the same proxies and peer 1.1.1.2
*Jul 15 04:36:11.719: IPSEC(policy_db_add_ident): src 10.1.1.0, dest 10.2.2.0, dest_port 0
*Jul 15 04:36:11.719: IPSEC(create_sa): sa created,
(sa) sa_dest= 1.1.1.1, sa_proto= 50,
sa_spi= 0xA5C409B7(2781088183),
sa_trans= esp-3des esp-sha-hmac , sa_conn_id= 1
sa_lifetime(k/sec)= (4424755/3600)
*Jul 15 04:36:11.719: IPSEC(create_sa): sa created,
(sa) sa_dest= 1.1.1.2, sa_proto= 50,
sa_spi= 0x5EFDAB48(1593682760),
sa_trans= esp-3des esp-sha-hmac , sa_conn_id= 2
sa_lifetime(k/sec)= .!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/4 ms
R1#(4424755/3600)
*Jul 15 04:36:11.723: IPSEC(update_current_outbound_sa): get enable SA peer 1.1.1.2 current outbound sa to SPI 5EFDAB48
*Jul 15 04:36:11.723: IPSEC(update_current_outbound_sa): updated peer 1.1.1.2 current outbound sa to SPI 5EFDAB48
R1#
*NATとの併用 [#c55157bd]
NATと併用する場合は、ACLでIPSecの範囲を除外するように設定する必要があります。
R1(config)#access-list 101 permit tcp any any eq www
R1(config)#access-list 101 permit tcp any any eq ftp
R1(config)#access-list 101 permit tcp any any eq ftp-data
R1(config)#access-list 101 permit icmp any any
R1(config)#ip nat inside source list 102 interface fastEthernet 1 overload
R1(config)#access-list 102 deny ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255
R1(config)#access-list 102 permit ip 10.1.1.0 0.0.0.255 any
R1(config)#interface loopback 0
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#interface fastEthernet 1
R1(config-if)#ip nat outside
R1(config-if)#end