Elasticsearch中的身份validation

如何在Elasticsearch中定义安全访问? 我有elasticsearch-head插件,但您的访问不需要任何安全性。

这个答案中提到的插件不再被积极支持。


elasticsearch中没有内置的访问控制。 所以,你需要设置一个反向代理(这里是一个博客文章如何设置nginx),使用第三方弹性search插件之一,如https://github.com/Asquera/elasticsearch-http-basic或使用官方安全插件盾; 。

更新 :这工作相当不错,是(对于mostefunction)自由和开源: https : //github.com/floragunncom/search-guard

注:本文中提到的插件不再被维护


也许这有助于: https : //github.com/salyh/elasticsearch-security-plugin

这个插件将Elasticsearch的http / rest安全function添加到独立模块中。 使用embedded式Tomcat 7代替Netty来处理http / rest请求。

目前用于基于用户的身份validation和授权Kerberos和NTLM通过第三方库华夫cookies支持(仅在Windows服务器上)。 对于UNIX服务器,通过第三方库tomcatspnegoad支持Kerberos(与任何kerberos实现一起工作,对于授权,Active Directory和通用LDAP都是支持的)。

您也可以在不使用Kerberos / NTLM的情况下使用此插件,但只有基于主机的身份validation可用。

<shamelessPlug>

对不起,但我对所有这些插件和代理的严重怀疑,只是尝试捕获在HTTP级别的马虎正则expression式的查询。

你会将可能执行写入的所有可能的ES语法正则expression吗? 你如何按索引过滤? 如何索引别名? 多索引查询?

进行访问控制的唯一干净方式是AFTER ElasticSearchparsing了查询。 这正是盾所做的!

我写了一个麻省理工学院许可的插件( readonly-rest-plugin ),就是这样做的。

你可以通过以下方式匹配

  • ✔️主机名称,IP和IP与networking掩码

  • ✔️索引(支持通配符)和索引别名已解决

  • ✔️HTTP基本身份validation

它也有一stream的支持Kibanaauthentication:)

</shamelessPlug>

如果你想使用Kibana3的基本authentication,这是我的解决scheme:

https://github.com/fangli/kibana-authentication-proxy

不仅支持basicAuth ES后端,还支持客户端的GoogleOAuth和BasicAuth。 请给一个星星,如果它适合你,谢谢。

试试盾牌 。 它具有authentication和授权。 目前它需要一个许可证。 人们在创build类似的开源插件之前不会太长。

关于这个问题的一个具体的解决scheme,我碰到了以下其他答案中提到的反向代理方法的简单实现:

https://gist.github.com/jpluscplusm/9227777

作为一个警告,看起来Elasticsearch本身至less有一些不认为nginx是最佳解决scheme,但我认为这取决于您的身份validation要求(RBAC,用户数量,索引数量,访问列表修改次数)。 对于一些用户(包括我自己),第一个例子就足够了。

http://www.elasticsearch.org/blog/restricting-users-kibana-filtered-aliases/

如果你发现你的需求细节没有被nginx满足,像这样的东西可能会工作: https : //github.com/lukas-vlcek/node.es

由于ElasticSearch是一种数据库服务,您可能不希望它公开。

我不信任插件为我做,所以我做了一个nginx代理。

本教程非常有用:

http://www.minvolai.com/blog/2014/08/Setting-up-a-Secure-Single-Node-Elasticsearch-server-behind-Nginx/Setting-up-a-Secure-Single-Node-Elasticsearch-服务器背后的Nginx /

我是ElasticSearch的新手,但我觉得X-Pack插件应该在这里作为答案: https ://www.elastic.co/guide/en/x-pack/current/index.html

据我所知,X-Pack现在是保护ElasticSearch(以及更多)的事实上的标准,包括authentication。

是的,现在是通过插件X-Pack启用elasticsearch安全性的唯一可取方法。

https://www.elastic.co/guide/en/x-pack/current/xpack-introduction.html

这是一个多用途插件,适合安全使用,因为您也可以根据需要使用监控和configuration警报和通知。

由于它已经高度认识到,我相信elasticsearch将继续这个login。