インターネットを介するなら、プライベートIPへのルーティングは困難ということは冒頭で説明した。つまり、リモートアクセスをするユーザーに、アプリケーションサーバをプライベートIPで指定させるという選択はない。代わりにドメイン名を指定させるのが解である。ブラウザでクリックしてサーバを指定させるという解もあるが、そこにプライベートIPが入っていると動作は保証できない。
簡単な例を示そう。本稿の読者で自宅にNTT東西が提供するアクセス回線、フレッツシリーズ(フレッツ・ADSL、フレッツ・ISDN、Bフレッツ)を引いている人もいると思う。ユーザー向けのフレッツ・スクエアというインフォメーションサイトから、映画や音楽のダウンロードサービスが提供されている。このサービスを受けるために、ブロードバンドルータのマルチPPPoE機能を使って、10.1.*.*への通信はフレッツスクエアに向くように設定する。一方で、ある規模以上の企業イントラネットでは10.*.*.*のアドレスが使われている。こういうユーザーがイントラネットにVPNを作ろうとすると、パケットはフレッツ・スクエアに行ってしまう可能性がある。これを回避するようにブロードバンドルータの設定を自在に行えるユーザーは少ないだろう(図4)。
SSL-VPNでは、SSL-VPN装置へログインするというコンセプトを持っている。実際にログインするわけではないが、ブラウザでSSL-VPN装置をアクセスするとユーザー認証が行われて、認証がOKとなるとVPNを作ることができるようになる。どんな認証が行えるかはそれぞれのSSL-VPN製品実装の話になる。セキュリティを考えたとき、ポイントは以下のものが考えられる。
1 | 本人確認を正しく行える認証技術が使われること |
---|---|
2 | これから使われようとするアプリケーションが、認証された ユーザーが使用を許可されたものであることを確認できる |
3 | ある条件でもう一度本人確認を要求できる |
4 | SSL‐VPN装置で残されたログにはユーザーIDが入っており、 どこにアクセスしたかなどを追跡できる情報が残っている |
まずは、これくらいを抑えておきたい。
IPレイヤと違い、SSLのレイヤはアプリケーションの動作に直結する。セキュリティ機能を備えていないアプリケーションに即座にSSLを追加するという目的は崇高で素晴らしいが、アプリケーションソフトウェアの実装上、品質上の制限は絡んでくる。例えば、SSLのハンドシェーク、データの暗号化/複合化を行うとき発生する遅延など、まず間違いなくアプリケーションでは考慮していない。これがダイヤルアップのような遅い回線上で起こると、アプリケーションが予期せぬ動作をすることになる。
また、アプリケーションがHTTPしか使わないと思っていても、実際にはICMPパケットを投げていることもあるし、Windowsのアプリケーションであれば、TCP/IPの通信を行う前にNetBIOSの通信をしていることもある。こういう通信はSSL-VPNとの相性が悪い。アプリケーションのオプション設定を変えておけば回避できることも少なからずある。
SSL-VPNを使ううえでアプリケーションの使い方をデザインし、ユーザーとアプリケーションをベースにした粒度の高いセキュリティ、アクセス管理を行うことが重要といえる。実際、こういうことをIPレイヤでは行えないのである。
次回は、SSL-VPNのメリット、SSLを使うとアプリケーションの使い方がこう変わる、というような視点で解説をする予定である。
日本電気(株) ビジネス開発本部
則房雅也 CISSP
SSL VPNリモートアクセス分科会(enNetforum内)主査
Copyright © ITmedia, Inc. All Rights Reserved.