Webブラウザーでも用いられている暗号化通信の仕組みを活用することで、仮想的な専用線を構築して安全な接続を行うSSL-VPN。しかし、VPN装置に残る脆弱性をはじめ、一定のセキュリティリスクが存在する。この記事では、VPN技術およびSSL-VPNの実装方式を解説した上で、安全性を高めるための対策について考察する。
SSL-VPNとは
リモートワークの普及を背景に、VPN(Virtual Private Network:仮想プライベートネットワーク)の利用が広がっている。自宅のインターネット回線やモバイル端末を介して社外からイントラネットへ接続する際に、VPNを利用することで安全に通信を行い、業務を遂行できる。
VPNは仮想的な専用回線を確立し、社内ネットワークへ接続する、「トンネル」と呼ばれる技術で通信を暗号化し、盗聴・改ざんのリスクを軽減する。より詳しく分類すると、VPNの技術は大きく以下の3つとなる。
1)インターネットVPN
公衆のインターネット回線を活用してVPN接続を行う方式を指す。容易に導入できる反面、回線の混雑状況によっては通信速度が低下する恐れがある。
2)IP-VPN
通信事業者が提供する閉域網を利用してVPNに接続する。拠点間の通信のように、利用者が限定された回線となるため、通信速度が安定し、セキュリティリスクも軽減できる。ただし、接続元に専用のソフトウェアを導入する必要があるなど、ほかの方式と比較するとコストや工数が増加してしまう場合がある。
3)SSL-VPN
接続元とイントラネット側のVPN装置の間で、SSL暗号化通信のもとにVPN接続を確立する。端末に標準で搭載されているWebブラウザーを経由してSSL機能を利用できるため、専用ソフトウェアのインストールが不要となる。なお、製品によってはJavaアプレットなどのプラグインをインストールする必要があるが、接続時に自動でインストールされる。
不特定多数が社内システムへ接続するリモートワークのような環境では、設定が容易なSSL-VPNの利便性が高い。導入にあたっては、社内ネットワークのゲートウェイに専用のVPN機器を設置する。また、通信の暗号化にはSSL/TLS方式を用いるのが一般的だ。
SSL-VPNの3つの実装方式
先述のとおり、SSL-VPNは端末とイントラネット間の通信をSSLで暗号化して接続する。このSSL-VPNを実現する具体的な方式について、代表的なものを3つ紹介する。
1)リバースプロキシ方式
リバースプロキシとは、外部インターネットから社内ネットワークへの中継を行う仕組みのこと。SSL-VPNを実現する際には、社内ネットワークへのゲートウェイとしてリバースプロキシを設置し、認証機能を持たせる。ユーザーはWebブラウザーから事前に設定したゲートウェイのURLにアクセスし、認証に成功した場合に限り、社内システムへの接続が確立される。
ただし、ゲートウェイから先の社内ネットワークの内部では、通信が暗号化されない点には注意が必要だ。加えて、Webブラウザー上のアプリケーションのみSSL-VPN接続が利用可能となるため、メールサーバーへアクセスしてメールをチェックする際には、Webメールとして閲覧できるよう事前の設定が求められる。
2)ポートフォワーディング
JavaアプレットやActiveXなどを経由して社内ネットワークへ接続する方式がポートフォワーディングだ。通信用のモジュールは自動で端末にダウンロードされ、SSL通信のトンネルを確立する。イントラネットのファイアウォールは一般的に特定のポート番号のみ通信を許可しているため、ポートフォワーディングではあらかじめ設定した接続先のIPアドレスとポート番号へ接続する。
先述のリバースプロキシ方式と比較すると、Webアプリケーション以外のアプリ、ソフトウェアでもSSL-VPN接続が利用できるという特長がある。なお、ポート番号は事前に固定しておく必要があるため、ポート番号が可変するアプリケーションでは利用できない可能性がある。
3)L2フォワーディング
ユーザー側の視点から見ると、ポートフォワーディング方式と同様に、通信用モジュールをWebブラウザー経由でダウンロードする仕組みとなる。そのモジュールがSSL通信のトンネルを確立する。この方式では、VPN装置側でポート番号を設定する必要がなく、モジュール側でIPアドレスやポート番号などのデータが紐づくため、利用可能なアプリケーションが増える。一方、アクセス制御が限定されるといったデメリットも存在する。
なお、L2フォワーディングの「L2」とはOSI参照モデルのLayer 2(第2層)であるデータリンク層を指している。データリンク層のモジュールからアプリケーションのデータを取得することから、この名称となった。
SSL-VPNのセキュリティリスク
SSL-VPNは「仮想プライベートネットワーク」を意味するVPNという単語と、暗号化通信を表す単語であるSSLが組み合わさっていることから、さも安全性の高い接続であるという印象を抱きがちだ。しかし、ほかの通信技術と同様、SSL-VPNも完璧なソリューションではない。具体的には、以下のようなセキュリティリスクが指摘されている。
1)不正アクセスとマルウェア感染
先述のように、SSL-VPNを実現するにはゲートウェイに機器を設置する。これらの通信機器に存在する脆弱性を突いて、VPN接続の認証情報が漏えいするというインシデントが過去に発生している。また、脆弱性を突いて社内ネットワークへ侵入され、ランサムウェアの感染やネットワーク機器の乗っ取りにつながった例も確認されている。SSL-VPN製品のアップデートを放置した結果、脆弱性が生じているケースも少なくないようだ。
2)中間者攻撃による盗聴
中間者攻撃(MITM攻撃)は、通信を傍受し、パスワードやクレジットカード情報などの機密情報を窃取する手法だ。SSL通信では暗号化の際に、なりすましの防止と通信先が正規かどうかを検証するために、証明書を利用している。SSL-VPNの設置にあたって、信頼性の高い証明書を取得していない場合、なりすましを防ぐことができず、中間者攻撃の被害に遭遇するリスクがある。
3)総当たり攻撃による不正アクセス
外部からのVPN接続における認証をパスワードのみに依存している場合、総当たり攻撃でパスワードを解析される懸念がある。この際、パスワードが特定されてしまえば、不正アクセスにつながる恐れがある。こうした脅威に対しては、VPN接続に加えて、ほかの製品を併用することでセキュリティを確保する、あるいは二要素認証を導入する、といった対策が求められる。
ゼロトラスト時代における安全な通信とは
近年、「すべての接続を信頼せずに検証する」というゼロトラストの概念が注目されている。多様化するIT環境に対応するよう提唱された考え方であり、VPNのように社外から社内ネットワークへ接続する状況においても、ゼロトラストを考慮するべき範囲に含まれる。
ゼロトラストを実現するため、ZTNA(Zero Trust Network Access)/ SDP(Software-Defined Perimeter)と呼ばれるソリューションが登場してきた。これらは異なる名称ながら、同様のソリューションだ。ZTNA/SDPのソリューションを用いるメリットは、アプリケーションごとに認証・認可を設定できるところにある。接続元のデバイス・場所・OSに加えてブラウザー・証明書などを検証し、ポリシーに準拠している場合のみ利用を許可する仕組みだ。
VPNでは、一度認証を破られてしまえば、社内ネットワーク全体が危険に晒されるという課題があった。しかし、ZTNA/SDPを併用すれば、仮にVPNが不正侵入に遭った場合でも、社内ネットワークを保護できる可能性が高まる。
また、テレワークの普及に伴い、外部のクラウドサービスを利用する機会が増えている。その結果、VPNを介さずに、社内の機密情報をやり取りする機会が増えているという課題も指摘されている。そこで、接続先に関わらず包括的なセキュリティ対策を講じることを目指すという考え方が登場している。この概念は2019年、米国ガートナー社によって、SASE(Secure Access Service Edge:サッシー)という名称とともに提唱された。
SASEでは各端末や各拠点にセキュリティポリシーを遵守させるよう、ZTNA/SDPやCASB(Cloud Access Security Broker:キャスビー)、SWG(Secure Web Gateway)、WAF(Web Application Firewall)といったソリューションを連携させる。
社内外のネットワークに明確な境界線を引き、その境界で認証を行うことがVPNの実装では前提とされてきた。しかし、業務環境が大きく変化し、その境界は不明瞭になりつつある。これまで多くの場面で利用されてきたSSL-VPNはユーザーに負担をかけず、暗号化した接続を実現できる利便性の高いソリューションではある。しかし、通信が多様化したことで、よりきめ細やかな対応が求められるようになったゼロトラストの時代。最適なソリューションを組み合わせて連携させるなど、自社の環境に合致する安全な通信の確立について、再考する時期に来ているのではないだろうか。