保护 ElasticSearch 和 Couchbase 的最佳实践

Best Practices Securing ElasticSearch and Couchbase

我一直在尝试使用基本身份验证和 TLS 保护 Elasticsearch 集群。

我已经使用 Search-Guard 成功做到了这一点。 Couchbase XDCR to Elasticsearch 出现问题。

我正在使用一个名为 elasticsearch-transport-couchbase 的插件,它在 Elasticsearch 集群上没有启用 TLS 和 Basic Auth 的情况下完全没问题。但是当使用 Search-Guard 启用它时,我无法完成这项工作。

据我所知,问题出在 elasticsearch-transport-couchbase 插件上。这也曾在他们的 Github repo.

的一些问题中讨论过

它也是我能找到的唯一可用于 Couchbase XDCR 的插件。

我很好奇其他人对此的体验。是否有人遇到过与我相同的情况并且能够使用 TLS 设置从 Couchbase 到 Elasticsearch 的 XDCR?

或者也许还有其他一些我错过的更合适的工具可以使用?

Couchbase 传输插件尚不支持 XDCR TLS,它在路线图上,但不会很快实现。 Search-guard 将 SSL 添加到 ES 中的 HTTP/REST 端点,但插件会打开自己的端点(默认情况下在端口 9091 上),Search-guard 不会触及。我将看看是否可以扩展 search-guard 以应用于传输插件 - 主要问题出在 Couchbase XDCR 端,它不希望目标端点上有 SSL。

一个小更新。我们通过使用 xinetd 设置一个 stunnel 来解决这个问题。因此,与 ELS 的所有通信都必须通过 TLS 终止的通道。

我们阻止了对端口 9200 的访问,并将 9091 限制为 Couchbase 集群主机,将 9300 限制为仅其他 ELS 节点。

看起来效果不错。

Couchbase Elasticsearch 连接器 4.0 版支持安全连接到 Couchbase 服务器 and/or Elasticsearch。

参考:https://docs.couchbase.com/elasticsearch-connector/4.0/secure-connections.html