やあ、みんな!
最近pfSenseルーターを購入して、外出時にインカミングVPN接続を許可する設定にしたいと思っています。これにより、以下のことが可能です:
- 自動ファイル同期
- メディアストリーミング
- サーバー管理
これらが私の基本的な用途の場合、IPsecとOpenVPNのどちらを使うべきか protocol次第でしょうか?IPsecはストリーミングに適していると言われていますが、それほど速度差があるのか確信が持てません。
ともあれ、これらのプロトコルをこういったケースで使う際の長所と短所には何がありますか?実際に重要となるのは(主観的ですが)どちらを選ぶかだと思います。ご意見や推理をお聞かせください。
長い説明をstackexchangeからコピー&ペーストしました。TLDRバージョンでは、あなたの目的にはOpenVPN(SSL VPNと呼ばれるもの)が十分すぎるとあります:
IPSec vs SSL VPN
SSLとIPSecの両方のVPNは良い選択肢であり、かなりのセキュリティの実績がありますが、それぞれ異なる用途に適している場合があります。
IPSec VPNは層3(ネットワーク)で動作し、典型的にはローカルネットワークへの完全アクセスを提供します(ファイアウォールや一部のVPNサーバーでACLをサポートしています)。このソリューションは、リモートクライアントがローカルのネットワークに接続されているかのように振る舞ってほしい場合に適しており、サイト間VPNに特に適しています。IPSec VPNは特定のソフトウェアを必要とし、エンドユーザーデバイスでのメンテナンスが難しいため、管理されたデバイスに限定される場合があります。
SSL VPNはリモートアクセスに推奨される選択肢としてよく引用されます。こちらは層5と6で動作し、役割に基づいて特定のサービスへのアクセスを許可します。特にブラウザベースのアプリケーションが便利です。SSL VPNはより詳細なアクセス制御が設定しやすいため、いくつかのケースではよりセキュアなリモートアクセス環境を提供できます。さらに、SSL/TLSは最新デバイスでネイティブにサポートされており、専門的なクライアントソフトウェアが不要な軽量ブラウザクライアントを使った展開も可能です。これらの軽量クライアントは、接続マシンが特定の要件を満たしているか事前にチェックすることも可能で(これもIPSecより難しい部分です)、セキュリティ性が向上します。
両者ともに、同じことを達成できる設定が可能です。SSL VPNは完全なネットワークアクセスのトンネル作成に使え、IPSecは特定のサービスに限定してロックダウンもできます。ただし、一般的には上記のシナリオにより適していると広く認識されています。
多くの組織はこれらを併用し、サイト間はIPSec VPN、リモートアクセスにはSSL VPNを使うこともあります。
SSL vs IPSecについての資料もいくつかあります(ベンダー直接のものも含む):
エンドツーエンドの暗号化
いくつかのケースでは、IPSec VPNやSSL VPNトンネルを使っても、実際のサービス自体にはエンドツーエンドの暗号化が行われていない場合があります。そこでSSL/TLSの追加レイヤーを使うのが有効です。
たとえば、リモートで内部ホストしているウェブアプリに接続し、HTTPプロトコルを使った場合、トラフィックはVPNトンネル内では暗号化されますが、リモートVPNエンドポイントに到達すると復号され、内部ネットワークを平文で通過します。これは一部のユースケースでは許容範囲かもしれませんが、より堅牢な防御のためには、通信の途中で誰かに傍受されるリスクを排除したいものです。HTTPS経由で接続すれば、二つのセキュリティレイヤーが得られます。一点はあなたとVPNエンドポイント間のもので、もう一点はそれを通じて(あなたとWebサーバ間で)です。
もちろん、これに限定されず、SSHやFTPS、STARTTLSを使ったSMTPなども推奨されます。