2

私たちのセットアップでは、Apache (httpd-2.2.3-65.el5_8、mod_ssl-2.2.3-65.el5_8) を使用して rhel 5.8 を実行している Linux サーバーを数千人のユーザーが使用しています。ユーザーは PKI を使用してシステムにログインします。サーバーには 5 つの CA があります。Apache プリフォーク モデルを使用すると、すべて正常に動作します。ssl_error_logただし、ワーカー モデルに切り替えると、ほとんどのリクエストは正常に処理されますが、次のようなファイルで多くのエラーが発生します。

「[エラー] 証明書の検証: エラー (20): ローカル発行者証明書を取得できません」

ワーカー モデルを 1 つの CA で実行すると、このエラーは発生しません。プリフォークモデルを使用している場合、このエラーは発生しません。これは、 worker を含む CA バンドルでは発生しませんThreadsPerChild=1。単一の CA ではなく、ワーカー ( ThreadsPerChild>1) と ca バンドルを組み合わせた場合にのみ、これが発生します。

これは、Apache 構成ファイルのワーカー構成です。

<IfModule worker.c>
ServerLimit     250
StartServers         20
MaxClients         2050
MinSpareThreads     20
MaxSpareThreads     50
ThreadsPerChild     10
MaxRequestsPerChild  0
</IfModule>

プリフォークの設定は次のとおりです。

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit     2048
MaxClients      2048
MaxRequestsPerChild  4000
</IfModule>

prefork を使用するのではなく、worker で複数の CA を実行することに関する既知の問題はありますか? または、望ましい動作を得るためにワーカーの構成を正しく調整する必要がありますか?

4

1 に答える 1

0

私はそれが労働者特有であり、構成に依存するのではなく、むしろ労働者の設計概念に依存しているに違いない。apache2.4で修正された可能性があります。チェーン全体を各証明書で同じファイルに保持しますか、それとも仮想ホスト証明書とCAチェーンを別々のファイルで使用しますか?AFAIRでは、CA証明書に2つのディレクティブを使用することも、vhost証明書とチェーンを含むファイルを指す他の1つのディレクティブを使用することもできます。

結論として、何かが役立つ場合は、構成ではなく証明書ファイルのデータを再編成します。とにかく、別々のCA証明書を使用するのは非常に奇妙です。おそらくそれを解決し、1つの最高レベルのCA(たとえば、プロバイダー(あなたの)CA)を作成し、おそらくチェーンの途中にあるCAを使用して、いくつかのレベルより下のさまざまなWebサイトに証明書を発行する必要があります。 。そうすれば、特定のCAのすべての証明書を取り消すことができる可能性があります。これは、通常、専門の大規模な認証会社や組織で行われている方法です。シングルスレッド/シングルCAで使用すると問題が表示されないことを報告しているので、そのようにできると思います。

X509認証/承認を使用してくださったことを個人的におめでとうございます。誰かがそれを使用してくれてうれしいです:)

于 2012-09-20T17:05:39.370 に答える