31.7 NSSをサポートするセキュアWebサーバのセットアップ

mod_nssモジュールは、トランスポート層セキュリティ(TLS)プロトコルのバージョン1.1と1.2を使用して強化暗号を実現します。これは、Apacheのmod_sslでは提供されていない機能です。

apache2パッケージのSSL/TLSサポートは通常、mod_sslによって提供されます。このapacheモジュールは、OpenSSL暗号化ライブラリを使用してSSL/TLSを提供します。SUSE Linux Enterprise Server 11 SP4で使用するOpenSSLライブラリバージョンは、TLS 1.0のみをサポートしています。TLS 1.1および1.2をサポートするバージョンは、SLE 11 SP4に付属するさまざまなパッケージとの互換性がありません。別の方法として、mozilla-nssパッケージが提供するMozilla Network Security Servicesライブラリを利用できます。

メモ: SSLv2のサポート

SSLv2は、mod_nssではサポートされていません。SSLv2プロトコルが必要な場合は、mod_sslを使用する必要があります。

mod_sslmod_nssは、両方とも同時に初期化できますが、プロトコルハンドラ(mod_sslSSLEngine onmod_nssNSSEngine on)をグローバルスコープで、またはVirtualHost設定のディレクティブブロックのコンテキストで同時に有効にすることはできません。

1つのVirtualHostセクションのみでNSSEngineディレクティブがonに設定されている場合、Apacheがリスンするポートで、このセクションが他のすべてのVirtualHost宣言(コンテキスト内でSSLEngineonに設定されているものなど)よりも優先されます。同じIPアドレスとポート上の複数のVirtualHostで、両方のモジュールの操作を同時に実行することはできません。mod_nssmod_sslの両方を使用する暗号化された接続のサポートが必要な場合は、複数のIPアドレスの使用と、サーバ暗号化モジュールとIPアドレスとのバインドの設定を検討してください。両方の暗号化モジュールを同時に使用する必要がない場合は、どちらのモジュールを使用するか決定して、もう一方は無効にしておくことをお勧めします。

mmod_nssでは、データベースフォーマットのサーバ証明書、CA証明書、および秘密鍵が使用されるため、既存のmod_sslベースの証明書をmmod_nss用に変換する必要があります。apache2-mod_nssパッケージには、このタスク用のperlスクリプト/usr/sbin/mod_nss_migrate.plが含まれています。このスクリプトは、新しいデータベースを作成します。

NSSデータベースに格納されている証明書をリストするには、次のコマンドを使用します。

certutil -d /etc/apache2/mod_nss.d -L

NSSデータベース管理ユーティリティcertutilの詳細については、certutil --helpを使用する際に表示される情報を参照してください。

mod_nssパッケージに付属するデフォルトの環境設定ファイルは、/etc/apache2/conf.d/mod_nss.confです。詳細については、ファイル内のコメントを参照してください。