この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「特集 インターネットVPNの導入メリット(前・後編)」では、IPsec技術に基づくVPN(インターネットVPN)が何を実現し、導入した場合のメリットは何かについて、管理運用面に重きを置いて解説した。
今回の特集は、前編ではインターネットVPNを使用して組織間を接続するサイト間接続型のVPN構成において管理者が認識しておかなければならない特徴について記述し、後編ではリモートアクセスVPNに関して、IPsec機能の現状と問題点について説明する。
サイト間接続型VPNの典型的なネットワーク構成を図1に示す。各組織が設置したVPNゲートウェイ間でIPsecVPNトンネルを構成し、各組織のネットワーク間を相互接続する。組織間で相互接続されるネットワークをVPNドメインと呼ぶ。
VPNドメイン内では、接続相手先のVPNドメインあてのパケットがVPNトンネルを経由するように経路制御がなされなければならない。パケットを受信したVPNゲートウェイでは、受信したパケットを復号してセキュリティポリシーに従ってアクセス制御する。
では、サイト間接続型VPNを導入する場合の留意点を以下に示す。
VPNドメインとして使用するネットワークアドレスが、接続するサイト間で重複しないように割り当てることが必要である。VPNドメインのネットワークアドレスが重複してしまった場合の動作を説明する。
図1において、サイトAのVPNドメイン内のホストAからサイトBのVPNドメイン内のサーバB2にVPN経由でアクセスすることを考える。送信されたIPパケットの送信先アドレス、送信元アドレスの両方が同じネットワークアドレスとなり、ホストAではダイレクトルーティング*1によりパケットを処理する。つまり、サイトBのサーバB2までパケットを到達させることができない。このような状態が両方のサイトで発生し、VPN通信ができないことになる。
*1 ダイレクトルーティングとは
ルーティングとは、ネットワークでデータを送受信する際に、データを収めたパケットが正しい相手先に届くように、経路選択を行うことである。通常、通信を行う場合、あて先のIPアドレスとサブネットマスクを使って、所属しているネットワークと同じかどうかを判断し、同じネットワーク内であれば、MACアドレスを使ってあて先のホストに直接パケットを送信できる。このルーティングを「ダイレクトルーティング」と呼ぶ。
VPNドメインのネットワークアドレスが重複する場合の対応策としては、 以下のような方法が考えられる。
IPsecVPNでは、VPNコネクションを確立したときにSA(Security Association)*2を生成し、コネクションが管理される。SAにはフェイズ1のネゴシエーション(事前の折衝)の結果生成されるIKE SAと、そのIKE SAを使用して実際のアプリケーションデータを暗号化するためのIPsec SAが生成される。
*2 SA(Security Association)、IKE SA、IPsec SAとは
IPsecによって通信する場合、IPsec通信の当事者間でどのようなパラメータを使用して通信を行うかを折衝する。具体的には、送信者がパラメータ(暗号化アルゴリズムやハッシュアルゴリズム)のプロポーサルを提示し、受信者がそれを受け入れると折衝が完了し、SAが生成される。この結果生成されたSAを「IPsec SA」という。また、IPsec SAの折衝のために利用される暗号化されたトンネルのためのSAを、「IKE SA」という。IKE SAは双方向通信、IPsec SAは単方向通信である。SAは定期的に更新され、当事者間で再認証と暗号鍵が更新が実行され、コネクションの安全性が確保される。
IKE SAは双方向通信が可能であるが、1つのIPsec SAは単方向通信である。そのため、アプリケーションデータの暗号化通信を双方向で実現するためには、1つのVPNコネクションに対して2つのIPsec SAが必要となる。
IPsec SAを生成する単位(グラニュラリティ)はVPNゲートウェイの設定に依存する。実際の設定では、サブネット/ホスト/プロトコル/ポート単位で指定することができる。図2のような構成の場合、サイトAのホストH1とH2からサイトBのサーバS(HTTPとFTPのサーバ)へVPN経由でアクセスした場合に、ゲートウェイ上でホスト単位にIPsec SAを管理する例である。
VPNゲートウェイ製品の仕様では、管理可能なSA数に制限があるため、VPNゲートウェイが同時に処理できるVPNコネクション数を考える上でIPsec SAのグラニュラリティの設定は重要となる。
VPN通信が正しく実行されるためには接続先相手のVPNドメインから送信されたパケットが目的のサーバに到達し、その応答パケットが再度VPNトンネルを通過して発信元に戻されなければならない。VPNパケットに対する経路制御は、VPN環境の構築方法によっても変わる。ファイアウォールとVPNゲートウェイが一体化した製品と別個のシステムを用いて実現した場合の経路制御を考える(図3)。
図3 VPNパケットの経路制御
一体化した製品を使用して構築されたネットワーク環境では、イントラネット上の各ホストのデフォルトルートはファイアウォールのイントラネット側のインターフェイスに設定されている。この場合、接続先相手のVPNドメインあてのパケットも結果としてVPNゲートウェイに戻されるため、正しくVPN通信が可能となる。
一方、ファイアウォールとVPNゲートウェイが別個のシステムとして実現されている環境では、HTTPなどのインターネットあてのパケットはファイアウォールを経由、VPNドメインあてのパケットはVPNゲートウェイにルーティングされなければならない。このような経路定義はVPN通信を行うすべてのシステムで必要となる。VPN通信を行うシステムが多数存在する場合は、個々のシステムに経路定義を設定する負荷を回避するために、ルータを設置してVPN通信が必要なシステムを集約し、そのルータのみに経路情報を定義する。
VPNゲートウェイでは、VPNドメイン間で送受信されるすべてのパケットに対して暗号化/復号処理が実行される。例えば、FTPをVPNトンネル経由で利用する場合、大量のデータ通信が開始されると一時的にVPNゲートウェイのCPU処理はFTPデータの暗号化/復号処理により高負荷となり、ほかの処理がCPUを使用することは困難となる。
ファイアウォールと一体化した製品の場合、VPN通信によりCPU処理が占有されてしまうと、ファイアウォールの処理性能が低下する。そのため、一体化した製品では、暗号化処理を専用に処理するASICを搭載、あるいは、複数のCPUを有するプラットフォームを採用し、CPU負荷を分散させるような仕組みを有している。
サイト間VPNを構築する場合、VPNゲートウェイに定義されるフェイズ1/フェイズ2のパラメータや事前共有鍵などは双方で正しい値を定義する必要がある。理想的なVPN管理環境は、1つの組織が双方のVPNゲートウェイを統合的に管理することである。しかし、統合管理環境を実現するためには、組織間(企業間)の壁や技術(スキル)問題、技術者の教育コストなどさまざまな問題が存在する。
統合管理環境においては、リモートに存在するVPNゲートウェイを管理するための通信プロトコルを介在するファイアウォール上を通過させる作業も必要となる。さらに、リモート管理で運用する場合には、管理用通信が不可能となった状況を想定した代替の運用方法も検討しておく必要がある。
Copyright © ITmedia, Inc. All Rights Reserved.