cas*_*One 26 security elasticsearch
我一直在浏览Elastic Search的文档,我是一个很大的粉丝,我想用它来处理我的ASP.NET MVC应用程序的搜索.
然而,这引入了一些有趣的曲折.如果ASP.NET MVC应用程序位于专用计算机上,则可以很容易地清空Elastic Search实例并使用TCP传输进行本地连接.
但是,我不是在ASP.NET MVC应用程序的专用机器上,也不会看到我将很快移动到一个.
这使得Elastic Search在另一台机器上保存(在*NIX世界中),我可能会在那里使用共享主机.
然而,Elastic Search缺少的最大问题之一是它不支持开箱即用的HTTPS和基本身份验证.如果确实如此,那么这个问题就不存在了; 我只是将它托管在某个地方,并确保有一个令人难以置信的安全密码和HTTPS启用(可能带有自签名证书).
但事实并非如此.
那么,通过互联网以安全的方式公开Elastic Search的好方法是什么?
注意,我正在寻找一些有希望的东西,不需要编写代码来为我想要的方法提供垫片(换句话说,编写转发器).
cas*_*One 24
一个用于elasticsearch插件,可以让你与码头的嵌入式实例替代HTTP传输现已推出.
因为它使用Jetty来处理HTTP传输,所以它可以处理SSL连接以及配置用于身份验证.
(注意,以下仍然是合理的建议,因为以这种方式抽象出你的操作通常是好的做法)
在对ElasticSearch邮件列表进行了多次讨论后,我发现当前的解决方案是在另一个应用层后面托管ElasticSearch,然后保护该层.
理由很扎实; ElasticSearch类似于数据库,您不会让您的数据库面向所有人.
我(和其他人)绊倒的事情是因为ElasticSearch使用HTTP作为传输并使用JSON作为操作的语法,ElasticSearch意味着面向公众.
但是,目前有一个请求添加HTTPS传输支持(假设提供了证书)以及基本(摘要)身份验证.
你必须以某种方式防火墙,只允许来自appserver的流量,例如在linux上使用iptables,或在windows上使用某种个人防火墙.
这会带你进入serverfault.com领域 - 这个没有编程解决方案.
| 归档时间: |
|
| 查看次数: |
21270 次 |
| 最近记录: |