SSL-VPN

自宅パソコンなどから会社へのVPN接続に向いているSSL-VPNについて説明しています。

SSL-VPNとは

SSL-VPNは、自宅パソコンなどからリモート接続する時に使われます。

SSL-VPNによるリモート接続

このリモート接続は、リモートアクセスVPNと呼ばれています。

SSL-VPNは、ブラウザでWebサーバーと通信するために使うHTTPS(Hypertext Transfer Protocol Secure)を利用してVPNを実現します。

HTTPSは、TSL(Transport Layer Security)を利用して認証や暗号化を行ってHTTPS通信を行います。TSLは、SSL(Secure Sockets Layer)の後継です。SSLは脆弱性が見つかって今では使われていませんが、最初はSSLを使っていました。そのため、TLSを使っている今でもSSL-VPNと呼ばれます。

認証

SSL-VPNは、ブラウザでVPNサーバーにアクセスすると認証を開始します。ブラウザでURLを指定してWebサーバーに接続し、ログインするのと同じです。

SSL-VPNの認証はHTTPSでWebサーバーにログインするのとほとんど同じ

認証は、PPTPで説明したワンタイムパスワードやデジタル証明書などで行います。HTTPSで通信するため、サーバー側は常にデジタル証明書で認証されます。

また、L2TP/IPsecで説明したマトリクス認証と連携できる機種もあります。

HTTPSでの通信

認証が終わると、専用ソフトウェアをダウンロードします。また、専用ソフトウェアによってIPアドレスなどを割り当てられトンネルを構築し、HTTPSの暗号化により通信を行います。暗号化時の共通鍵は、サーバーのデジタル証明書による公開鍵暗号方式を利用して交換されます。

SSL-VPN通信方法

この方法は、ブラウザだけでなくどのようなサービスでも社内へのアクセスを可能にしますが、専用ソフトウェアのダウンロードが必要であり、専用ソフトウェアがサポートしているOSしか利用できません。

リバースプロキシ方式

SSL-VPNは、プロキシで説明したリバースプロキシのように振る舞う通信方法もあります。VPNサーバーに通信があると実際のサーバーに転送します。

SSL-VPNのリバースプロキシ方式

パソコンからはURLの先が本当のサーバーと区別がつかないため、汎用的に使えて専用ソフトウェアも不要ですが、ブラウザから利用可能なHTTP、HTTPS、FTPなどに限った通信しかできません。

また、内部のDNSは利用できないため、ブラウザで指定する各URLがどのサーバーに対応しているか設定が必要です。上の図であれば、vpn.example.com/ftpがFTPサーバーに対応しています。

このため、一部の通信で簡単にリモートアクセスVPNを実現するのに向いていますが、不特定多数のサーバーにさまざまなプロトコルで通信するといった汎用的な利用には向いていません。

暗号スイート

SSL-VPNは、認証時のハッシュや暗号方式で使うアルゴリズムを機器間で最初に決めています。

このため、古いOSのパソコンが接続してきた場合は脆弱性があるアルゴリズムで通信する可能性があります。

これを避けるため、最も安全なアルゴリズムで長い鍵長を選択すると安全性は高まりますが、すべての機器が同じアルゴリズムや鍵長をサポートしている訳ではないため、実際の構築では接続が予想されるパソコンでサポートしているアルゴリズムや鍵長を許容する必要があります。

接続できるアルゴリズム選択の必要性

通常、1つの機器で複数のアルゴリズムや鍵長をサポートしており、よほど古い機器でない限り脆弱性の見つかっているアルゴリズムだけサポートしているということはありません。このため、サポートしているアルゴリズムの中から脆弱性のあるアルゴリズムや鍵長を無効にし、残ったアルゴリズムだけ使えるようにすると汎用性と安全性が両立可能です。

例えば、VPNで説明したハッシュ暗号方式のアルゴリズムではMD5、SHA1、DES、3DESを除き、RSAでは1024ビット以下の鍵長は使えないようにします。

また、これらの組み合わせを暗号スイートと呼び、例えばTLS_RSA_WITH_AES_256_CBC_SHA256などと記載します。この場合、公開鍵暗号方式はRSA、共通鍵暗号方式はAESの256bit、ハッシュはSHAの256bitを示します。

セキュリティ強度が弱い暗号スイートを無効にする、強い暗号スイートだけ有効にするといった設定ができる機器もあります。

その時々で推奨される暗号スイートが存在しますが、時間の経過とともに変わっていくと思われます。

SSL-VPNのメリット

SSL-VPNのメリットは、専用ソフトウェアを事前に設定してサーバーに配置しておけば、ダウンロードしたパソコン側で設定が不要な点です。リバースプロキシ方式であれば専用ソフトウェアも不要です。また、パソコンがファイアウォールなどに守られている場合でもHTTPSは通信可能な場合がほとんどであり、途中の経路を心配する必要がありません。

HTTPSであれば自宅レンタルルーターも通過可能

これまで、自宅パソコンやモバイル端末が社内のネットワークに接続する際、IPsecを通信可能にする、NATトラバーサルを有効にするなど多くの制約がありましたが、SSL-VPNでは制約がほとんどなく多くの環境で利用が可能です。

VPN関連のページ

  • 1ページ目「VPN
  • 2ページ目「PPTP
  • 3ページ目「IPsec
  • 4ページ目「L2TP/IPsec
  • 5ページ目「SSL-VPN」