【问题标题】:XDebug on Hosting - Security?XDebug on Hosting - 安全性?
【发布时间】:2011-12-14 08:20:27
【问题描述】:

我有一个 VPS 帐户,我在该帐户上设置了一个 Linux 服务器来托管一些客户网站,并在将网站发布到生产服务器之前上传网站的“预览”。

我在自己的机器 (Windows) 上开发网站并在那里进行大部分测试。由于平台的不同,有时Linux主机会出现问题,我可以在上面使用调试接口...

我的问题是在远程公共服务器上安装 xdebug 是否安全,该服务器也可用于托管生产网站?可能吗?推荐的?你怎么看?

谢谢...

【问题讨论】:

    标签: php linux security xdebug


    【解决方案1】:

    只要您设置了xdebug.remote_host 变量,xdebug 在远程实例上是完全安全的。否则这是一个MAJOR安全问题,因为它允许攻击者在运行时查看内存中的任何变量。它可用于获取您的 mysql 登录名或您可能拥有的任何其他秘密变量。

    edit:VPN 是一个很好的解决方案,可以在网络上以纯文本形式不断泄露敏感数据。

    【讨论】:

    • 如果您有办法防止到 remote_host(可能完全未加密)的 IP 流量被拦截(窃听),那可能是真的。但一般来说,互联网上没有这样的保证,只有你经过特殊努力来设置,例如 VPN。
    • 其实SO的认证部分并不是纯文本;它们通过 HTTPS 运行。明文部分无论如何都是公开的。但是考虑到 XDebug 暴露的内容(包括密码在内的所有内容),在不安全的传输上运行它是非常危险的。考虑到您还可以更改变量(如果您可以嗅探连接,您也可以通过欺骗数据包注入您自己的命令),您基本上可以完全控制该站点。有时你甚至可以在不嗅探的情况下注入数据包......
    • 您对 SO w/r/t 会话劫持是正确的,是的,他们应该解决这个问题。
    【解决方案2】:

    XDebug 是可能的,但not recommended on production,因为它会减慢您的应用程序。你应该反过来想,把 linux 用作开发机器。如果您不能(或不想)切换到 Linux,您可以留在 Windows 上并使用虚拟机作为 linux 开发服务器。如果你这样做,尽量接近生产环境:相同的 linux 发行版,相同的 php 版本。

    我在 linux 上工作,我公司的每个人也是如此,我公司推荐的解决方案是LXC,这是一个非常轻量级的虚拟化解决方案。简单地说,我的意思是在 IDE 中刷新工作树不需要很长时间,因为您不必在主机上挂载工作树:来宾文件系统是主机文件系统的子树。 这样,我仍然可以为我的桌面安装一个最新的 fedora linux,如果我需要(而且我需要),还可以在 php 5.2 的 debian 上进行开发。问题是,当为给定项目配置虚拟机时,我可以将其存档并将其发送给加入该项目的同事。这让新手更容易开始项目。

    【讨论】:

    • +1 用于虚拟化。只需创建一个与生产服务器配置非常相似的单独(虚拟)Linux 开发环境。
    • 这就是我现在正在做的事情,只是在极少数情况下,特定于生产服务器的问题会出现在部署中,我一直在寻找一种直接的方法来解决这些问题。
    猜你喜欢
    • 2011-04-01
    • 2012-08-02
    • 2013-01-21
    • 1970-01-01
    • 2018-01-08
    • 2015-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多