2015-05-24 95 views
0

试图保护我的Ubuntu 14.04服务器上的Apache Solr 5.1Apache Solr 5.1保护Web管理界面

主要是我想弄清楚使用用户名和密码来保护web管理界面访问端口8983(和任何其他端口,我配置Solr)的最佳方式。但是我很可能会错过一些其他重要的安全措施,因为我对Solr的了解还很低,更不用说Solr 5.1了。

我可以很容易地使用iptables来保护端口,但我仍然希望能够随时安全地访问web管理部分的密码(就像之前与Tomcat或Jetty运行的solr版本一样)。也许我只需要配置web.xml文件或什么东西?...

有很多例子,早期的Solr版本 - 这些不会工作,因为这个版本的Solr 5.1不依赖于Jetty或Tomcat。此外,还有很多建议和问题对这个版本看起来并不是很有帮助,所以请在发布参考时注意这一点,并确保您在发布前至少具备Solr 5的一些知识。

谢谢你的帮助! (我确信它会帮助其他人)

回答

4

在Solr 5.2.1中简单地将以下行添加到“/var/solr/solr.in.sh” :

SOLR_OPTS = “$ SOLR_OPTS -Djetty.host = 127.0.0.1”

块从外部本地主机的所有访问到Solr。正如我在PHP代码中使用Solr,这正是我想要的行为。

您可以随时安全地通过SSH隧道访问管理页面,如之前提到!

+0

是/var/solr/solr.in.sh实际路径还是取决于安装。重新启动solr后,我无法使此文件中的更改生效。 – atuljangra

0

看来我能够用iptables做到这一点,现在只需跳过密码。

这里就是我做... (当然你会为Solr中使用任何端口做到这一点,不只是8983)

sudo iptables -A INPUT -p tcp -s 127.0.0.0/8 --dport 8983 -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 8983 -j DROP 

(顺序很重要,在iptables的 - 如果你要翻转这一无所事事将通过8983)

请不要▲这个答案,除非你很好地接受Solr/Solr5并且可以确认这是一个Web界面的安全选项。 虽然我可以证实这一点,并且让我暂时不再拉我的头发,但我还不能确认它是否足够安全。

如果你有一个好的网页界面密码选项,请发布它。

+0

如果您需要访问其他计算机上的网络接口,你“可能”增加一个额外的ACCEPT规则iptables来只允许该计算机的IP地址,然后将其删除您完成工作时(除去访问,因为我相信这ISN”牛逼100%安全和JavaScript从其他网站仍然可以访问它,如果有人真的很幸运,或者你走错了现场广告Solr的帮助,他们有一个脚本安装在那里准备就绪,等待着你 - 但我可能是错的) – JxAxMxIxN

1

阻止防火墙中的Solr端口是一种很好的做法。

从远程机器访问Web管理界面的安全方法是在机器之间创建SSH隧道。然后,您可以将浏览器指向工作机器上的隧道端口,以访问管理用户界面。在我看来,这是在防火墙中将IP地址列入白名单的首选方法。

第二种方法是配置一个Web服务器代理,该代理充当身份验证器,然后在提供了正确的访问凭证后,中继到Solr服务器上的管理端口。基本身份验证是一种强大的技术,身份验证器也可以配置为使用其他后端,如LDAP等。