ネット君 安全な通信のためにインターネットVPN▼を導入している企業は多いですよね。
インター博士 比較的低コストで実現できるからな。
ネット君 インターネットVPNの代名詞と言えばSSL-VPN。
インター博士 そうだな。ネットワーク技術者なら必須の知識で、ネットワークスペシャリスト(ネスペ)試験でもよく取り上げられる。今はSSL-VPNと、そのベースになるTLSの話をしよう。
SSL-VPNはインターネットVPNの一種。利便性が高く低コストで実現できるため、端末のリモートアクセスや拠点間通信などで広く利用されている。
SSL-VPNは暗号化や認証のためにSSL▼を使っていたのでこの名前が付けられた。だがSSLにセキュリティー上の欠陥が見つかったため、現在ではSSLの後継であるTLS▼が使われている。ただTLSを使っていても以前の名残からSSL-VPNと呼ばれる。
動作方式は3種類
SSL-VPNの動作方式には、リバースプロキシー方式、ポートフォワーディング方式、L2フォワーディング方式の3種類がある。
リバースプロキシー方式では、接続先の拠点側にSSL-VPNゲートウエイを設置する(図1)。このSSL-VPNゲートウエイがリバースプロキシー▼として機能する。
組織内部のサーバーにアクセスしたいクライアントは、Weブラウザーを使ってSSL-VPNゲートウエイにHTTPS▼でアクセスする。
SSL-VPNゲートウエイではアクセスしてきたクライアントを認証。認証が成功すると、クライアントがアクセスしてきたURL▼に応じてURLを変換。SSL-VPNゲートウエイがクライアントの代理としてサーバーにアクセスする。
この方式ではクライアントに通常のWebブラウザーが使える。ソフトウエアを別途インストールする必要がないので利便性が高い。
一方で、Webブラウザー上で動作するアプリケーション(Webアプリケーション)しか利用できない。
Webアプリ以外も利用可能
ポートフォワーディング方式とL2フォワーディング方式ではWebアプリケーション以外のアプリケーションも利用できる。
ポートフォワーディング方式では、クライアントに専用のアプリケーションを導入する(図2)。専用のアプリケーションはSSL-VPNエージェントなどと呼ばれる。Webブラウザーで動作するJavaアプレットなどを使うケースが多い。
ポートフォワーディング方式の流れは次の通り。クライアントはWebブラウザーでSSL-VPNゲートウエイにアクセスする。するとSSL-VPNエージェントがダウンロードされて実行される。
ダウンロードされたSSL-VPNエージェントはSSL-VPNゲートウエイとTLS通信を確立。クライアントのアプリケーションはこのTLSトンネルを経由してSSL-VPNゲートウエイと通信する。
アクセスの振り分けにはポート番号を使う。SSL-VPNゲートウエイでは、どのポート番号をどのサーバーに割り振るのかを事前に定義しておく。例えばTCP▼25番宛てのアクセスはメールサーバーに振り分けるといった具合だ。
SSL-VPNゲートウエイは宛先ポート番号に従って、事前に定義したサーバーに通信を振り分ける。この方式ならWebに限らず任意のプロトコルを利用できる。ただしポート番号に対応するサーバーを事前に定義しておく必要があるので、ポート番号が固定される。このため使用するポートを動的に変えるFTP▼のようなプロトコルは利用できない。