ユーザ用ツール

サイト用ツール


サイドバー

目次

ホーム










.

protocol:ipsec.html


ホーム#プロトコル に戻る

IPsecを使って、インターネットVPN(IPsec VPN)で、拠点間接続

IPsecとは

会社間や会社とデータセンターを暗号化して、接続する技術です。
主にFW間でVPNをはることにより、お互いのネットワークを接続できるようになります。

IPsec(Security Architecture for Internet Protocol)
機器間でSA(Security Associatio、暗号化トンネル)が作られ、SA間をトラフィックが流れます。


注意

  • IPSec VPNではダイナミックルーティングプロトコルが使用できないのでスタティックルートで設定
    ルートベースVPNだとダイナミックルーティングが使えます。
  • MSSを小さくする必要がある 参考:MTUとMSSで、パケットサイズを指定


VPN接続形態

  1. LAN間接続
  2. リモートユーザ接続

(1)LAN間接続

通信モード
トランスポートモード 端末間でのIPsec通信
元のパケットのデータ部分だけを暗号化し,IPヘッダは暗号化しません。
トンネルモード VPN装置間でのIPsec通信
元のパケットのIPヘッダごと暗号化
IKEの実行モード
メインモード 両方の機器が固定IPアドレス
アグレッシブモード 片方の機器が動的IPアドレス


ルートベースVPNとポリシーベースVPN(Juniperで利用される用語)

ルートベースVPNの方が柔軟に設定できるというメリットがあります。

ルートベースVPN ルーティングにマッチする全トラフィックをトンネリング
仮想インターフェースを作って、IPを振り、仮想インターフェース間を暗号化する。
Phase 2では、Proxy IDにより、送信元と送信先がどこかを決めます。
メリット
・ダイナミックルーティングを構成できる
・ルートベースの場合は、LocalとRemoteのProxy IDを任意に指定できます。
ポリシーベースVPN ポリシーにマッチするトラフィックのみをトンネリング
ポリシーベースの場合は、LocalとRemoteのProxy IDは、ポリシーのアドレス(または、セグメント)になる。
複数設定した場合は0.0.0.0/0(any)になります。


(2)リモートユーザ接続

ユーザが機器に対して、VPNをはる接続です。


VPNで使えるトンネリングと暗号化

VPNで使えるトンネリングと暗号化技術

トンネリング
IPsec このページで説明する技術
PPTP Point-to-Point Tunneling Protocolの略
Windows 95以降使用されている最も古いVPNプロトコルの1つ
データリンク層でカプセル化するプロトコル
1本のトンネルを作って、その中で送信と受信を行う
IPsecよりセキュリティが弱い
・留意点としては通信の最初から暗号化されていないためセキュリティが弱く
認証方法に脆弱性がある
ファイアウォール等に守られている場合は透過出来るようにしたり特殊な設定
L2TP Layer 2 Tunneling Protocol
L2TP自体は、暗号化や秘匿性は提供しないため、IPsecと併用されることが多い
自宅パソコン等からリモート接続する時に使われます。
LAN間接続VPNには対応していません。
GRE GRE over IPsec(暗号化のIPSecの上でGREによるトンネリングをする)
このページで説明する技術
マルチキャスト可能
IPSec VPNの拠点数が多い場合、ダイナミックルーティングを使うために、GREが使われます。
GREトンネルを利用するには、トンネルインタフェースを作成します。
暗号化
IPsec このページで説明する技術


IPsecが行うトンネリング(IKE)と暗号化(ESP)

トンネリング(IKE)

  • Internet Key Exchange の略
  • インターネット鍵交換プロトコル
  • 鍵の生成と交換、鍵の定期自動更新を行う。
  • UDP 500ポート
  • SA(Security Assosiation)と呼ばれるセッションを制御し、VPN装置間でコネクションを確立し、トンネルを実現する。
  • 単方向のコネクションとなる為、VPN間で送受信を行う為には、SAは2本必要
  • IKE折衝の開始側をInitiator、応答側をResponderと呼びます
Cisco ACLで、特定のIPのみ許可する例
ip access-list extended acl-internet
  permit udp host 10.20.20.10 any
  deny upd any  any eq 500


暗号化(ESP)

  • Encapsulationed Security Payload の略
  • IKEのフェーズ2で作成したSA内で、暗号化したパケットの通信を行う
  • IPプロトコル番号 50
Cisco ACLで、特定のIPのみ許可する例
ip access-list extended acl-internet
  permit esp host 10.20.20.10  any
  deny esp any  any


IKEのフェーズ1 とフェーズ2

IKE(Internet Key Exchange)はフェーズ1、フェーズ2と呼ばれる二段階の手順で鍵交換を行い、その後IPSECによる暗号化通信が行われます。

IKEのフェーズ 1
  • 1本のISAKMP SA(双方向)を生成します
  • フェーズ2における交換内容を保護するためのSAを確立する。
IKEのフェーズ 2
  • 2本のIPSec SA(片方向が1本ずつ)を生成します
  • IPsec トンネルをネゴシエーション


パラメータ

IKEフェーズ1 (Phase 1)

IKEポリシーモード
設定 設定値 備考
実行モード メインモード
(Main Mode)
アグレッシブモード
(Aggressive Mode)
固定IPアドレス同士の接続はメイン

IKE SAの設定項目

設定 設定値 備考
暗号化アルゴリズム
(Encryption algorithm)
DES
3DES
AES256
フェーズ2で使用する暗号鍵を交換するときに
使用する暗号化アルゴリズム
DES < 3DES < AES256
ハッシュアルゴリズム
(Hash)
(Authentication algorithm)
MD5
SHA-1
SHA-2(SHA256)
フェーズ2で使用する暗号鍵を交換するときに使用するハッシュアルゴリズム
認証方式
(Authentication method)
Pre-Shared Key
デジタル証明書
公開鍵暗号
改良型公開鍵暗号
DH Group
(Diffie-Hellman)
DH Group 1
DH Group 2
DH Group 5
DH Group 7
フェーズ2で使用する暗号鍵を生成、交換するための設定
値が大きいほどセキュリティ強度が高いが、処理負荷が大きい。
ライフタイム
(Re-key time)
(Lifetime-seconds)
制御用トンネル(IKE トンネル)の生存時間
86400秒=1440分=24時間
43200秒=720分=12時間
28800秒=480分 = 8時間
21600秒=360分=6時間

その他

設定 備考
DPD (Dead Peer Detection) 障害を検知し、復旧を検知すれば繋げる
Keep Aliveの方法

IKEフェーズ2 (Phase 2)

IPSec SAの設定項目

設定 設定値 備考
セキュリティプロトコル AH (Authentication Header)
ESP (Encapsulating Security Payload)
IPsecトンネルで使用するセキュリティプロトコル
AHは認証機能のみ備えていて、暗号化機能を備えていない
ESPは認証機能と暗号化機能を備えている。
日本ではESPを使用する場合がほとんど
動作モード トンネルモード
トランスポートモード
IPsecトンネルの動作モード
トンネルモードは、新しいヘッダでパケットをカプセリングする。
トランスポートモードは、新しいヘッダを挿入するだけ。
トンネルモードを使用する場合がほどんど
暗号化プロトコル
(Encryption)
DES
3DES
AES256
ハッシュアルゴリズム
(Hash)
HMAC-MD5
HMAC=SHA1
PFS Group
(Perfect Forward Secrecy)
PFS Group 1
PFS Group 2
PFS (Perfect Forward Secrecy) を使うと匿名性が高まります
ライフタイム
(Re-key time)
3600

その他

設定 設定値 備考
PFS
(Perfect Forward Security)
利用
未使用
フェーズ2でも、Diffie-Hellman交換をするか。
IPsec SAを確立する際にもDiifie-Hellman交換を実施るか。
PFSを有効にしておくと、フェーズ1のISAKMP SAの暗号が破られても、
同じ方法でフェーズ2のIPsec SAの暗号化をやぶることはできない。
Proxy-ID Local : x.x.x.x/xx
Rtemote: x.x.x.x/xx
お互いに一致していないとフェーズ2が失敗します。
ポリシーベースの場合は、任意の値を設定できます。
ポリシーベースの場合は、ポリシーのオブジェクトの値が入ります。
ただし、複数設定している場合には、0.0.0.0/0(any)が入ります。


設定例

Cisco IPSec VPNの例1

他社のグローバルIP:192.168.63.1
自社のグローバルIP:192.168.63.2

■IKEフェーズ1
crypto isakmp policy 1
  encr aes 256
  hash md5         <- 暗号化アルゴリズム:md5
  authentication pre-share
  group 2              <- DHグループ:2


■IKEフェーズ2
crypto isakmp key xxxxx address 192.168.63.1   <-  xxxxはパスワード。他社のIP

crypto ipsec transform-set PHASE2 esp-aes 256 esp-sha-hmac

crypto map ACCESS1 10 ipsec-isakmp
  set peer 192.168.63.1                <-  他社のIP
  set transform-set PHASE2
  match address xxx_tunnel1

■インターフェースに暗号マップを適用
interface FastEthernet0
  ip address 192.168.63.2 255.255.255.0
  ip access-group xxx_tunnel in
  no shutdown
  speed auto
  duplex auto
  crypto map ACCESS1


ip route 0.0.0.0 0.0.0.0 192.168.63.1


ip access-list standard xxx_tunnel1
  permit 192.168.63.1   #他社のIPアドレス

Cisco IPSec VPNの例2(GRE)

他社のグローバルIP:192.168.63.1 他社の仮想IP:
自社のグローバルIP:192.168.63.2 自社の仮想IP:a.a.a.a

■IKEフェーズ1
crypto isakmp policy 1
  encr aes 256
  hash sha384         <- 暗号化アルゴリズム:sha384
  authentication pre-share
  group 2              <- DHグループ:2


■IKEフェーズ2
crypto isakmp key xxxxx address 192.168.63.1   <-  xxxxはパスワード。他社のIP

crypto ipsec transform-set PHASE2 esp-aes 256 esp-sha-hmac

crypto map ACCESS1 10 ipsec-isakmp
  set peer 192.168.63.1                <-  他社のIP
  set transform-set PHASE2
  match address xxx_tunnel1


■仮想インターフェース
interface Tunnel0              <- #show interfaces tunnel 0で確認
  description XXXXX
  ip address a.a.a.a  255.255.255.252    <- 自社の仮想インターフェースのIP
  ip pim sparse-mode
  tunnel source Ethernet0/0
  tunnel destination 192.168.63.1

■インターフェースに暗号マップを適用
interface Ethernet0/0
  ip address 192.168.63.2 255.255.255.0
  ip access-group xxx_tunnel in
  no shutdown
  speed auto
  duplex auto
  crypto map ACCESS1


ip route 0.0.0.0 0.0.0.0 192.168.63.1
ip route x.x.x.x 255.255.255.240 a.a.a.a.a   #x.x.x.x/28なら、a.a.a.aの仮想インターフェースへ
ip route x.x.x.x 255.255.255.240 a.a.a.a.a   #x.x.x.x/28なら、a.a.a.aの仮想インターフェースへ


ip access-list extended xxx_tunnel1
  permit ip host  192.168.63.1  host 192.168.63.2   #他社(192.168.63.1)から、自社(192.168.63.2)を許可


参考

  • インフラ/ネットワークエンジニアのためのネットワーク・デザインパターン P.305





ホーム#プロトコル に戻る


protocol/ipsec.html.txt · 最終更新: 2020/11/25 00:23 by kurihara

ページ用ツール