2017-10-17 14 views
0

私はELKスタック全体にかなり新しく、リモートELKスタックに接続するために、filebeatとmetricbeatの両方を設定することができました。すべてv6.0.0-rc1filebeatはcert、metricbeatにはkey、c​​a、およびcertが必要なのはなぜですか?

SSLセットアップはちょっと混乱していました。私は質問が残っています: filebeatにはcertとmetricbeatにkey、c​​a、およびcertが必要なのはなぜですか?

filebeat.yml

ssl: 
    certificate_authorities: 
    - /host/certs/logstash-beats.crt 

metricbeat.yml:

output.logstash: 
    hosts: ["host.url:5044"] 
    ssl.certificate_authorities: ["/host/certs/reporter-ca.crt"] 
    ssl.certificate: "/host/certs/reporter.crt" 
    ssl.key: "/host/certs/reporter-private.key" 
+0

、filebeatがありすでに認証構成。 https://www.elastic.co/guide/en/beats/filebeat/current/configuration-output-ssl.html何か逃したことがありますか? – hkulekci

+0

@steffensは非常に深遠な答えを出しました:https://discuss.elastic.co/t/why-does-filebeat-only-need-cert-and-metricbeat-need-key-ca-and-cert/104214/4 – gotjosh

答えて

1

TLS/SSLは、公開鍵インフラストラクチャを使用しています。認証が必要なサービスには、公開鍵と秘密鍵が必要です。もう1つのエンドポイント(サービスを検証する)は、公開鍵(またはCA証明書だけが良い - 公開鍵)を必要とします。デフォルトでTLS/SSLを使用する場合、クライアントが接続する 'サーバー'のみが認証されます。このシナリオでは、ビートはクライアントで、Logstashはサーバーです。

さらに、サーバーはクライアントに(証明書を使用して)認証を要求することができます。この方法はクライアント認証と呼ばれ、サーバー(Logstash)で明示的に有効にする必要があります。 client-authを有効にすると、クライアントには証明書と秘密鍵も必要です。+サーバーはクライアントを確認/認証するために証明書(またはCA証明書)を必要とします。

とにかく、client-authを使用する場合、各クライアントには一致するIP /ドメイン名のクライアント証明書が必要です。 Plus Logstashは、検証のためにCAの公開証明書のみを持つべきです。これは、適切なCAインフラストラクチャを持つことに至ります。

エンドポイント/マシンの秘密鍵を別のマシンと共有しないでください。

各メトリック・ビート・エージェントに秘密鍵を配布するのは悪い習慣ですか?

実際にはそうです。

秘密鍵にパスワードが必要ですか?キーを使用できるようにsomewhere the passphraseとして

可能はい(秘密鍵を暗号化する必要があるとして)、これは最も可能性の高いアクセスを難読化した場合

は、設定する必要があります。それでも、鍵を暗号化すると、鍵が盗まれた場合に多少の損害を減らすことができます。ビートの設定は以下のように(少なくとも)である必要があり、クライアントの認証では

output.logstash: 
    hosts: ["host.url:5044"] 
    ssl.certificate_authorities: 
    - /host/certs/logstash-beats.crt 

クライアント認証なしでビートの設定は次のように(少なくとも)である必要があり、私は推測する

output.logstash: 
    hosts: ["host.url:5044"] 
    ssl.certificate_authorities: 
    - /host/certs/logstash-beats.crt 
    ssl.certificate: "/host/certs/reporter.crt" 
    ssl.key: "/host/certs/reporter-private.key" 
    ssl.key_passphrase: ... 
関連する問題