4. LAN 内で PacketiX VPN

    ここでは、PacketiX VPN の主な利用方法であるリモートアクセス等とは違う新しい LAN 内での活用方法である「LAN 内仮想閉域」という考え方の紹介を行います。

    LAN 内って本当に安全 ?

    最近では、インターネット上の IT 情報サイト等でしか見なかった「情報漏洩」という言葉をテレビのニュースでもみるようになってきました。確かに、IT を媒介として「情報漏洩」が注目されてきたのは、つい最近の事です。しかし、情報漏洩自体は IT が普及する前から存在していた、企業が抱えるリスクの一つでした。したがって、IT が普及していく段階で外部からの不正アクセスを防止するファイアーウォールなどの製品等は多く出されてきました。しかし、最近の情報漏洩のトレンドを見ると、内部犯行者による情報漏洩が多く見られるようになってきました。これにより、セキュリティベンダーは内部防護のセキュリティ製品を多く出すようにはなってきており、日本版 SOX 法の施行もあり、企業サイドからの内部統制の注目も高くなってきました。

    さてここで、PacketiX VPN は、インターネット VPN に分類されるようにリモートアクセスや拠点間接続に使用する、VPN 構築ソフトウェアです。

    しかし、PacketiX VPN の仕組みをもう一度見直してほしいのです。「Ethernet over IP」 + 「暗号化」これらのキーワードはレイヤ 2 VPN を構築するためには必須の技術です。しかし、これらの技術の組み合わせは「外から内」だけではなく LAN 内でのセキュリティ向上に役立てることができるのです。

    現在の多くの企業では、LAN 内での通信は基本的に平文で行われています。しかし、本当に LAN 内というのは安全なのでしょうか。小さな少人数の企業ならともかく、大企業ともなると、関連企業の従業員や、プロジェクト単位で社内に出入りする派遣スタッフなど多岐にわたるものとなってしまいます。

    そうなってくると、平文で重要な情報を流している状態は良い状態とは言えないでしょう。

    そのように見ていくと、いくつかの、現在多くの企業の LAN の問題点が見えてきます。

    LAN 内の問題点

    先ほども述べたように、LAN 内といえども最近では平文で情報を流すのはあまり好ましくありません。

    では、実際の LAN ないではどのような箇所が問題となってくるのでしょうか。いくつか紹介したいと思います。

    ハブへの容易なアクセス

    現在の多くの企業のオフィスに多く存在する HUB へは比較的容易に手の届くところに設置してある場合がほとんどです。ラックに鍵をかけてしっかり管理・運用できている企業は決して多いとは言えないでしょう。 例え、HUB をラックに入れたとしても個々の PC のネットワークケーブルまでをもしっかり管理するのは事実上困難な事です。

    こうした環境で、もしどこかにリピータ HUB を接続してパケットをキャプチャされると、容易に LAN 内に流れるデータを盗聴されてしまうのです。

    パケットキャプチャーソフトであれば、Ethereal や tcpdump など、誰もが簡単に手に入れる事が可能です。最近では、リピータ HUB 自体はあまり見なくなってきましたが、手に入れるのはまったく難しくなく、3 ~ 4 万円も出せば買えてしまします。また最近では IDS 用にとミラーリングポートを搭載した製品であれば多く存在しこれも数万円で買えてしまいます。この、キャプチャソフトとリピータ HUB を使った盗聴であれば、かなり簡単にできてしまうのです。また、リピータ HUB を使用せずとも、スイッチング HUB でも盗聴ができてしまう事があります。

    通常スイッチング HUB は、MAC アドレスを学習し関係のないポートにはパケットを流さないようしています。しかし、ARP スプーフィングを行われると盗聴が可能となってしまうのです。 ARP は IP アドレスと MAC アドレスを対応付けするためのプロトコルであり、接続されている PC にブロードキャストを送り該当 IP アドレスの MAC アドレスの調査を行います。この際 該当する IP のアドレスをもった PC が ARP の問いかけに返答を行います。この時に、すべての MAC アドレスの問い合わせ ARP に自分がその IP の MAC アドレスを持っていと答えるのが、ARP スプーフィングとよばれる手法なのです。これを行われてしまうとすべてのパケットが、ARP スプーフィングを行った PC に送られ、ARP スプーフィングを行った PC はパケットをキャプチャして、正しいホストへパケットを転送するのです。これによって、パケットを送った方は正常に通信ができたと思い、盗聴の発見が難しくなるのです。

    こうなってしまうと、ケーブルをたどっても怪しいマシンは接続されていないなどの状態になり盗聴が発見しづらくなってしまいます。

    特に、重要な情報がネットワークのどこに流れているかなど、社内の人間であれば容易に特定することができるのです。これらは、重大な情報漏洩をもたらす可能性を秘めているのです。

    4-1.jpg

     

    4-2.jpg

    無線 LAN

    もう一つ、さらに暗号化を必要とするのが、無線 LAN です。現在では、多くの企業で無線 LAN の導入がなされています。しかし、無線 LAN は 有線での LAN と比べて、より高いリスクを抱えています。有線の LAN であれば、パケットを盗聴するにも社内に入り込まないと装置の設置等ができず、パケットの盗聴を行う事はできません。

    しかし、無線 LAN であれば、違う階のフロアや、建物の外まで電波が漏れている可能性があるのです。小さなオフィスでは、隣の部屋の無線 LAN が拾えたりした経験をお持ちの方も多いのではないかと思います。

    また、管理者からしてみると、勝手に暗号なしのアクセスポイントを増やされてしまうなど、管理を一向に難しくする状況が多くあります。例え WEP による暗号化を行っていたとしても十分とは言えません。WEP の脆弱性はかなり前から知られています。

    PacketiX VPN で解決

    以上のように、LAN といえども、大きなリスクを抱えているということがわかります。

    そこに、PacketiX VPN を導入することによって問題を簡単に解決する事ができるのです。

    簡単に言えば、通信目的のマシン直前まで PacketiX VPN で暗号化を行うのです。機密情報を扱うとなればほとんどの場合がサーバセグメントにあるサーバとの通信になるのですから、そのサーバセグメント内に PacketiX VPN Server を設置し、後はブリッジや SecureNAT を使用すればクライアント PC とサーバセグメントの間で、悪意のある者が盗聴を行ったとしても、得られたパケットは暗号化されており解読不能となるのです。

    無線 LAN でも、PacketiX VPN を使用すれば例え WEP キーが漏れたとしてもその上で SSL 暗号を行っているため、パケットを盗聴する事が不可能になります。

    このように、PacketiX VPN の暗号化という部分に注目すると、LAN 内でも十分にセキュリティ向上に役立つソフトウェアだということが見えてきます。

    4-3.jpg

    もう一つのキーワード

    さて、暗号化を行うことによって安全に通信できる事がご理解いただけたと思います。しかし、実はここでもう一つ重要となるキーワードがあるのです。それは「高速な通信」ということです。

    当然、VPN 通信を行うと、ワイヤースピードよりもスループットが落ちてしまいます。そうなってくると、どのくらいワイヤースピードに VPN 通信のスループットを近づけられるかが、快適なオフィス環境には必要となってきます。スループットがあまりにも遅い場合、ユーザへのストレスが溜まり、ユーザから文句が出てきて、そのうち使われなくなってしまいます。

    PacketiX VPN では、1 つの VPN セッションを複数の TCP/IP コネクションを同時に確立し、通信データを負荷分散させます。これによって VPN 通信を高速・低遅延で行うことができるようになっています。そのほかにも、仮想 HUB 内のスイッチングアルゴリズムの最適化や、各種パラメータの調整、開発時からも低レベルレイヤ、中レベルレイヤ、高レベルレイヤ、応用レベルレイヤ、というふうにレイヤに分けて入念に設計・開発を行い、安定した通信が可能となっています。

    ソフトイーサ社では、2006 年に行われた INTEROP Tokyo 2006 で、10Gbit Ethernet を使用して、3Gbps (非暗号時) という、世界最速の PacketiX VPN による VPN 通信のデモを行いました。

    またこの予備実験として行った実験では、ソフトウェア VPN の有名所である、PPTP、OpenVPN の計測も行いました。

    その結果、非暗号化時で 3130Mbps、暗号化時で 1660Mbps という結果になり、PacketiX VPN は圧倒的に高速だという事がわかりました。

    しかもこれは、CPU パワーの限界であり、より高性能なマシンで実験を行えばより高いスループットの結果が得ることができます。

    この結果より、暗号化時で 1660Mbps というスループットを確保できたということは、多くの企業で使われている Fast Ethernet をはじめ Gigabit Ethernet 環境でも十分にストレスがない IT インフラにすることが可能なのです。

    4-4.jpg

    構築方法

    さて、実際にどのように構築するか、簡単なモデルに沿って紹介していきたいと思います。今回は下の図のようなモデル上での構築を行います。

    4-5.jpg

    事前準備

    まず、サーバセグメント上に PacketiX VPN Server を設置します。

    次にユーザセグメントからサーバセグメントへの通信は PacketiX VPN Server のみへの通信を許可するようにファイアーウォールのを設定します (またはルータ)。このサーバセグメントへの通信を全て暗号化し、強制したいのであれば上記の様な設定が必要となります。よって、強制しない場合は必要ありませんが、設定する事をお勧めします。なんらかの原因で PacketiX VPN との通信が途絶えた場合、平文でサーバセグメントとの通信を行ってしまう場合があるからです。

    PacketiX VPN Server の設定

    次に PacketiX VPN Server の設定を行います。

    まず、仮想 HUB を一つ作成します。今回は 「Server」 という仮想 HUB を作成します。

    サーバー管理マネージャで、「仮想 HUB の作成」により仮想 HUB を作成します。
    次に、仮想 HUB のローカルブリッジを行います。「ローカルブリッジ設定」で今回作成した、仮想 HUB 「Server」と物理 NIC をブリッジします。

    次にユーザの作成ですが、誰が通信したかをロギングするのであれば、ユーザを各社員分作成するか、すでに RADIUS 等を導入しているのであれば、RADIUS と連携を行うのが良いでしょう。

    また、特にログを残す必要がないのであれば単一ユーザの作成だけでも良いかもしれません。

    ただ、VPN サーバーをインターネットの外からも使用するのであれば、パスワード認証や証明書認証などを使うようにする必要があります。

    またセキュア NAT を使用する場合は、「仮想 NAT および仮想 DHCP サーバー機能」より「Secure NAT を有効にする」で有効にします。

    PacketiX VPN Client の設定

    次にユーザセグメントにある PC の設定を行います。

    まず、仮想 LAN カードを作成します。次に、「接続設定の作成」より接続設定の作成を行います。 先ほど設定したサーバの、ホスト名、仮想 HUB 名 (自動的にリストアップされます)、認証方法を設定します。そしてパスワード認証・Radius 認証であれば ID とパスワードを、証明書認証であれば証明書と秘密鍵を設定してください。

    設定が完了したら、つぎに接続をスタートアップに登録します。設定方法は接続マネージャで今回作成した接続設定を右クリックし「スタートアップ接続に設定」をクリックします。こうすることによって、コンピュータが起動した時に PacketiX VPN Server へ接続を行うようになります。

    接続設定の配布

    もし、ユーザに負担をかけたくないのであれば、設定ファイルを配布するもいいかもしれません。

    設定ファイルを配布するには、設定ファイルのエクスポートを行います。

    まず、先ほど説明したとおり、接続設定を行いスタートアップ登録まで行います。次に、その接続設定を右クリックし、「接続設定のエクスポート」をクリックします。そうすると、拡張子が.vpn のファイルが出来上がります。それをユーザ ーに配り、ダブルクリックを行うと自動的に設定ファイルが PacketiX VPN Cient にインポートされます。

    ただし、ここで注意がひとつあります。設定ファイルをインポートしただけでは、仮想 LAN カードの作成、VPN の接続がおこなわれません。

    初回のみ、インポートした接続設定をダブルクリックし、仮想 LAN カードの作成と VPN 接続を行ってください。

    また、パスワード認証を用いる場合は、すべての ID ・パスワードが違うので、数が少ないのであれば可能ですが、数が多くなると手作業で行うのは難しくなります。

    そこで、コマンドライン管理ユーティリティ (vpncmd) を使ってスクリプトなり、プログラムを作成して行う事をおすすめします。
     JAVA や C# であれば Process クラスを使い、バックグラウンドでコマンドライン管理ユーティリティ (vpncmd) を起動し、ID とパスワードを明記したテキストファイルや CSV ファイルを読み込み、標準入力にコマンドと共に流し込めば設定ファイルが出来上がります。
    4-6.jpg
     
    4-7.jpg

    使いやすくするために

    基本的に以上の設定で VPN Server への接続が行われ、暗号化を行うことが可能となります。

    その他に、PacketiX VPN を快適に使用するための、いくつかの設定項目の紹介をしたいと思います。

    TCP コネクション数

    まず、先ほど「もうひとつのキーワード」で述べた通り、VPN 通信を高速化するために、TCP コネクション数の設定する事をお勧めします。TCP コネクション数を設定するには、接続設定の「高度な通信設定」より設定を行うことが可能となっています。TCP コネクション数は 1 ~ 32 本まで選択することが可能です。ただデフォルトでは 1 本という設定になっているので、LAN 内で使うのであれば 8 本にするなど、環境にあった TCP コネクション数を設定してください。ただし、コネクション数を多くすればするほどスループットが向上するわけではありませんので、色々と実験してみる事をお勧めいたします。

    その際に、PacketiX VPN Client に付属する、通信スループット測定ツールを使用するのが便利かもしれません。これを使用するには、ツールメニューから「通信スループット測定ツール」を選択することにより測定を行うことが可能です。通信スループット測定ツールは、VPN 内のスループット測定はもちろんの事、IP ネットワーク的に繋がっている PC 同士であれば、VPN を使用していなくともスループット測定が可能です。

    4-8.jpg

    エラー画面

    次に、エラー画面の非表示についてです。PacketiX VPN は接続が切断されると、新たなウィンドウを表示しエラーをユーザに報告します。しかし、常時使用している状態でこの表示が出るとわずらわしい場合もあります。この場合、接続設定画面の左下のほうにある、「VPN Server への接続処理中に接続状態やエラー画面を表示しない」のチェックボックスにチェックすると、エラー画面や接続状態の表示がなくなります。

    しかし、再接続を試みるように設定されている場合は、PacketiX VPN Client はバックグラウンドで再接続を試みています。

    まとめ

    以上のように、PacketiX VPN は LAN 内仮想閉域を作れば LAN 内でも十分役に立つソフトウェアだということを認識していただけたでしょうか。

    もともとは VPN 構築ソフトウェアとして開発されており、多くの解説サイトや雑誌でも VPN としての、リモートアクセスや、拠点間通信を取り上げられています。しかし、PacketiX VPN は、レイヤ 2 での VPN 通信というきわめて低レベルで活躍するソフトウェアなので、今回のように意外な一面をユーザの工夫しだいで見せてくれます。

    これからは、PacketiX VPN を単なる VPN 構築ソフトウェアとしてではなく、ネットワークの OS 的な存在「ネットワーク OS」として見ていただければと思います。