US Splunkから、突然SSL証明書の期限切れに関するメール通知をもらいました。
どういう場合に影響があり、どういう場合に影響がないのかよくわかりません。
どなたか詳しく解説してもらえないでしょうか。
また、openssl s_client -connect localhost:8089 < /dev/null 2> /dev/null | openssl x509 -text | grep Not
としたときに、Not After で指定される日付が有効期限になります。
以下も関連情報としてリンクいたします。
https://answers.splunk.com/answers/424516/
以下のの内容をご確認いただいてもよろしいでしょうか。
よろしくお願いいたします。
2016年6月6日 Splunk, Inc.
【重要】デフォルトルート証明書の失効に関する補足
========================================================================================
本書をお読みになるにあたってのご注意)
1)デフォルトルート証明書は、$SPLUNK_HOME/etc/auth/ca.pem, $SPLUNK_HOME/etc/auth/cacert.pem を指します。
2)"影響を受ける"は、通信が遮断、あるいは画面に結果がでない、画面にエラーが表示される現象を指します。
3)server.conf は、通常 $SPLUNK_HOME/etc/system/local/server.conf を指します。
========================================================================================
1.ユニバーサルフォワーダ、ヘビーフォワーダ、中間フォワーダへの影響
フォワーダー関連では、2箇所チェックポイントがあります。双方問題がないかご確認ください。
チェックポイント1:SSL通信をおこなって、インデクサへデータ転送している場合。
以下のURLに沿って、SSL通信を行っている場合は、影響を受けます。フォワーダー側でパッチを適用ください。
http://docs.splunk.com/Documentation/Splunk/6.2.9/Security/ConfigureSplunkforwardingtousethedefaultc...
理由は、
rootCA = $SPLUNK_HOME/etc/auth/cacert.pem
serverCert = $SPLUNK_HOME/etc/auth/server.pem
で定義されている、この2つのpemファイルのexpire dateが 2016/07/21 となっているためです。
($SPLUNK_HOME/etc/auth/cacert.pem、$SPLUNK_HOME/etc/auth/server.pem を指定するというのは、デフォルトルート証明書を使っているという意味になります)
コマンド: openssl x509 -noout -text -in (証明書pemファイル)
にて、有効期限をご確認ください。
独自のCA、や3rd Partyの証明書ご利用の場合は影響を受けません。
また、通常インデクサ側は9997番ポートでリッスンをおこなっておりますので、ここにopensslクライアントから接続できるかどうかで、SSL通信の有無を確認することができます。
チェックポイント2:フォワーダー管理のために、デプロイメントサーバ、デプロイメントクライアント機能を利用している場合。
デプロイメントサーバ機能(フォワーダ管理機能)は、各フォワーダに対して、inputs.conf等のファイルやAppを配布・管理する機能になります。
この場合、デフォルトで8089番ポートにてSSL通信が利用されるため、影響がでる可能性があります。この場合、デプロイメントサーバ側で、server.conf ファイルに以下のパラメータの両方、あるいはどちらかがtrueとして指定されているかどうかご確認ください。指定されている場合、影響を受けます。デプロイメントサーバ側にパッチを適用ください。
sslVerifyServerCert=true
requireClientCert=true
ただし、server.conf 内で、独自のCA、や3rd Partyの証明書ご利用の場合は影響を受けません。
2.フォワーダを除く他のSplunkサーバへの影響
サーチヘッド、ライセンスサーバ、クラスタマスタ、インデクサ、クラスタインデクサ等、フォワーダーを除くSplunkサーバで、影響がでる可能性があります。
この場合、そのSplunkサーバ側で、server.conf ファイルに以下のパラメータの両方、あるいはどちらかがtrueとして指定されている場合、影響を受けます。
sslVerifyServerCert=true
requireClientCert=true
ただし、server.conf 内で、独自のCA、や3rd Partyの証明書ご利用の場合は影響を受けません。
デフォルトのポート番号である、サーチヘッドの8000、Splunkサーバの8089番は影響を受ける可能性があります。
a)スタンドアロン(サーチヘッド、インデクサ同居) ... 8089番が利用されます。
b)分散サーチ ... サーチヘッド、インデクサ間は8089番が利用されます。
c)インデクサとライセンスサーバ ... インデクサ、ライセンスサーバ間は8089番が利用されます。
d)サーチヘッド、クラスタ、クラスタマスター ... クラスタ構成下で、サーチヘッド、クラスタ、クラスタマスター間は8089番が利用されます。
e)サーチヘッドへのHTTPSアクセス ... ブラウザからサーチヘッドへ"HTTPSを有効にしている場合"、8000番が利用されます。
3.server.conf ファイルにおいて、requireClientCert=trueを指定している場合、パッチ適用後のserver.pemの有効期限到来時の対応が必要となります。
この場合は、お手数ですが弊社テクニカルサポートまでご連絡ください。
4.修正パッチの適用について
4.1.修正パッチは、http://download.splunk.com/products/certificates/renewcerts-2016-05-05.zip をダウンロードして適用ください。適用の際はバックアップの取得を推奨いたします。
4.2.環境変数の設定 SPLUNK_HOME、OPENSSL_CONF については環境に応じて設定ください。
4.3.s-renewcerts.sh -defaultCA -liveCA -serverCert のように、 -serverCert を指定しても、server.pem ファイルの期限は延長されないように見えますが、server.pem内(certification,private key,certification)の最後のcertificateのセクションが更新されたルート証明書が入りますので、本デフォルトルート証明書の有効期限切れ問題につきましては、対処されたことになります。
確認する方法は、
cat server.pem | csplit -k -f cert - '/^-----BEGIN CERTIFICATE-----/' '{*}'
openssl x509 -noout -text -in cert02"
より、ご確認いただけます。
パッチ適用後のserver.pemファイルの有効期限につきましても注意が必要になりますが、server.conf内でrequireClientCertの指定がない、あるいはfalseの場合であれば、このserver.pemファイルの有効期限が到来しましても影響はでません。
5.分散構成におけるパッチの適用の適用手順
パッチの適用後、Splunkサービス(デーモン)の再起動が必要となり、通信断が発生しますので、その点ご注意ください。
a)インデクサとフォワーダ ・・・ パッチの適用手順にルールはありませんので、インデクサ、フォワーダいずれからも適用可能です。
b)分散サーチ ・・・ パッチの適用手順にルールはありませんので、サーチヘッド、インデクサいずれからも適用可能です。
c)インデクサとライセンスサーバ ・・・ パッチの適用手順にルールはありませんが、インデクサ-ライセンスサーバ間の疎通が途絶えてから72時間以内であればライセンス関連での影響はありません。
72時間を超えますとライセンス違反扱いとなり検索できなくなりますので、ご注意ください。
d)サーチヘッド、クラスタインデクサ、クラスタマスター ・・・ パッチの適用手順にルールはありません。クラスタ機能の特性上、再起動時にアクティブなサーチヘッド、クラスタインデクサがSearch Factor, Replication Factorを下回る台数になった際に、画面結果やインデックス時にデータの偏り等の影響がでます。詳しくは、Splunk Enterpriseの各マニュアル等をご参考ください。
例) サーチヘッド3台、インデクサ5台、Search Factor=2、Replication Factor=3 の場合、サーチヘッド1台の停止、インデクサ2台が停止しても影響はでません。またパッチの適用順序につきましては、停止中のサーチヘッド、インデクサ、ライセンスサーバ、クラスタマスターサーバ、デプロイメントサーバ、各スレーブサーバ、どのサーバからもパッチ適用開始いただけます。
以上
なお、SSL証明書を Deployment Server を使用してデプロイすることはサポート対象外となりますので、ご注意ください。