前回(VPN構築(PPTP編))、インターネットという専用線と比べて圧倒的に安価なインフラを使って、安全に通信をすることができるPPTPについて紹介しました。現在も現役で使用されているものですが、いくつかの問題点や考慮点もありました。
特に企業が本社と支店という地理的に離れたネットワーク間で安全に情報をやり取りする場合は、上記の問題点および考慮点は致命的です。
今回は、これらを一気に解決することが可能なLAN間接続VPNについて紹介します。
LAN間接続VPNとは?まず下図を参照してください。本社ユーザーと支店ユーザーともに、同一LAN内のサーバーにアクセスするのと同じように、別セグメントのサーバーにアクセスする場合、本支店間が専用線で接続されていなければ、インターネットを経由してアクセスすることになります。
このケースで、クライアントPCからPPTPでアクセスさせることにより、インターネット上を流れる情報を暗号化することは可能ですが、仮に支店からアクセスする端末が100台あった場合、これらにすべてPPTPクライアントの設定をしなければなりません。また、PCが増える度に同様の作業をしなければならないのは大変です。
また仮にその作業が問題なかったとしても、本社側にPPTPサーバーを配置するか、あるいはインターネット・ルータにそのサーバー機能を持たせるかしなければなりませんが、その際もPPTP接続してくるユーザー名およびパスワードを何らかの形で管理しなければならず、LAN同士の接続にPPTPを使用するのは管理や保守の面でも困難になるであろうことは想像できます。
そこで、暗号化を意識しなければならない部分をルータにまかせ、クライアントはゲートウェイとしてそのルータを認識するだけで安全に通信させる方法が必要になるのです。
必要なものこれを実現するためには、暗号化トンネルを作成し管理するためのルータが両ゲートウェイとして必要になります。
この構成が実現できれば、支店にクライアントが増えても暗号化通信を行うための特別な設定をする必要がありませんし、インターネットを使って安全に本支店間の通信を行うことが出来ます。
理論的には、両ルータがそれぞれPPTPサーバーおよびクライアント機能を実装していれば問題ないはずですが、暗号化強度の問題や通信速度の問題等で現実的にはLAN間接続で使用しているケースはあまり多くないと思います。
そこで必要になってくるのが、暗号化強度が強く、安定して通信できる規格です。この条件を満たしてくれるものが IPSec なのです。
異なるメーカー同士での接続IPSecの規格はRFCで提案されたものですから、本来であればそれに準拠して各ルータ・メーカーが実装していれば、異なるメーカー同士であっても問題なく通信できるはずです。しかし、初期のころは異なるメーカー同士はなかなか接続できなかったり、安定しなかったりといった問題がありました。
その後、各メーカーが企業が利用することを前提とした安価なルータ製品を発表し、高額な初期投資をしなくても接続テストなどが行えるようになりました。また、各メーカーとも、他社との接続事例などをインターネットで公開するようになり、そういった情報も簡単に入手できるようになったのです。
IPSecのテスト以前もご紹介した通り、当社ではお客様にご提案するソリューションを事前に構築および検証する技術推進という部署があります。現在では、当社のお客様でこのIPSecを使用したネットワーク構築のお手伝いをさせていただいた実績がありますが、その前に弊社にてテスト稼動をかなりの期間行いました。
当時は社内に企業向けのVPNルータを設置し、技術推進所属の社員宅に家庭用VPNルータをおいて、IPSecのテストをしたものです。
IPSecに関しては社内でもかなり勉強しました。暗号そのものに関する文献を通して、公開鍵暗号という考え方や、それが数学的問題を前提として成り立っていること、データが改竄されていないことを保証するためにハッシュ関数というものが存在するということ、そういったものを組み合わせて暗号化技術として使われているんだということなどなど。
数学的問題ということに関してはIPSecと直接関係がないものの、フェルマーの最終定理に関する書籍などを読むきっかけも、このIPSecの勉強がもとでした。
試行錯誤の後の接続成功IPSecの規格そのものはRFCで規定されているとはいえ、各メーカーの実装方法はやはり独特のものがあり、設定方法から用語までいろいろと異なることも多く、テストにはかなり苦労した覚えがあります。あるメーカーではWebインターフェースで設定ができるのに、別のメーカーではまだCUIインターフェースでのみ設定可能というものもありますし、ログの出力方法も各メーカー毎に異なります。
最初のころは設定を変更してはそれぞれのインターフェースでログを確認して、また設定を変更してテストということを繰り返していました。そのうち、ログをもっと効率良く管理および参照したいという思いから、Linuxでのログ管理機能などを調べて実装したり、そのログをより効率的に参照するためのアプリケーションを実装したりと、VPNの勉強が起点となって得た知識は多くのものがあります。
最終的に接続できたかどうかの確認はログで最初行うのですが、本当につながっているかどうかは、IBM i (AS/400) への ping コマンドで確認しました。自宅LAN内のPCに、IPSecでつながった社内のIBM i (AS/400) から ping 応答が返って来た時の感動は忘れることができません。
お客様からの要望を実現するため我々は様々な角度からソリューションをご提案させていただきます。 お一人で悩まずに我々に是非ご相談ください。