web-dev-qa-db-ja.com

RabbitMQCRL構成

RabbitMQ内でCRLチェックを構成するための利用可能なオプションを見つけようとしています。 RabbitMQはErlangのSSLライブラリに依存しているようです。残念ながら、Erlangについてほとんど知らないので、私には理解するのが困難でした。

  • HTTPタイムアウトベースのCRLアプローチの正確な構文(およびこれが証明書のCRL情報から自動的に取得される場合)
  • ローカルファイルベースのCRLアプローチがすぐに利用できる場合

Crl_cache構成オプションの例を見つけるのは困難でした。誰かがこれについてさらに情報を持っていますか?

1
J Trana

RabbitMQ TLSサポートページ の構成例から始めて、次のようなcrl_checkおよびcrl_cacheオプションを追加します。

[
  {rabbit, [
     {ssl_listeners, [5671]},
     {ssl_options, [{cacertfile,"/path/to/testca/cacert.pem"},
                    {certfile,"/path/to/server/cert.pem"},
                    {keyfile,"/path/to/server/key.pem"},
                    {verify,verify_peer},
                    {fail_if_no_peer_cert,false}]},
                    {crl_check, true},
                    {crl_cache, {ssl_crl_cache, {internal, [{http, 5000}]}}}
   ]}
].

crl_checktrueに設定すると、証明書チェーン全体でCRLがチェックされ、欠落しているCRLがある場合は検証が失敗します。代わりにpeerまたはbest_effortに設定できます。詳細については、 Erlang sslモジュールのドキュメント を参照してください。

上記のサンプルでは、​​5秒(5000ミリ秒)のタイムアウトで、HTTPによるCRLのダウンロードをアクティブにしました。 URLは、証明書のcRLDistributionPoints拡張子から取得されます。


現在、すぐに使用できるローカルファイルベースのCRLアプローチはありませんが、Apacheと同じ方法でローカルディレクトリからCRLを取得できる プルリクエスト を送信しました。

1
legoscia