PacketiX VPN 4.0 は IPsec や SSTP では MS 製 VPN よりも高速、OpenVPN プロトコルではなんと OpenVPN 社純正よりも高速
現在開発中の PacketiX VPN Server 4.0 では、これまでの SoftEther VPN プロトコル (Ethernet over HTTPS) 以外に L2TP/IPsec, MS-SSTP, OpenVPN, EtherIP/IPsec, L2TPv3/IPsec の 5 種類のプロトコルに新たに対応しています。
これらの VPN プロトコルの VPN サーバーとなる従来のソフトウェア製品と PacketiX VPN Server 4.0 とのスループットを比較してみたところ、以下のようになりました。
スループットの測定は、VPN Server を動作させている CPU に最も負荷がかかるようにし、最大限のスループットを出すことができるようにするため、Intel Xeon E3-1230 3.2GHz のコンピュータで 10GbE (Intel 10 Gigabit CX4 Dual Port Server Adapter) 環境で行いました。OS は Windows Server 2008 R2 x64 です。
上のグラフのうち、青色が従来の VPN ソフトウェア製品のスループット結果、オレンジ色が PacketiX VPN Server 4.0 のスループット結果です。
従来のソフトウェアは、
・ L2TP/IPsec: Microsoft Windows Server 2008 R2 の Routing and Remote Access サービス (Microsoft 社製)
・ MS-SSTP: Microsoft Windows Server 2008 R2 の Routing and Remote Access サービス (Microsoft 社製)
・ OpenVPN: OpenVPN 2.2.2 の VPN サーバー機能 (OpenVPN 社製)
です。
スループット測定は、VPN の最も一般的な利用形態である「リモートアクセス VPN」(物理的な LAN に対してリモートから VPN プロトコルで接続する形態) を構築して行いました。
上記の実験結果によると、PacketiX VPN Server 4.0 は L2TP プロトコルについて Microsoft 製の VPN サーバーの 3.4% 高速であり、SSTP プロトコルについて Microsoft 製 VPN サーバーの 3.1% 高速でした。また、OpenVPN プロトコルについては OpenVPN 社純正の OpenVPN 2.2.2 よりも 17.2% (L3 Mode) および 7.5% (L2 Mode) 高速でした。
したがって、L2TP/IPsec、MS-SSTP および OpenVPN をこれまで利用されてきた方は、PacketiX VPN Server 4.0 に移行することでスループットが低下する心配をする必要は全くありません。逆に従来よりもほんの僅かですがオーバーヘッドが減少する分、速度が速くなるものと思います。
なお、上記の実験データは今後整理して公開したいと思います。
無償 OS「MS Hyper-V Server 2012」で PacketiX VPN Server 4.0 を動かす
先日公開された PacketiX VPN Server 4.0 RC1 は、Windows XP や Vista, 7, 8, Windows Server 2003 / 2008 / 2012 などの Windows 上で動作させるのが一番簡単です。Linux や FreeBSD, Solaris, Mac OS X にもインストールすることができますが、やはり Windows 上で利用するのが簡単でしょう。
VPN Server を動作させるマシンは他の用途に使用しているコンピュータと共用することも可能ですが、パフォーマンスを向上させ、トラブルを最小にするため、できれば専用のマシンを 1 台用意することをお勧めします。ひとまず VPN Server を自社内のサーバールームで稼働させるためであれば、物理マシンは DELL や HP、NEC、富士通などから販売されている 1 〜 2 万円くらいの激安サーバーを利用するのが良いと思います。
しかし、これらのマシンはたいていは OS がインストールされていない状態で出荷されます。そのため価格が 1 〜 2 万円ととても安価なのですが、Windows をインストールする場合は通常はライセンスの購入が必要です。ライセンス料金が安価なデスクトップ用の Windows を通常パッケージ、DSP 版またはボリュームライセンスで購入して利用することもできます。けれども VPN サーバーをインストール・常駐させて放置しておくだけの VPN 専用サーバーにフル機能の Windows を購入してインストールする必要は本来ありません。
そこで裏技として、実は Microsoft Hyper-V Server 2012 という Microsoft から無償でダウンロード・使用することができる特別なバージョンの Windows Server 2012 のサブセット上に PacketiX VPN Server 4.0 をインストールして常駐させることができます。サービスとしてインストールが可能ですので、OS 起動時に自動的に VPN Server が動作し始めます。VPN サーバーとして利用する上で全く不足する部分はありません。Hyper-V Server 2012 の中身は Windows Server 2012 からデスクトップ環境などの GUI やサーバーコンポーネントを削った軽量なものです。しかしカーネルは Windows Server 2012 と同等で、Windows Server 2012 に搭載されている Windows Update を利用した OS の更新や豊富なドライバの利用が可能です。
Microsoft Hyper-V Server 2012 の ISO イメージは こちら から無料でダウンロードできます。プロダクトキーなども不要ですし、使用期限はありません。つまり、Hyper-V Server 2012 の恒久利用可能なライセンスは無償で取得できます。
インストール画面は Windows Server 2012 とほとんど同様です。
インストール中に、使用許諾契約書が表示されます。Hyper-V Server 2012 は Windows Server 2012 とコア部分が全く同じですが、Hyper-V Server 2012 を普通のサーバー (ファイルサーバーやデータベース、Web サーバー) やデスクトップ OS として使用する人が増えてしまうと Windows Server や Windows デスクトップ版が売れなくなってしまい Microsoft が困るため、使用許諾契約書によって用途が制限されています。Hyper-V Server 2012 の使用許諾契約書 (インストール中に表示される) の主要部分は以下のようになっています。
上記の写真の赤線が引いてある部分に明記されているように、Hyper-V Server 2012 は「ハードウェア仮想化サービスを提供する」目的に使用できることが規定されています。
PacketiX VPN Server は「仮想 HUB」と「仮想レイヤ 3 スイッチ」を作成し、その仮想 HUB などの機能をユーザーに対して提供する仕組みの VPN サーバーです。「仮想 HUB」とは「レイヤ 2 スイッチング HUB というハードウェアを仮想化するサービス」です。「仮想レイヤ 3 スイッチ」とは「レイヤ 3 スイッチというハードウェアを仮想化するサービス」です。
上図のように、PacketiX VPN Server は仮想 HUB や仮想レイヤ 3 スイッチを仮想化し、その仮想化したインスタンスを利用者にアクセスさせて利用可能にするソフトウェアです。
PacketiX VPN Server の管理画面にログインすると、上記のように仮想 HUB が表示されます。仮想 HUB はいくつでも新たに作成したり削除したりできます。これはたとえば Hyper-V Server や VMware vSphare 上で VM をいくつでも新たに作成したり削除したりできることと同様です。
したがって、定義上、「PacketiX VPN Server 4.0」は明らかに「ハードウェア仮想化サービス」を提供するプログラムですので、Hyper-V Server 2012 の使用形態として使用許諾契約書上で認められている「ハードウェア仮想化サービスを提供する」という目的に当てはまることになります。
このように、PacketiX VPN Server を用いて「ハードウェア仮想化サービスを提供する」目的のために、ホスト OS (物理マシン上で動作させる OS) として Microsoft Hyper-V Server 2012 を利用することが技術的に可能です。使用許諾契約書上も Hyper-V Server 2012 は「ハードウェア仮想化サービスを提供する」目的で利用すべきであると規定されています。まさに Microsoft Hyper-V Server 2012 は PacketiX VPN Server をホストするために最適な OS なのではないかと思います。
なお、無料のオープンソース版 UT-VPN も同様に Microsoft Hyper-V Server 2012 にインストールすることができます。しかし、インストールにはコツが必要です。Hyper-V Server 2012 上では Windows Installer が正しく動作しないので、別のマシンにまず UT-VPN をインストールして、その結果の EXE ファイルを Hyper-V Server 2012 に USB メモリなどでコピーしてサービスとしてインストールしてやる必要があります。一方、PacketiX VPN Server 4.0 であれば標準インストーラ (Windows Installer を使用していない) によりとても簡単にインストールできます。
もちろん、2013 年初頭に登場予定の「SoftEther VPN」というオープンソース版の PacketiX VPN Server 4.0 も Hyper-V Server 2012 上で動作させることが可能となる予定です。SoftEther VPN オープンソース版が登場すれば、Windows のライセンス料も VPN Server のライセンス料も一切かかわらずに、ソフトウェアとしての代金は完全に無料のまま、高機能な VPN サーバーをとても安価に構築できることになるのです。(法人業務用などで技術サポートが必要な方は、サポートが提供される Windows Server 2012 などの製品版 Windows と、PacketiX VPN Server 4.0 の製品版ライセンスを購入することをお勧めします。)
意外な目的で利用できる Hyper-V Server 2012 をぜひ有効活用しましょう。
各社員に VPN サーバーを立ち上げる程度のリテラシを身につけさせる
「社員に勝手に VPN サーバーを立ち上げさせない」よりも「各社員に VPN サーバーを立ち上げる程度のリテラシやセキュリティ意識を身につけさせる」戦略をとるほうが長い目で見た場合は、コストも低くなり、管理の手間も減り、社員の能力や業務効率が高まります。
PacketiX VPN 4.0 は、そのような目的に最適の VPN ソフトウェアだと思います。現在はベータ版が無償でダウンロード可能です。また、間もなく PacketiX VPN 4.0 の製品版が出る頃には、PacketiX VPN 4.0 をオープンソース化した「SoftEther VPN」という無償バージョンが出る予定です。SoftEther VPN はオープンソース (GPL) となる予定ですので、永久に使用できますし、利用者の側で挙動を好きなように改良することもできます。PacketiX VPN 4.0 や SoftEther VPN 4.0 は、システム管理者が全社システムとして導入する場合でも、社内の各社員が自分のパソコンに 1 個ずつ導入する場合でも、どちらの場合も便利に利用できます。システム管理者が全社で導入する場合は、効率が良く間違いが少ないですが、どうしても細かい点で融通が利きにくくなります。各社員が自分のために 1 個ずつ VPN サーバーを設置する方法であれば、最初は少し大変かも知れませんが、長期的に見ると各社員のネットワークや VPN に関する知識が向上し、それぞれの社員ごとに最適な環境が作られることになります。そのような会社は、社員がそれぞれ積極的に物事を考え問題解決を行うことができる会社となり、そうでない会社と比べて全体の業績がアップすることでしょう。PacketiX VPN 4.0 やオープンソース版 SoftEther VPN が普及し、そのような良い会社が増えれば良いと思います。
ネットワーク管理者が社員の無断の VPN 利用を『確実に』禁止したい場合
これまでに書いてきた、PacketiX VPN 4.0 の強力な「ファイアウォールの貫通」機能の解説は、ユーザーの側の視点から見たものです。一方、ネットワーク管理者側の視点から見たとき、一部の管理者には、ユーザーの通信をすべて監視・管理したいとか、ユーザーが管理者に無断で VPN 通信を行えないようにしたいといった需要がある場合もあるかと思います。
そこで、今度はネットワーク管理者の立場に立って、PacketiX VPN 4.0 を「社員が無断で勝手に利用してしまう」ことを防ぐ方法について解説したいと思います。
従来の方法として、ファイアウォールに「IPsec や PPTP は通さない」といったフィルタを書くという方法があります。この方法を用いれば IPsec や PPTP などのレガシーな VPN プロトコルを遮断できます。しかし、PacketiX VPN や OpenVPN などのモダンな VPN プロトコルは TCP や UDP を用いて通信をしますので、単に特定のプロトコルだけをフィルタするという手法ではうまく遮断できません。PacketiX VPN や OpenVPN はポート番号も変更することができますので、「OpenVPN のデフォルトポートである 1194 を遮断する」という方法では遮断できません。
OpenVPN や Windows に付属している VPN サーバー機能であれば、会社のファイアウォールで「外側から内側に対して始動される通信はすべてブロック」する設定にすれば、会社内に VPN サーバーを立てても、外からアクセスすることはできなくなります。従来は、社員が無許可で「社内に VPN サーバーを設置し、外からアクセスできるようにされてしまう」ことを防止するためには、この方法でだいたい十分でした。
しかし、PacketiX VPN 4.0 からは上記の「NAT トラバーサル」や「VPN Azure」といった機能が新たに追加されました。これらの機能は、前述のとおり、日本国内の 約 95.7% のファイアウォール・NAT を「外から内に」通過することができます。「外側から内側に対して始動される通信はすべてブロック」する設定にしていても、やはり通過できます。(原理は Skype と同じです。) そのため、別の対策が必要になります。
「社内の PC すべてをシステム管理者が管理し、社員には Admin 権限を渡さない」という運用方法は、これまでかなり有効でした。SoftEther や PacketiX VPN をインストールしたり、Windows 付属の PPTP VPN サーバー機能を有効にしたりするためには Admin 権限である必要があるためです。しかし、今回リリースされた「PacketiX VPN Server 4.0」には上記のとおり「ユーザーモードインストール」機能が搭載されていますりで、Admin 権限がなくてもインストールすることができます。グループポリシー機能で Windows Installer の実行を禁止している場合でも、PacketiX VPN Server 4.0 のユーザーモードインストーラは Windows Installer を用いていませんので、やはりインストールできます。したがって、「社員には Admin 権限を渡さない」という方法だけでは、無許可の VPN サーバーを立ち上げることを防止できなくなりました。
なお、Windows 7 以降の法人向けエディションを使用している場合で Active Directory を導入している場合は、AppLocker 機能を使用すれば、許可されたアプリ以外は、たとえユーザーモードのものであっても一切動作させないといった設定が可能です。これはとても有効に機能しますので、検討の余地があります。ただし、許可されたアプリ以外を禁止してしまうと、社員が業務のために利用したいと考える小さなユーティリティソフトなど (ZIP 解凍ソフトなど) が動作しなくなり、動作させる必要があるソフトを 1 つずつ洗い出して許可なければならない、というデメリットもあります。
AppLocker 機能などを用いて、OpenVPN や PacketiX VPN の EXE のハッシュ値を指定してブロックするというのも 1 つの方法です。しかし OpenVPN はオープンソースですし、PacketiX VPN 4.0 も間もなく GPL のオープンソースとして公開される予定ですので、ユーザーはいつでも自分の環境でリビルドすることができます。そうすると EXE ファイルのハッシュ値が変化しますので、この方法ではブロックできません。
「プロトコルの挙動を監視し、特定の性質が発見された場合は通信を遮断する」という仕組みのファイアウォールを導入することが 1 つの方法です。ネットエージェント社の One Point Wall はそのような製品の 1 つです。この製品は従来の SoftEther, PacketiX VPN, OpenVPN, IPsec, PPTP などの VPN プロトコルを遮断してきた実績があります。
しかし、残念ながらこのような高度なファイアウォールを導入しても確実に VPN を遮断することはできません。OpenVPN はオープンソースで公開されていますので、誰でもソースコードを修正して、挙動を変更することができます。変更された挙動は既存のファイアウォールでは検出できなくなります。ソフトイーサ社の「PacketiX VPN 3.0」も筑波大学との共同研究によってオープンソース化 (GPL) されており、UT-VPN (University of Tsukuba VPN Project) としてソースコードも公開されています。ソースコードを改良するだけで、ユーザー自らの手でいかようにもプロトコルを改良することができますので、ファイアウォールで確実に検出することはほとんど不可能だと思います。
なお、上記のような強力なファイアウォール貫通機能を有する「PacketiX VPN 4.0」も間もなくほとんどの機能を搭載した状態でオープンソース化され、GPL ライセンスで公開される見込みです。
それでも、ネットワーク管理者の方が「確実に無許可の VPN を遮断したい」と考える場合、1 つだけ、とても有効な方法があります。以下の図のように、ファイアウォールの制限を厳しくして、通信を「ホワイトリスト許可制」にするのです。
通常、ファイアウォールは社内から始動されたほとんどの通信を通してしまいます。通すポート番号を「80」、「443」に限定すれば HTTP のアクセスのみ通しそれ以外はフィルタすることもできるようになりますが、PacketiX VPN では「Ethernet over HTTP」を実現していますので、通過してしまいます。また、「VPN over ICMP」、「VPN over DNS」を実装した PacketiX VPN 4.0 では ICMP や DNS の通信を許可している場合はその上で VPN を構築できます。大抵のファイアウォールは ICMP や DNS の「内から外」への通信を許可していますので、通過してしまいます。
そこで、ファイアウォールの制限をいっそう厳しくし、「ホワイトリスト許可制」を導入します。これまで「内から外」の通信を原則として許可していたのを、「原則として禁止」というルールに変更します。その上で、社員に対してアクセスを許可する Web サイトの IP アドレスのみを通過できるようにルールを書きます。上図であれば、たとえば www.jal.co.jp と www.askul.co.jp という 2 つのサイトは社員が仕事でアクセスする可能性があるため通過させ、それ以外の IP アドレスは不明なサーバーがある可能性が高いのでフィルタします。このようにすれば、確実に「社員による無許可の VPN の通信」を禁止することが可能です。そして、ほとんどのファイアウォールはこのような設定が可能です。とても安価なコンシューマ向けブロードバンドルータでさえも可能であったりします。そのため、ここで解説した方法は、新たにほとんどコストはかかりません。ただし、社員は許可された Web サイトしか見れなくなりますので、たとえば Skype やメッセンジャーを利用したり、Web で情報を検索したりすることはできなくなるという制限事項もあります。