SSL-VPN と IPSec-VPNの違いについて
昨今の状況により、リモートワークを導入している企業が増えていますが、リモートワークを実現するには会社内のシステムと自宅をつなぐことが必要になるケースも多いかと思われます。
この会社と自宅をつなぐネットワークソリューションとしてよく用いられるのが、SSL-VPN と IPSec-VPN です。
この2つのソリューション、時折混同されることも多いですが、基本的には別ものです。なので、自宅と会社を接続するときに、(特に会社側で)対策するセキュリティに関しても考え方が異なってきます。
■SSL-VPNとIPSec-VPNの基本的な違い
この2つの違いは、暗号化が行われる階層の違いです。
ここでいう階層とは、ネットワークOSI7階層モデルの階層です。
SSL-VPNはセッション層(第5層)での暗号化、IPSec-VPNはネットワーク層(第3層)での暗号化を行います。
図にするとこんな感じです。
図1 SSL-VPNの構造
図2 IPSec-VPNの構造
上記の図の通り、SSL-VPNでは第5層からなので、例えばTCP通信でいうとHTTP、POP3、IMAP、FTP等、アプリケーションが使用するプロトコル単位での暗号化をすることになります。
IPSec-VPNは第3層(ほとんどははIPだと思います)からの暗号化を行うので、第4層のTCP、UDP、第5層のHTTP、FTPなどのプロトコルの違いを気にすることはありません。
■利用環境の違い
SSL-VPNはセッション層のプロトコルレベルでの暗号化を行うため、そのプロトコルを扱うアプリケーションがあれば、特別なソフトを使用しなくてそのアプリケーションでVPN通信が可能です。
例えばHTTPを例にとるとクライアント端末側は普段使用しているWebブラウザを使用してVPN通信が可能です。SSL-VPNのメリットとしてクライアントレスが謳われるのはこれが理由です。
ただし、HTTPのような汎用的なアプリケーションがある場合はクライアントレスが可能ですが、そうではないプロトコルの場合、クライアントアプリケーションを用意する必要があります。
IPSec-VPNは企業内拠点間を結ぶネットワークとして始まったことから、元々はルーターとルーターの間で使われていた方法です。
そのため、そういったルータ無しでクライアント端末でIPSec-VPNを使用する場合は、ルーターの代わりとなる専用のVPNソフトが必要になります。
ここでは、SSL-VPN、IPSec-VPNについてに簡単に説明していますが、それぞれのVPNの中でも複数の方式があります。
方式の違いとは、図1、図2の中にある暗号化対象データをどのように定義するかの違いです。この違いについては、別の記事で詳しく触れたいと思います。
■セキュリティ対策の違いについて
ここでいうセキュリティ対策の違いとは、どっちがセキュリティ的に優れている、とかの話ではなく、ここまで説明した構造上の違いからくるセキュリティ設計の違いのことを指します。
なお、自宅-会社間のネットワークにおけるセキュリティ上の強度に関しては、適切な設計・運用をしている前提であれば大きく変わらないと思います。
企業がインターネットから様々なデータを受信することを考えた場合、当たり前ですが全てのデータを信用して受信するわけにはいきません。また、機器に不要な負荷を与えないためにも、関係がない通信は機器への到達前に破棄することも必要です。
例えば、社内システムに接続するために次のような構成を考えてみましょう。
図3 インターネット-ファイアウォール-VPN装置の構成図
インターネットから入ってきたパケットは、ファイアウォールで選別されてVPN装置まで到達します。
この時、ファイアウォールでは、VPN装置がSSL-VPNならば使用するTCPポート(HTTPSならTCP443番ポート)のみを許可し、IPSec-VPNならばIKE(UDP500番ポート)、ESPを含むパケット(IPプロトコル番号50)を許可することになります。
上記のようなスタテイックパケットフィルタリングだけならばこれで終了なのですが、ステートフル・パケット・インスペクションを利用していると気をつけねばならないことがあります。
ステートフル・パケット・インスペクション機能の多くは、OSIモデルの第4層(TCP・UDP)のポート番号や、TCPセッション情報を基に上り・下りの通信セッションのペアを判断し、正規の通信であると認定します。
つまり、OSI第3層で暗号化を行うIPSec-VPNでは、ほとんどの場合ステートフル・パケット・インスペクションは使用できません。(少なくともファイアウォール単体で使用できる製品を私は知りません。)IPSecパケットは、ステートフル・パケット・インスペクションではスルーするしかないのです。
そのため、正規の通信化を判断する役割の比重が、IPSec-VPNではVPN装置側に傾きます。例えば、通信経路中にIPSecパケットをコピーし、そのパケットを大量に繰り返し送信するリプレイアタックという攻撃がありますが、その対策機能であるアンチリプレイ機能を有効にするかの検討は必須です。(環境次第ではアンチリプレイ機能が問題となるケースもあるので、有効にするかは検証・検討が前提です。)
上記は簡単に一例を示しましたが、それぞれのVPNにおける各方式次第でも、考えるべきセキュリティ面での設計は変わってきます。
(別の記事で取り上げるかも・・・。)
導入するときは、適切な知識を持った上で、設計・運用計画が必要となってくるのです。