| 1.VPNとは (1)VPNとは 「Virtual Private Network」の略で、日本語では「仮想プライベートネットワーク」といわれています。 (2)インターネット上でVPNが求められる理由 インターネットがビジネスや日常の生活のインフラとして使われるようになり、機密情報やプライバシーを確保する必要性が高まってきたためです。 また、専用線や電話回線を利用した場合に比べインターネットを利用すれば低コストで構築することができます。 (3)求められるセキュリティ機能 @機密性(Confidentiality) 盗聴などにより第三者に通信の内容を知られないようにします。 A完全性(Integrity) データの内容が第三者によって改竄されないようにします。 B認証(Authentication) 相手認証・・・データを送受信する相手を確認します。 メッセージ認証・・・データの内容が改竄されていないかを確認します。 C否認防止(Non-repudiation) データを送信したことを後で否認することが出来ないようにします。 2.2種類のVPN
この2つのVPNの違いは、@VPNを結ぶ両者のIPアドレスが固定されているか、A一方(モバイル端末側)のIPアドレスが非固定であるか、にあります。 当サイトのように非固定IPアドレスのサーバーは、本来VPNの拠点としてふさわしくありません。 が、そこを無理やりVPNの拠点として構築してみることにします。 幸いなことに最近回線が安定しており、割り当てられているグローバルIPアドレスが変わることが少なくなっていますのでなんとか使えています。(~_~;) @の拠点間を結ぶVPNを構築するプロトコルとしてIETF(The Internet Engineering Task Force)で標準化されているIPsecを利用します。 IPsecはIPv6で実装が必須とされているプロトコルであり、IPv6が一般化される時に備えて今から習熟しておいて損はありません。 今回実装するに当たってはLinux FreeS/WANを使用します。 このLinux FreeS/WANは「FreeでSecureなWide Area Networkを構築する」という意味を持ちます。 公式サイトは、http://www.freeswan.org/ にあります。 Aのモバイル端末をWindowsマシンと想定し、Windowsの標準で対応されているPPTPを利用します。 (PPTP・・・Point-to-Point Transfer Protocol、マイクロソフト社が提唱するVPNプロトコル) 今回実装するに当たってはPoPToPを使用します。 公式サイトは、http://www.poptop.org/ にあります。 さて、今回構築する2種類のVPNは下記のようなネットワーク構成をモデルとします。 各機器におけるさまざまな設定(VPNに関する設定だけでなくパケットフィルタリングに関する設定も重要なポイントとなります)は後程説明しますので、ここでは大まかなイメージをつかんでください。 FreeS/WANを利用した場合、赤色のパイプで示したホスト間でIPsecによる拠点間VPNを構築します。 また、PoPToPを利用したPPTPでは青色のパイプで示したホスト間でVPNを構築します。 いずれの場合も、EのLinux ServerがVPNサーバーの役割をにないます。 すなわち、「The Internet」をはさんで左側にあるAのLinux ServerがIPsecのクライアント(正確にはイニシエーター)となり、GのMobile PCがPPTPのクライアントとなります。 (注)上の図でグリーンで表示した3つのIPアドレス(「123.45.67.8」・「123.45.67.9」・「98.76.45.32」)はグローバルなIPアドレスを表現していますが、あくまでも架空のものです。 |