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

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

我正在使用 x-pack 来保护 ELK 堆栈,我不想在 elasticsearch 输出插件的 logstash.conf 中指定纯文本“用户名”和“密码”。有什么办法吗?

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

最佳答案

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

来自链接:

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

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

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

${KEY}

其中 KEY 是 key 的名称。

例如,假设 keystore 包含一个名为 ES_PWD 的 key ,其值为 yourelasticsearchpassword:

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

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

关于elasticsearch - 在 logstash.conf 文件中加密/保护 Elasticsearch 的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47899524/

相关文章:

Elasticsearch 每 10 分钟重新启动一次

ElasticSearch fieldNorm 始终为 1

elasticsearch - 如何从LOGSTASH创建索引并映射到ES

java - 麋鹿 : How to group stacktraces by exception class in Kibana

elasticsearch - 使用kibana 4时可以将其全部从elasticsearch中删除

elasticsearch - 指示elasticsearch返回不同类型的随机结果

elasticsearch - Elasticsearch只读单节点集群的设置

regex - 使用Logstash解析范围请求 header

xml - 解析XML Filebeat> Logstash> Elasticsearch

elasticsearch - ELK堆栈中适用于Django的正确Grok Parser?