在logstash.conf文件中加密/保护Elasticsearch的密码

时间:2017-12-20 05:48:06

标签: elasticsearch logstash elastic-stack logstash-configuration elasticsearch-x-pack

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

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
}
}

2 个答案:

答案 0 :(得分:1)

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

通过链接:

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

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

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

$ {KEY}

其中KEY是键的名称。

例如,假设密钥库包含一个名为ES_PWD的密钥,其值为yourelasticsearchpassword:

•在配置文件中,使用:输出{elasticsearch {... password =>“ $ {ES_PWD}”}}} •在logstash.yml中,使用:xpack.management.elasticsearch.password:$ {ES_PWD}

答案 1 :(得分:0)

如果有人在寻找相同问题的答案,那么elasticsearch x-pack支持基于PKI的身份验证,您只需要在elasticsearch using this link上启用PKI身份验证 然后在logstash.conf中更新elasticsearch的输出以使用PKI身份验证using this link。您也可以为kibana执行相同操作。