今回は、VPN(Virtual Private Network)で用いられるプロトコルのうち、もっともポピュラーといってよいIPsec(IP security)について、かいつまんで解説する。

ヤマハルータでVPNを構築する場合、とりわけLAN間接続VPNにおいては、IPsecを利用する方法が一般的だ。ところがIPsecはPPTPと比べると仕様が複雑になっているため、設定ミスが入り込む可能性も高い。前提知識として、IPsecに関してきちんと理解しておくことが重要になる。

IPsecとは

IPsecはその名の通り、IP(Internet Protocol)で動作する暗号化プロトコルだ。暗号化に加えて認証の機能もあるが、ここでいう認証とはユーザー認証というよりも、一方向ハッシュ関数を用いる改ざん検出機能という方が正しい。この改ざん検出だけを使用して、暗号化を行わない設定も可能だが、VPNでは必然性は皆無だ。暗号化と改ざん検出の両方を行うプロトコルを「ESP(Encapsulation Security Payload)」、改ざん検出だけを行うプロトコルを「AH(Authentication Header)」という。

もちろん、いわゆる認証、すなわち通信相手が本物かどうかを確認する機能もある。

ESPを利用する際の、動作モードごとのIPパケットの違い

IPsecの特徴は、この「暗号化」、「一方向ハッシュ関数」、「接続相手の正当性確認」のいずれについても、複数の選択肢を用意している点にある。つまり、単に「IPsecを使用する」と指定するだけでなく、「暗号化」「一方向ハッシュ関数」「接続相手の正当性確認」のそれぞれについて、どの選択肢を使用するかの指定が必要になる。

もっとも、同一ベンダの製品同士を対向させるのであれば、既定値は揃っているのが普通なので、その分だけ手間を省くことができる。言い換えれば、異なるベンダの製品同士を対向させてIPsecを使用する場合、同一ベンダ同士の組み合わせと比較すると難易度が高い。

それぞれの選択肢について、以下に例を示す。

・暗号化 : DES(Data Encryption Standard)、3DES(トリプルDES)、AES
・一方向ハッシュ関数 : MD5、SHA-1
・接続相手の正当性確認 : 事前共有鍵、デジタル証明書、Kerberos

ヤマハルータの場合、接続相手の正当性確認には事前共有鍵を用いる。ASCII文字列と16進値のいずれも利用可能だ。一方、暗号化と一方向ハッシュ関数については上記の選択肢をすべて利用できる。

ここまでは暗号化に関連する話だが、それとは別に、動作モードとして「トランスポートモード」と「トンネルモード」がある。

前者は単純にIPパケットのペイロード部を暗号化するもので、LAN内部、あるいはL2TPとの組み合わせで用いる。後者はIPパケット同士のカプセル化を行った上で、カプセル化の対象になったIPパケットをまるごと暗号化するものだ。VPNでは後者のトンネルモードを用いる。こうすることで、IPsecだけでトンネリングと暗号化と改ざん検出を一度に実現できる。

さらに、IPsecのトンネルモードを用いてVPNを実現する場合、双方で固定IPアドレスを確保して通信相手のIPアドレスを決め打ちで指定する「メインモード」と、片方についてはIPアドレスを固定する必要がない「アグレッシブモード」がある。後者のアグレッシブモードでは、双方の当事者で共通する一意の名前を指定して識別の材料としている。

IPsec設定の基本(メインモード)

IPsecに対応するヤマハルータでは、コマンドを用いて設定する方法が基本になる。IPsecをメインモードで利用するために必要となるコマンド操作には、少なくとも以下のものがある。

・トンネリングに使用するtunnelインタフェースの番号と、それと組み合わせるIPsec設定の番号を指定する
・tunnelインタフェースとIPsec設定の番号を指定して、ESPの使用を宣言するのに加えて、暗号化方式と一方向ハッシュ関数の種類を指定する
・自機側と相手側のIPアドレスを指定する
・双方で同一の事前共有鍵を指定する
・tunnelインタフェースを有効化する
・IPsecの自動更新を有効にするとともに、リキー(ESPで用いる鍵の自動更新)を有効にする

このほか、相手側のLANにルーティングを行うためのルーティング設定追加も必要だが、これはIPsecの設定ではなくルータの設定というべきだろう。

双方のルータで異なるのは、リモートとローカルのIPアドレス指定とルーティングの設定で、これらは両者で互いに入れ替わる。その他の項目は、双方で同一の値を指定する。

IPsec設定の基本(アグレッシブモード)

IPsecをアグレッシブモードで使用する場合、前述したように固定IPアドレスを必要とするのは片方の拠点だけになる。そのほか、双方で一意の名前を登録する点もメインモードとの相違点になる。

IPsecをアグレッシブモードで利用するために必要となるコマンド操作には、少なくとも以下のものがある。

・トンネリングに使用するtunnelインタフェースの番号と、それと組み合わせるIPsec設定の番号を指定する
・tunnelインタフェースとIPsec設定の番号を指定して、ESPの使用を宣言するのに加えて、暗号化方式と一方向ハッシュ関数の種類を指定する
・自機側のIPアドレスを指定する(固定IPアドレスを持つ側のみ)
・対向する相手側のグローバルIPアドレスを特定しないように指定した上で、名前の指定を行う(固定IPアドレスを用いる側のみ)
・対向する相手側でも、同じ名前の指定を行う(固定IPアドレスを持たない側のみ) ・双方で同一の事前共有鍵を指定する
・tunnelインタフェースを有効化する
・IPsecの自動更新を有効にするとともに、リキー(ESPで用いる鍵の自動更新)を有効にする

メインモードでは、双方で設定が異なる値があっても、それは単にパラメータが入れ替わるだけだ。ところがアグレッシブモードでは、固定IPアドレスを使用する側とその反対側とで、設定する項目そのものにも違いがある。そのため、簡単そうに見えて、実はこちらの方が間違えやすいかも知れない。

ヤマハルータでつくるインターネットVPN [第3版]

著者:井上孝司 協力:ヤマハ 価格:4,515円

本書は、ヤマハ社のVPNルータ NetVolante/RT/RTXシリーズを対象に、セキュリティの高いVPN環境を構築する手法を解説。VPN、IPsec利用環境の基礎知識から実構築・有効活用まで、「ヤマハルータ」の機能を活用した、さまざまなVPNの有効活用がこの1冊でできるようになる。また、QoS、バックアップ機能からルータの管理・メンテナンスもわかりやすく解説する。