Elasticsearch: 安全设置

创建于 2017-01-06  ·  3评论  ·  资料来源: elastic/elasticsearch

这是一个元问题,用于跟踪在 elasticsearch 中使敏感设置安全的工作。 #22335 中添加了此功能的核心基础结构,它提供了elasticsearch-keystore工具。 以下工作仍然需要考虑功能完成:

  • [x] 将现有设置(例如 aws 密钥)转换为新的基础架构
  • [x] 为密钥库添加密码支持
  • [x] 为启动脚本(init.d 和 systemd)添加读取密码
  • [x]调查密钥库文件的最佳位置。

以下将是很好的:

  • [ ] 调查只允许读取插件注册的安全设置(例如不允许读取其他插件的安全设置)
  • [x]研究为 PBE 设置显式算法
  • [ ] 添加对私钥的支持
  • [ ] 添加对证书的支持
  • [ ] 添加支持从 Vault 而不是密钥库读取安全设置
:CorInfrSettings Meta CorInfra team-discuss

最有用的评论

亲爱的,
上Kubernetes簇和配置中使用ConfigMaps被安装在面对elasticsearch.keystore位置的问题。 因此,我有 /etc/elasticsearch 的“只读”文件,因此,ES 将崩溃。

Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.FileSystemException: /etc/elasticsearch/elasticsearch.keystore.tmp: Read-only file system
--
  | Likely root cause: java.nio.file.FileSystemException: /etc/elasticsearch/elasticsearch.keystore.tmp: Read-only file system
  | at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91)
  | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
  | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
  | at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
  | at java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:434)
  | at java.nio.file.Files.newOutputStream(Files.java:216)
  | at org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:411)
  | at org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:407)
  | at org.apache.lucene.store.FSDirectory.createOutput(FSDirectory.java:255)
  | at org.elasticsearch.common.settings.KeyStoreWrapper.save(KeyStoreWrapper.java:467)
  | at org.elasticsearch.bootstrap.Bootstrap.loadSecureSettings(Bootstrap.java:238)
  | at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:295)
  | at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159)
  | at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150)
  | at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
  | at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
  | at org.elasticsearch.cli.Command.main(Command.java:90)
  | at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116)
  | at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93)
  | Refer to the log for complete error details.

在 elasticsearch.yaml 中设置密钥库位置以设置 /etc/elasticsearch 之外的目录会很棒。

你能在这个话题上提供建议吗?

提前致谢,

所有3条评论

我提交了一个问题来涵盖密码保护密钥库的特定功能
https://github.com/elastic/elasticsearch/issues/32691

亲爱的,
上Kubernetes簇和配置中使用ConfigMaps被安装在面对elasticsearch.keystore位置的问题。 因此,我有 /etc/elasticsearch 的“只读”文件,因此,ES 将崩溃。

Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.FileSystemException: /etc/elasticsearch/elasticsearch.keystore.tmp: Read-only file system
--
  | Likely root cause: java.nio.file.FileSystemException: /etc/elasticsearch/elasticsearch.keystore.tmp: Read-only file system
  | at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91)
  | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
  | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
  | at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
  | at java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:434)
  | at java.nio.file.Files.newOutputStream(Files.java:216)
  | at org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:411)
  | at org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:407)
  | at org.apache.lucene.store.FSDirectory.createOutput(FSDirectory.java:255)
  | at org.elasticsearch.common.settings.KeyStoreWrapper.save(KeyStoreWrapper.java:467)
  | at org.elasticsearch.bootstrap.Bootstrap.loadSecureSettings(Bootstrap.java:238)
  | at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:295)
  | at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159)
  | at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150)
  | at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
  | at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
  | at org.elasticsearch.cli.Command.main(Command.java:90)
  | at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116)
  | at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93)
  | Refer to the log for complete error details.

在 elasticsearch.yaml 中设置密钥库位置以设置 /etc/elasticsearch 之外的目录会很棒。

你能在这个话题上提供建议吗?

提前致谢,

我标记此team-discuss以确定我们仍打算完成哪些尚未完成的“很高兴”任务。 一旦我们这样做了,它们应该被提升到个别问题,这个问题就结束了,因为这个问题的主旨早就完成了。

此页面是否有帮助?
0 / 5 - 0 等级