保护 elasticsearch 但允许远程 CRUD

保护 elasticsearch 但允许远程 CRUD

我将在服务器 A 上运行一些软件来在服务器 B 上的 elasticsearch 中添加和删除条目。

如何允许这些远程创建和删除操作,但仍能保证 ES 安全?IPtables 是正确的途径吗?还是有更好的解决方案?

答案1

通常的解决方案(据我所知,当然也是我实施的)是结合使用 iptables(限制直接访问),然后通过 Apache、Nginx(您选择的 Web 服务器)中的反向代理提供访问。在 Web 上搜索“保护 elasticsearch”会得到大量相关内容。

反向代理是否合适完全取决于您要做什么。我们将其与 kibana 和 shibboleth 一起使用来限制查询访问 - 这意味着我们正在使用我们的标准访问控制。数据由 logstash 输入 - iptables 允许直接访问 - 不通过 Apache。

自从我们建立集群以来,看起来技术水平已经有了显著的进步(例如http://www.elastic.co/guide/en/shield/current/architecture.html

答案2

如果您有钱,那么您可以获得 Elasticsearch 的 Shield 软件。这将允许您使用 PKI 证书对 ES 集群进行身份验证和授权。结合 iptables 来限制访问,这应该是您所需要的一切。

如果您想免费完成此操作,则可以使用 Apache 作为 ES 前面的反向代理,以某种身份验证方式将 SSL 置于顶部 - 无论是基本用户/密码,还是基于证书(如果您想要真正安全)。同样,iptables 可以阻止从外部直接访问 ES,您可以使用 Apache 访问规则或 iptables 来阻止未经授权的 IP。

相关内容