我的主要问题是与HelioSearch Solr的实例,但我将Tomcat作为其可能这就是我需要改变,我是一个Tomcat NOOB了。的Solr/Tomcat的限制端点
Solr有一个非常完整的REST API,可能太广泛了 - 它是一个known issue(SOLR1523),您可以通过未经验证的HTTP GET请求删除整个Solr集合。 http://localhost:8983/solr/update?commitWithin=10&stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E"
直到修复被释放,无法更改上Solr的或Tomcat侧一些配置要么:(从最好的情况下到最差)
- 建立滤波器为每个端点/ HTTP动词指着AuthN/AuthZ的提供商(动物园管理员/ CXF?我不知道他们怎么还没有工作,要么)
- 指定与环境变量的IP白名单过滤器
- 指定一个IP白名单过滤器硬编码
我需要更新吗?将新数据添加到集合中的端点,但我只需要POST数据,因此有第四个选项:删除/阻止GET端点(即使它是通过一些冒险路由/超载/遮挡方法)。甚至可以说,Tomcat的Coyote部分可以查找字符串“delete”..但是我很绝望。
我知道Solr的项目不符合安全问题本身,但即使有防火墙解决方案背后有太多是愚蠢或愚蠢的用户。
任何广域网访问一定会通过代理来保护,但我怎么没在局域网环境中暴露的Solr?我如何告诉Tomcat只能听本地主机?谢谢! – David 2014-12-03 19:24:52
如果你在127.0.0.1/localhost上绑定了Tomcat,它只会听到那个特殊的地址,而不会公开任何东西。 http://stackoverflow.com/questions/6809968/how-to-block-access-to-tomcat-listening-port-and-allow-localhost-only – 2014-12-04 20:34:33