1

我刚刚开始使用beanstalkdpheanstalk,我很好奇以下情况是否是安全问题(如果不是,为什么不呢?):

在设计一个队列时,该队列将包含最终的工作脚本以获取和执行 SQL 数据库查询的作业,我问一个朋友我可以做些什么来防止在线用户进入我服务器的端口 11300,并将作业插入到自己排队,从而导致作业被恶意代码执行。有人告诉我,我可以在发送的作业中包含密码。

虽然经过一段时间后,我意识到有人可以在终端上执行一些简单的命令并获取队列中的作业,从而找到密码,然后创建包含密码的作业:

telnet thewebsitesipaddress 11300 //creating a telnet connection
list-tubes //finding which tubes are currently being used
use a_tube_found //using one of the tubes found
peek-ready //see whats inside one of the jobs and find the password

可以做些什么来确保不会发生这种情况并且我的队列不会被黑客入侵/控制?

提前致谢!

4

1 回答 1

3

您可以通过将 beanstalkd 放在防火墙后面或专用网络中来避免这些情况。

DigitalOcean(例如)提供这样的服务,您拥有一个只能从同一位置的服务器访问的专用网络 IP 地址。

我们公司使用 beanstalkd 已经一年多了,还没有遇到过这些问题。

我明白了,但是如果生产者是一个名为 index.php 的页面,当有人进入它时,会向队列发送一个作业。在这种情况下,服务器不是必须是开放网络吗?

浏览器无法与作业服务器取得联系,它只能访问/你/允许他们访问的资源,即视图页面。只允许后端访问作业服务器。此外,如果您以某种方式构建 Web 应用程序,将前端与后端分开,您将面临更少的潜在安全问题。

于 2016-05-24T09:44:50.690 回答