Go to main content
Oracle® Solaris 11.3 でのネットワークのセキュリティー保護

印刷ビューの終了

更新: 2016 年 11 月
 
 

SSL カーネルプロキシ を使用するように Apache 2.2 Web サーバーを構成する方法

SSL カーネルプロキシ は Apache 2.2 Web サーバーでの SSL パケットの処理速度を向上できます。この手順では、図 1に示す簡単なシナリオを実装します。

始める前に

Apache 2.2 Web サーバーを構成しています。この Web サーバーは Oracle Solaris に含まれています。

root 役割になる必要があります。

  1. Web サーバーを停止します。
    # svcadm disable svc:/network/http:apache22
  2. サーバー非公開鍵とサーバー証明書を 1 つのファイルに置きます。

    ssl.conf ファイルに SSLCertificateFile パラメータのみが指定されている場合、指定されたファイルは直接 SSL カーネルプロキシ で使用できます。

    SSLCertificateKeyFile パラメータも指定されている場合は、証明書ファイルと非公開鍵ファイルを組み合わせる必要があります。ファイルを組み合わせるには、次のようなコマンドを実行します。

    # cat cert.pem key.pem > cert-and-key.pem
  3. ksslcfg コマンドで使用するパラメータを決定します。

      すべてのオプションの一覧については、ksslcfg(1M) のマニュアルページを参照してください。指定する必要があるパラメータは次のとおりです。

    • key-format – 証明書と鍵の形式を定義するために、–f オプションとともに使用されます。SSL カーネルプロキシ の場合、サポートされる形式は pkcs11pem、および pkcs12 です。

    • key-and-certificate-file – サーバー鍵と pem および pkcs12 key-format オプションの証明書を格納するファイルの場所を設定するために、–i オプションとともに使用されます。

    • password-filepem または pkcs12 key-format オプションの非公開鍵を暗号化するために使用されるパスワードを取得するために、–p オプションとともに使用されます。pkcs11 の場合、パスワードは PKCS #11 トークンに対して認証するために使用します。パスワードファイルは 0400 アクセス権で保護する必要があります。このファイルは無人リブート用に必要です。

    • token-label – PKCS #11 トークンを指定するために、–T オプションとともに使用されます。

    • certificate-label – PKCS #11 トークン内の証明書オブジェクトに含まれるラベルを選択するために、–C オプションとともに使用されます。

    • proxy-port – SSL プロキシポートを設定するために、–x オプションとともに使用されます。標準ポート 80 とは異なるポートを指定する必要があります。Web サーバーは暗号化されていないテキストトラフィックを SSL プロキシポートで待機します。一般に値は 8443 です。

    • ssl-port – SSL カーネルプロキシ の待機するポートを指定します。一般に値は 443 です。

  4. SSL カーネルプロキシ のサービスインスタンスを作成します。

    次のいずれかの形式を使用して、SSL プロキシポートと関連パラメータを指定します。

    • 鍵の形式として PEM または PKCS #12 を指定します。
      # ksslcfg create -f key-format -i key-and-certificate-file \
      -p password-file -x proxy-port ssl-port
    • 鍵の形式として PKCS #11 を指定します。
      # ksslcfg create -f pkcs11 -T PKCS11-token -C certificate-label \ 
      -p password-file -x proxy-port ssl-port
  5. サービスインスタンスがオンラインであることを確認します。
    # svcs svc:/network/ssl/proxy
    STATE          STIME    FMRI
    online         02:22:22 svc:/network/ssl/proxy:default

    次の出力は、サービスインスタンスが作成されなかったことを示します。

    svcs: Pattern 'svc:/network/ssl/proxy' doesn't match any instances
    STATE          STIME    FMRI
  6. SSL プロキシポート上で待機するように Web サーバーを構成します。

    /etc/apache2/2.2/http.conf ファイルを編集し、SSL プロキシポートを定義する行を追加します。サーバーの IP アドレスを使用した場合、Web サーバーはそのインタフェース上でのみ待機します。行は次のようになります。

    Listen proxy-port
  7. Web サーバーの SMF 依存関係を設定します。

    Web サーバーサービスは、SSL カーネルプロキシ インスタンスの起動後にのみ起動できます。次のコマンドは、そうした依存関係を確立します。

    # svccfg -s svc:/network/http:apache22
    svc:/network/http:apache22> addpg kssl dependency
    ...apache22> setprop kssl/entities = fmri:svc:/network/ssl/proxy:kssl-INADDR_ANY-443
    ...apache22> setprop kssl/grouping = astring: require_all
    ...apache22> setprop kssl/restart_on = astring: refresh
    ...apache22> setprop kssl/type = astring: service
    ...apache22> end
  8. Web サーバーサービスを有効にします。
    # svcadm enable svc:/network/http:apache22