3

我正在使用 x-pack 来保护 ELK 堆栈,我不想在 logstash.conf 中为 elasticsearch 输出插件指定纯文本“用户名”和“密码”。有没有办法做到这一点?

output {
elasticsearch {
  hosts => "hostname"
  user => "username"
  password => "password"
  ssl => true
  ssl_certificate_verification => true
  truststore => "keystore.jks"
  truststore_password => changeme
  index => "logstash-%{+YYYY.MM.dd}"
  template => "log-template.json"
  template_name => "logstash*"
  template_overwrite => true
}
}
4

2 回答 2

4

根据您使用的 Elasticsearch 版本,您可能会发现安全密钥库功能很有用。我有一个类似的要求,即不在配置文件中包含明文密码,而密钥库完美地满足了该要求。查看https://www.elastic.co/guide/en/logstash/6.3/keystore.html

从链接:

配置 Logstash 时,您可能需要指定敏感设置或配置,例如密码。无需依赖文件系统权限来保护这些值,您可以使用 Logstash 密钥库来安全地存储机密值以用于配置设置。

将密钥及其密钥值添加到密钥库后,您可以在配置敏感设置时使用密钥代替密钥值。

引用键的语法与环境变量的语法相同:

${KEY}

KEY密钥的名称在哪里。

例如,假设密钥库包含一个名为ES_PWDvalue的密钥yourelasticsearchpassword

• 在配置文件中,使用:output { elasticsearch {...password => "${ES_PWD}" } } }

• 在logstash.yml 中,使用:xpack.management.elasticsearch.password: ${ES_PWD}

于 2018-06-26T17:09:06.297 回答
0

如果有人在寻找相同问题的答案,那么 elasticsearch x-pack 支持基于 PKI 的身份验证,您只需使用此链接在 elasticsearch 上启用 PKI 身份验证,然后使用此链接 logstash.conf 中更新 elasticsearch 的输出以使用 PKI 身份验证。您也可以为 kibana 做同样的事情。

于 2017-12-28T15:19:47.070 回答