【问题标题】:Beanstalkd / Pheanstalk security issueBeanstalkd / Pheanstalk 安全问题
【发布时间】:2016-09-21 08:34:25
【问题描述】:

我刚刚开始使用 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

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

提前致谢!

【问题讨论】:

    标签: security terminal telnet beanstalkd pheanstalk


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 好吧,所以如果“index.php”有服务器端代码(用户无法看到或触摸)进行制作,他将在当前服务器正确吗?这意味着它是一个开放网络,这也意味着我可以在上面的问题中执行telnet websiteipaddress 11300 命令和其他命令。因此,即使浏览器没有能力接触工作,用户也可以使用这些终端命令(只要它是一个开放的服务器),这是我的怀疑。这就是我有点痛苦的地方
    • 阻止访问除特定 IP 之外的所有内容,即 localhost。 I found something here.
    • 有这方面的消息吗? @Webeng​​span>
    猜你喜欢
    • 2013-07-31
    • 2021-01-22
    • 1970-01-01
    • 2013-03-06
    • 2013-04-19
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    相关资源
    最近更新 更多