Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 保护弹性搜索簇_Security_Nginx_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Tcp_Elastic Shield - Fatal编程技术网 elasticsearch,tcp,elastic-shield,Security,Nginx,elasticsearch,Tcp,Elastic Shield" /> elasticsearch,tcp,elastic-shield,Security,Nginx,elasticsearch,Tcp,Elastic Shield" />

Security 保护弹性搜索簇

Security 保护弹性搜索簇,security,nginx,elasticsearch,tcp,elastic-shield,Security,Nginx,elasticsearch,Tcp,Elastic Shield,我想创建一个安全的Elasticsearch集群 关于我的用例。我想要一个多租户系统。用户必须对自己的命名空间具有管理访问权限。经过几次尝试,我现在只给用户自己的集群(通过docker) 尝试1:在具有多租户的专用节点上屏蔽。这需要我为每个用户修改yml文件中的角色。这既麻烦又痛苦 尝试2:Docker容器+屏蔽:经过一些尝试和错误后,这看起来工作正常,但我不喜欢许可,我也不明白它是如何保护tcp传输的 尝试3:Docker容器+nginx反向代理&htpasswd:这对于保护http传输非常有

我想创建一个安全的Elasticsearch集群

关于我的用例。我想要一个多租户系统。用户必须对自己的命名空间具有管理访问权限。经过几次尝试,我现在只给用户自己的集群(通过docker)

尝试1:在具有多租户的专用节点上屏蔽。这需要我为每个用户修改yml文件中的角色。这既麻烦又痛苦

尝试2:Docker容器+屏蔽:经过一些尝试和错误后,这看起来工作正常,但我不喜欢许可,我也不明白它是如何保护tcp传输的

尝试3:Docker容器+nginx反向代理&htpasswd:这对于保护http传输非常有效,现在对kibana也非常有效。不幸的是,这限制了我的集群能力,因为9300是完全开放的

尝试4:我将尝试docker容器+搜索守卫:这看起来是一个不错的选择,但我仍然不确定tcp传输应该如何安全


人们实际上是如何保护多租户Elasticsearch群集的?

您的做法是正确的。ES并不是天生的多租户,您真的无法确定您是否正确保护了/命名空间访问。此外,ES缺乏身份验证和https,因此您也将面临这些问题。我知道你可以为这个特权付费,你也可以通过其他一些黑客手段来获得它,但实际上,这个系统是按客户付费的,而不是多租户的

我还要提醒大家不要认为多租户使用docker是一个可行的解决方案。同样,docker安全性还不是一个众所周知/已解决的问题。在内核之上进行虚拟化时存在风险。主要的风险在于,与硬件上公认的虚拟化技术相比,内核有大量的代码。以在虚拟机监控程序上运行的AmazonEC2实例为例。虚拟机监控程序通过硬件实现虚拟机之间的大部分边界—即,在硬件级别帮助隔离不同虚拟机的特殊CPU过程

因为hypervisor只是一小段代码(与内核相比),所以它更容易审计。因为hypervisor使用硬件特性来强制隔离,所以更安全

在一个维度上,Docker实际上在每个进程的基础上增加了安全性(即,如果运行nginx的应用程序遭到黑客攻击,并且Docker设置良好,那么入侵者也必须从Docker实例中突围出来)。另一方面,它不如机器虚拟化那么好

我的建议是为每个客户创建一个集群VM,并在每个VM集群上运行ES docker和其他应用程序docker