[[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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS