著者:田中麻維
大手電機メーカー系のSierに入社後、インフラエンジニアとしてLinuxサーバーの構築や保守・運用、ソフトウェアの開発業務を経験。アイティベル入社後は、IT領域の執筆などを行う。
昨今、リモートワークやインターネットが普及し、VPNがあらためて注目されるようになりました。VPNには高度なセキュリティを実現するための、さまざまな仕組みが取り入れられています。本記事では、VPNの仕組みとVPNプロトコルとの違い、ビジネスで使用されるVPNの設定例を解説します。これからVPNを導入しようと考えている企業のIT担当の方は、本記事を参考に理解を深めてみてください。
1. VPNとは
VPN(Virtual Private Network)は、仮想プライベートネットワークと呼ばれる通信形態です。閉域網、インターネットのいずれかに仮想的な経路を構築し、あたかも専用線のように通信を行います。
VPNにはインターネットVPN、IP-VPN、エントリーVPN、広域イーサネットの4種類があり認証、暗号化、カプセル化、トンネリングによって高いセキュリティを確保します。
VPNの詳細は以下の記事をご参照ください。
2. VPNの仕組み
VPNは、認証、暗号化、カプセル化、トンネリングの4ステップを経て通信します。この一連の処理はVPNサーバー、VPNルーター、VPNゲートウェイで行われます。
VPNサーバーはネットワーク制御の機能を備えていないため、ネットワーク制御まで実施したい場合はVPNルーター、もしくはVPNゲートウェイの導入が必要です。ただし、VPNルーター、VPNゲートウェイを導入する場合は、ネットワーク構成を見直さなければなりません。
認証
認証は送信者と受信者が信頼できる利用者かどうかを判別するために行われます。
認証の際には、ユーザー名、パスワードのほかに証明書、認証トークン(ワンタイムパスワード、USBトークンなど)が使用されます。さらに近年では、二要素認証(2FA)や多要素認証(MFA)を使用するソリューションも提供されるようになりました。
暗号化
暗号化処理で認証情報がついたパケットを暗号化します。
暗号化には、共通鍵(秘密鍵)暗号化方式と、公開鍵暗号化方式の2種類があります。共通鍵(秘密鍵)暗号化方式は、送信者と受信者が同じ共通鍵を使ってデータを暗号化・復号化する方式です。鍵の管理と暗号化・復号化の処理をしやすい点がメリットです。一方で、共通鍵が漏洩したときに情報漏洩が発生するリスクがあります。
公開鍵暗号化方式は、受信者の公開鍵で暗号化したデータを受信者自身の秘密鍵で復号する方式です。公開鍵暗号化の場合、秘密鍵でしか復号できないため、第三者にデータを盗まれた際にも情報漏洩が起こりにくいメリットがあります。
カプセル化
カプセル化は、暗号化したパケットを別のプロトコルで包むことを意味します。カプセル化により別のヘッダ情報が付与されるため、セキュリティ強度を高める点で大変重要です。
カプセル化される範囲はVPNプロトコルによって異なります。たとえば、トランスポートモードであればESPヘッダ部分までカプセル化されるため、宛先IPアドレスヘッダは変わりません。一方、トンネルモードであれば、元のIPアドレスヘッダもまとめてカプセル化され、新しいトンネル用ヘッダが付与されます。
カプセル化される範囲が広ければ広いほどセキュリティは高まりますが、VPN装置に負荷がかかるため、性能の良い機器を選定しなければなりません。
トンネリング
カプセル化によりトンネリング用のIPが付与され、仮想的な経路としてルーター間でパケットの伝送を行います。あたかもトンネル内をパケットが通信している状態に見えるため、トンネリングと呼ばれます。
トンネリングは、カプセル化されたパケットが、伝送先のVPNルーターでしかカプセル化を解除できない仕組みを利用したものです。あくまで仮想的なトンネルであり、物理的なパケットへのアクセス、すなわち盗聴、情報窃取を防御するものではありません。つまり、暗号化されていないパケットの盗聴に成功してしまえば、パケットを解析されてしまうおそれがあります。
3. VPNの利用形態
VPNの利用形態は、インターネットVPN、エントリーVPN、IP-VPN、広域イーサネットの4種類に分かれます。それぞれの利用形態について解説します。
インターネットVPN
インターネットVPNは、インターネット上にVPNを構築する形態です。インターネットを利用するため、低コストで容易に導入できるメリットがあります。一方で、不特定多数の第三者に盗聴されるおそれのある点がデメリットです。
エントリーVPN
エントリーVPNは、ADSLやFTTHを利用する形態です。個別の回線を利用するためコストをかけずに済むメリットがあり、小規模なVPN網を構築したいときに適しています。しかし、通信速度はベストエフォートで、安定しているわけではないことに注意が必要です。
IP-VPN
IP-VPNは、閉域網を利用する形態です。インターネット上の一般的な脅威から隔離されるため、極めて高いセキュリティを確保できます。IP-VPNはMPLS(Muli-Protocol Label Switching)と呼ばれる方式で通信を行う点が特徴です。MPLSは、パケットにラベルを付ける方式で、ラベルによって通信先を制御します。同じIPアドレスを持ったパケットのルーティングを可能とし、効率的なパケットの転送によって高速なデータ通信を行えます。
広域イーサネット
VPNサービスのうち、広域イーサネット網を利用する形態です。広域イーサネットは外部から完全に閉じられた環境であるため、極めて高いセキュリティを確保できるメリットがあります。また、拠点に設置するのはVPNルーターではなく、スイッチである点も特徴です。広域イーサネットを利用すると高いセキュリティを確保できるものの、ランニングコストが月額数百万円と非常に高い点がデメリットです。
4. プロトコルの比較
VPNで使用されるプロトコルにはさまざまな種類があります。なかでも現在よく使用されているプロトコルはIPSec、SSL-VPN、OpenVPN、WireGuardの4つです。
それ以外にもPPTP(Point-to-Point Tunneling Protocol)、SSTP(Secure Socket Tunneling Protocol)、IPIP(IP over IP)など、特徴のあるプロトコルが数多く存在します。
本章では、代表的な4つのプロトコルについて解説します。
IPSec
IPSec(IP Security Architecture)はOpenVPNとならび、よく使用されるVPNプロトコルです。IP-VPNと区別するためにIPSec-VPNと呼ばれることもあります。
IPSecはAH(Authentication Header)、ESP(Encapsulating Security Payload)、IKE(Internet Key Exchange)の各プロトコルで構成されます。「トランスポートモード」と「トンネルモード」があり、セキュリティ強度が高いのは「トンネルモード」です。
なお、IKEによって鍵交換を行うため、明示的にIKEv2/IPSecと表記される場合もあります。リモートワークや、公衆網を使用したリモートアクセスVPN(Remote Access VPN)、サイト間VPN(Site-to-Site VPN)など、あらゆる目的に利用できる点が特徴です。
トランスポートモード
トランスポートはパケットのデータ部分のみを暗号化するモードです。暗号化範囲はTCP/UDPヘッダ、データ、ESPトレーラまでで、IPヘッダは暗号化されません。つまり、宛先情報は隠蔽されないため、盗聴によってIPアドレスの情報が詐取されてしまう点に注意が必要です。
トンネルモード
トンネルモードはIPヘッダも含め、パケット全体を暗号化して新たにESPヘッダを付けるモードです。暗号化範囲はIPヘッダ、TCP/UDPヘッダ、データ、ESPトレーラまでと、トランスポートモードよりも広範囲にわたります。なお、暗号化されたIPヘッダの代わりにトンネリング用IPアドレスをヘッダとして付与し、このIPアドレスをトンネリングで使用する点も特徴のひとつです。
トンネルモードは、L2TP(Layer2 Tunneling Protocol)としてIPSecをトンネリングするため、一般的にはL2TP/IPSecと表記されます。L2TPはL2TPv2とL2TPv3の複数バージョンがあり、L2TPv2はリモートアクセス向け、L2TPv3はサイト間VPN向けのように使用用途が異なります。
SSL VPN
SSL VPN(Secure Socket Layer VPN)は、SSL/TLSを用いたVPNプロトコルです。
接続方式には「リバースプロキシ型」「ポートフォワーディング型」「L2フォワーディング型」の3種類があります。このうち「リバースプロキシ型」「ポートフォワーディング型」は、ブラウザで使用される技術のため、SSL VPNクライアントソフトウェアをインストールせずに利用できるメリットがあります。
SSL VPNを利用する際は、SSL VPNに対応したVPN装置が必要です。IPSec VPN用のVPN装置はSSL VPNに対応していないものもあるため注意しなければなりません。なお、SSL VPNクライアントソフトウェア以外にも、アプレットをダウンロードすることでトンネリングも可能です。
SSL VPNはIPSecと違い、パケットのデータ部分のみ暗号化するため、IPヘッダを隠蔽できないデメリットがあります。
リバースプロキシ型
リバースプロキシ型はブラウザで接続する方式です。HTTPSで接続してきた通信をSSL VPN装置で認証して通信します。ブラウザを使用するためVPNソフトウェアのインストールは不要ですが、ブラウザを使用したアプリケーションでなければ利用できません。
ポートフォワーディング型
ポートフォワーディング型は、JavaアプレットやActiveXをインストールし、SSL VPN装置で認証する方式です。Webアプリケーション以外のアプリケーションで使用されます。なお、FTPなど動的にポートを変更する通信、あるいはアプリケーションの利用はできません。
L2フォワーディング型
L2フォワーディング型は、Webアプリケーション、もしくはインストールが必要なアプリケーションの双方に対応した方式です。SSL VPNクライアントをインストールしてSSL VPN装置と通信します。
L2フォワーディング型の場合、通信はSSL VPNクライアントの仮想NICを使用するため、ポートフォワーディング型を利用できないアプリケーションとの通信にも対応しています。
OpenVPN
OpenVPNはオープンソースのVPNプロトコルで、サイト間VPN、リモートアクセスVPN双方に対応しています。Linux、Windows、Mac、Android、iOSなどの主要なOSに対応しているため、非常に導入しやすいVPNです。
OpenVPNの認証はSSLを基本としています。オープンソースであるため常にアップデートを続けており、海外の各国で使用できる点がメリットです。さらに、VPNクライアントの設定のみで、セキュリティ設定や通信速度をすばやく変更できる特徴もあります。
WireGuard
WireGuardはIPSec TLSで使用されている最新の暗号化技術を備えたオープンソースのVPNプロトコルです。OpenVPNと同様に多数のOSで動作します。
WireGuardはUDP上のプロトコルを使用しているため、ほかのVPNプロトコルと比べて格段に速いスループットが期待できます。
5. ケース別にみるVPNの仕組みと設定の流れ
ここでは、利用ケースに応じたVPNの仕組みと設定の流れをいくつか紹介します。今回はサイト間VPNとリモートアクセスの事例を紹介しますので、参考にしてみてください。
なお、使用するVPN装置によっては設定の流れが変わります。実際に導入する際には、導入するVPN装置とネットワーク構成を検討したうえで設定の流れを整理しましょう。
サイト間VPN
サイト間VPNは本社と支社、本社と工場、支社間などの拠点同士を結ぶVPNです。IP-VPNを使用することが多いものの、規模によってはエントリーVPNを使用する場合もあります。なお、広域イーサネットの場合は拠点間にスイッチを配置するため、今回の内容とは異なります。
サイト間VPNの仕組み
サイト間VPNの場合、拠点にVPN装置(VPNルーター、VPNゲートウェイ)を配置して各拠点間の通信を制御します。ルーティングはMPLSで制御するため、複数の拠点で同じIPアドレスが割り当てられていてもパケットの転送が可能です。
サイト間VPNを設定する流れ
サイト間VPNを設定する流れは以下のとおりです。
①それぞれの拠点にあるVPN装置のWAN側にグローバルIPアドレスを設定
②それぞれの拠点にあるVPN装置のLAN側にプライベートIPアドレスを設定
③双方のVPN装置にIPSecを設定
④双方のVPN装置にトンネルを設定
⑤アグレッシブモードにして拠点間を接続
なお、VPNルーターやVPNゲートウェイとは別に、ルーターやファイアウォールを別のネットワーク機器として分けている場合は、各機器にVPN用のルーティングやファイアウォール設定が必要です。
リモートアクセスVPN
リモートアクセスVPNは、VPNクライアントから社内ネットワークにアクセスするVPNです。リモートワークや出張などで社外からアクセスする際に、インターネットVPNを利用して接続します。
リモートアクセスVPNの仕組み
リモートアクセスVPNの場合、社内ネットワークの出入り口(インターネットとの接点)にSSL VPNサーバーを設置します。従業員はVPNクライアント、もしくはデバイスにVPNクライアントをインストールし、設定したうえでアクセスします。
リモートアクセスVPNの設定手順
リモートアクセスVPNの設定手順は以下のとおりです。
①SSL VPNサーバーにVPNインターフェースを設定
②SSL VPNサーバーに認証情報を設定
③SSL VPNサーバーにSSL VPNに必要な項目(TLS/SSL、ポートなど)を設定
④VPNクライアントにVPNソフトウェアをインストール
⑤VPNソフトウェアにSSL VPNに必要な項目を設定
⑥ポートフォワーディングを設定
リモートアクセスVPNの場合、SSL VPNサーバーのほかに、VPNクライアントごとにVPNラ
イアントソフトウェアをインストールして設定しなければなりません。
今回紹介した手順の詳細については以下の記事をご参照ください。
まとめ
本記事では、VPNの仕組みについて解説しました。VPNは認証、暗号化、カプセル化、トンネリングの4ステップを経て通信を行います。VPNの基盤となる仕組みであり、どのステップも欠かすことはできません。VPNプロトコルはIPSecのほかにも、SSL VPNやOpenVPNなどさまざまなプロトコルが存在するため、利用用途に応じて適切なプロトコルを使用することが重要です。
本記事を参考に、ぜひVPN導入を検討してみてください。