Oracle Solaris 上で実行するすべての Web サーバーはカーネルレベルでの SSL プロトコル、つまり SSL カーネルプロキシ を使用するように構成できます。そのような Web サーバーの例には、Apache 2.2 Web サーバーと Oracle iPlanet Web Server があります。SSL プロトコルを使えば、2 つのアプリケーションの間で、機密性、メッセージの完全性、およびエンドポイント認証を実現できます。SSL カーネルプロキシ が Web サーバー上で実行されていると、通信が高速化されます。次の図は、基本的な構成を示しています。
図 1 カーネル暗号化された Web サーバー通信
SSL カーネルプロキシ は、SSL プロトコルのサーバー側を実装します。プロキシにはいくつかの利点があります。
このプロキシにより、Web サーバーのようなサーバーアプリケーションの SSL パフォーマンスが高速化するため、ユーザーレベルの SSL ライブラリに依存するアプリケーションよりも高いパフォーマンスを発揮します。アプリケーションのワークロードに応じて、パフォーマンスは 35% 以上向上する可能性があります。
SSL カーネルプロキシ は透過的です。割り当てられた IP アドレスはありません。そのため、Webサーバーは、実際のクライアント IP アドレスと TCP ポートを参照します。
SSL カーネルプロキシ と Web サーバーは連携するように設計されています。
図 1は、SSL カーネルプロキシ を使用している Web サーバーの基本的なシナリオを示しています。SSL カーネルプロキシ はポート 443 上に構成され、Web サーバーはポート 8443 上に構成されて、そこで暗号化されていない HTTP 通信を受信します。
SSL カーネルプロキシ は、リクエストされた暗号化をサポートしていない場合に、ユーザーレベルの暗号化へのフォールバックを行うように構成できます。
図 2は、複雑なシナリオを示しています。Web サーバーと SSL カーネルプロキシ は、ユーザーレベルの Web サーバー SSL へのフォールバックを行うように構成されています。
SSL カーネルプロキシ はポート 443 上に構成されています。Web サーバーは 2 つのポート上に構成されています。ポート 8443 は暗号化されていない HTTP 通信を受信し、ポート 443 はフォールバックポートです。フォールバックポートは、SSL カーネルプロキシ によってサポートされていない暗号化スイートで暗号化されている SSL トラフィックを受信します。
図 2 ユーザーレベルフォールバックオプション付きのカーネル暗号化された Web サーバー通信
SSL カーネルプロキシ は、TLS 1.0 および SSL 3.0 プロトコルをサポートしています。ただし、SSL 3.0 プロトコルはデフォルトで無効になっています。もっとも一般的な暗号化スイートがサポートされています。サポートされている暗号化スイートの完全なリスト、および特定の暗号化スイートまたはプロトコルを有効または無効にする手順については、ksslcfg(1M) のマニュアルページを参照してください。このプロキシは、サポートされていないすべての暗号化スイートに対して、ユーザーレベルのサーバーにフォールバックするように構成できます。