前回取り上げたように、WindowsサーバのRRAS(Routing and Remote Access Service)で実現できる機能はいろいろあるが、最も利用する可能性が高いのはリモートアクセス用のVPNゲートウェイだと考えられる。ローカルルータやLAN間接続用のVPNゲートウェイであれば、専用のハードウェアを用いる方が安価かつ合理的だからだ。

そこで今回から3回に分けて、RRASとPPTP(Point to Point Tunneling Protocol)を使ったリモートアクセスVPN環境について説明しよう。なお、VPNクライアントの設定は今後取り上げるSSTPとも共通する部分があるため、今回はSSTPまで済ませたい。

VPNプロトコルの種類

リモートアクセスVPNに利用するプロトコルには、以下のようにさまざまな種類がある。

  • PPTP(Point to Point Tunneling Protocol)
  • L2TP(Layer 2 Tunneling Protocol)
  • IPsec(IP securty)
  • SSTP(Secure Socket Tunneling Protocol)

Windowsのバージョンによって、利用可能なVPNプロトコルには違いがある。現実的には、PPTPないしはSSTPということになるだろう。

PPTPはWindows NTの時代にマイクロソフトが開発・実装したVPNプロトコルで、PPP(Point to Point Protocol)を拡張して、トンネリングと暗号化の機能を持たせたものだ。マイクロソフトが開発元だが、WindowsだけでなくMac OS Xでも利用できるので、Macがクライアントに加わっていても大丈夫である。

PPTPでは、認証にユーザーIDとパスワードを使用している。認証プロトコルには、パスワードの情報をそのままやりとりする必要がないCHAP(Challenge-Handshake Authentication Protocol)、マイクロソフトがCHAPを強化したMS-CHAP、その改良型「MS-CHAP V2」のいずれかを使用する。特に理由がなければ、最も信頼性が高いMS-CHAP V2を使用するべきだ。

一方、暗号化にはMPPE(Microsoft Point to Point Encryption)を利用している。MPPEは、CHAPやMSCHAPがやり取りする乱数(チャレンジ)の値を基に鍵情報を生成し、それを用いてRC4共通鍵暗号による暗号化を行う。MPPEが用いる鍵長に複数の種類があり、OSによって対応状況が異なるが、現行のOSでは128ビットで問題ない。

ちなみに、米シスコシステムズが開発したL2F(Layer 2 Forwarding)とPPTPを一本化したのがL2TP(Layer 2 Tunneling Protocol)だが、これはトンネリング専用で暗号化の機能を持たない。暗号化はIPsecのトランスポートモードを併用する前提となっている(いわゆるL2TP over IPsec)。

そのIPsecをトンネルモードで動作させると、IPパケットを別のIPパケットにカプセル化したうえで暗号化するので、これだけでVPNを実現できる。ただし、基本的には双方の拠点で固定IPアドレスを必要とするため、リモートアクセスには向かない。

PPTP・L2TP・IPsecに共通する欠点として、NAT/IPマスカレードといったアドレス変換機能との相性が悪い点が挙げられる。この問題を解決するために、Windows Server 2008から導入されたのがSSTPだ。これは、SSL(Secure Socket Layer)を用いる一種のSSL-VPNと言える。SSTPはアドレス変換機能の影響を受けない利点がある一方、対応しているOSがWindows Server 2008/同 R2/Windows Vista SP1/Windows 7に限られる。また、利用に際してデジタル証明書の管理が必要になる点も少々ハードルが高い。

VPNゲートウェイのネットワーク設定

RRASの設定に話を進める前に、VPNゲートウェイとして動作させるWindowsサーバのネットワーク設定について触れておく。

リモートアクセスVPNを実現するには、LANとインターネットの境界にVPNゲートウェイとなるWindowsサーバを設置する。そこでRRASを動作させて所要の設定を行うわけだ。また、LANとインターネットと2種類のネットワークに同時に接続するため、インタフェースも2枚必要になる。通常はEthernet用のLANアダプタを2枚設置すればよいはずだ。

インターネット接続に際しては、接続先を正確に指定できるように、固定グローバルIPアドレスを確保するのが望ましい。ただ、グローバルIPv 4アドレスの枯渇が言われている昨今、新たに固定グローバルIPアドレスを確保するのは難しいかもしれない。動的に割り当てを受けるIPアドレスであっても、ダイナミックDNSサービスを併用することでホスト名による接続が可能になるが、信頼性・確実性という点では固定IPアドレスのほうが上である。

いずれのネットワーク接続設定にもTCP/IPパラメータの設定が必要だが、デフォルトゲートウェイを指定するのは、2つのネットワーク接続設定のうちインターネット側の接続設定だけだ(LAN側にはデフォルトゲートウェイを設定しない)。もちろん、設定するデフォルトゲートウェイの値は、接続に利用するISP(Internet Service Provider)から指示されたものを用いる。

このほか、不正侵入防止の観点からすると、インターネット側の接続設定は[Microsoftネットワーク用クライアント]と[Microsoftネットワーク用ファイルとプリンタ共有]のチェックボックスを外して、TCP/IPだけをバインドさせるほうが良いだろう。