Apache Solr 5.1 保护 Web 管理界面
Apache Solr 5.1 Securing Web Administration Interface
尝试在我的 Ubuntu 14.04 服务器上保护 Apache Solr 5.1。
主要是我想找出最好的方法来保护 Web 管理界面使用用户和密码访问端口 8983(以及我配置 Solr 的任何其他端口)。但我很可能遗漏了一些其他重要的安全措施,因为我对 Solr 的总体了解仍然很低,更不用说 Solr 5.1 了。
我可以轻松地使用 iptables 保护端口,但我仍然希望能够在需要时使用安全密码访问 Web 管理部分(就像以前的 solr 版本所做的那样 运行 Tomcat 或码头)。也许我只需要配置 web.xml 文件或其他东西?...
早期的 Solr 版本有很多示例 - 这些都不起作用,因为此版本的 Solr 5.1 不依赖于 Jetty 或 Tomcat。还有很多建议和问题似乎对这个版本没有太大帮助,所以在发布参考时请注意这一点,并确保您在发布之前至少对 Solr 5 有一些了解。
感谢您的帮助! (我相信它会对其他人有很好的帮助)
看来我毕竟可以用 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 界面的安全选项,否则请不要 ▲ 此答案。
虽然我可以确认这有效并且让我暂时停止拔头发,但我还不能确认它是否足够安全。
如果您有一个好的 Web 界面密码选项,请 post 它。
在防火墙中阻止 Solr 端口是一个好习惯。
从远程计算机访问 Web 管理界面的一种安全方法是在计算机之间创建 SSH 隧道。然后,您只需将浏览器指向工作机器上的隧道端口即可访问管理员 ui。在我看来,这是比在防火墙中将 IP 地址列入白名单更好的方法。
第二种方法是配置一个 Web 服务器代理作为身份验证器,然后在提供了正确的访问凭据后中继到 Solr 服务器上的管理端口。基本身份验证是一项强大的技术,然后还可以将身份验证器配置为使用其他后端,例如 LDAP 等。
在 Solr 5.2.1 中,只需将以下行添加到“/var/solr/solr.in.sh”:
SOLR_OPTS="$SOLR_OPTS -Djetty.host=127.0.0.1"
阻止从本地主机外部对 Solr 的所有访问。由于我在 PHP 代码中使用 Solr,这正是我想要的行为。
如前所述,您始终可以通过 SSH 隧道安全地访问管理页面!
尝试在我的 Ubuntu 14.04 服务器上保护 Apache Solr 5.1。
主要是我想找出最好的方法来保护 Web 管理界面使用用户和密码访问端口 8983(以及我配置 Solr 的任何其他端口)。但我很可能遗漏了一些其他重要的安全措施,因为我对 Solr 的总体了解仍然很低,更不用说 Solr 5.1 了。
我可以轻松地使用 iptables 保护端口,但我仍然希望能够在需要时使用安全密码访问 Web 管理部分(就像以前的 solr 版本所做的那样 运行 Tomcat 或码头)。也许我只需要配置 web.xml 文件或其他东西?...
早期的 Solr 版本有很多示例 - 这些都不起作用,因为此版本的 Solr 5.1 不依赖于 Jetty 或 Tomcat。还有很多建议和问题似乎对这个版本没有太大帮助,所以在发布参考时请注意这一点,并确保您在发布之前至少对 Solr 5 有一些了解。
感谢您的帮助! (我相信它会对其他人有很好的帮助)
看来我毕竟可以用 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 界面的安全选项,否则请不要 ▲ 此答案。 虽然我可以确认这有效并且让我暂时停止拔头发,但我还不能确认它是否足够安全。
如果您有一个好的 Web 界面密码选项,请 post 它。
在防火墙中阻止 Solr 端口是一个好习惯。
从远程计算机访问 Web 管理界面的一种安全方法是在计算机之间创建 SSH 隧道。然后,您只需将浏览器指向工作机器上的隧道端口即可访问管理员 ui。在我看来,这是比在防火墙中将 IP 地址列入白名单更好的方法。
第二种方法是配置一个 Web 服务器代理作为身份验证器,然后在提供了正确的访问凭据后中继到 Solr 服务器上的管理端口。基本身份验证是一项强大的技术,然后还可以将身份验证器配置为使用其他后端,例如 LDAP 等。
在 Solr 5.2.1 中,只需将以下行添加到“/var/solr/solr.in.sh”:
SOLR_OPTS="$SOLR_OPTS -Djetty.host=127.0.0.1"
阻止从本地主机外部对 Solr 的所有访问。由于我在 PHP 代码中使用 Solr,这正是我想要的行为。
如前所述,您始终可以通过 SSH 隧道安全地访问管理页面!