【问题标题】:security precautions to take when running multiple sub-sites on the same main site在同一主站点上运行多个子站点时要采取的安全预防措施
【发布时间】:2011-03-10 10:27:43
【问题描述】:

我有共享主机,并在我自己的用户空间中运行三个不同的 .com 域。一个作为实际的托管计划主域,另一个是通过 URL 重定向和域指向的子域。

其中一个是 Wordpress 博客,我担心攻击者会利用 Wordpress 中的安全漏洞访问我的虚拟保护伞下的其他网站。如果博客本身被破坏,我不会为此失眠。但是,如果其他网站被钉牢,我将成为一只可悲的熊猫。

我可以使用什么样的服务器权限来隔离该博客?它完全包含在自己的子目录中。

如果需要,可以提供更多详细信息,我是新手,可能遗漏了一些关键信息。

谢谢。

【问题讨论】:

    标签: php security wordpress permissions


    【解决方案1】:

    取决于攻击者发现的漏洞。如果您对所有数据库(包括 WP 数据库)使用相同的用户/密码,那么这可能是个问题。当然,文件权限是一个问题……任何可以被 Web 服务器访问的东西都可以被读取,并且经常被写入。

    这里有很多安全问题,但如果您使用 ftps、ssh 并在 WP 发布安全修复程序时更新,那么您会降低出现问题的机会。最安全的计算机被水泥包裹,沉入马里亚纳海沟。但这不是很有用。您正在寻找平衡点。

    【讨论】:

    • 不能说我以前听过这么好的关于安全的短语:)
    【解决方案2】:

    这是一个合理的担忧。如果没有正确分离一个站点中的漏洞,将会影响到所有站点。

    1) 您需要做的第一件事是使用suPHP,它强制应用程序以特定用户的权限运行。此用户帐户不应具有 shell 访问权限 (/bin/false)。

    2) 所有三个应用程序目录都必须是chown user -R /home/user/www/chmod 500 -R /home/user/www/ chmod 中的最后两个零表示没有其他帐户可以访问这些文件。这仅提供读取和执行权限,如果整个 Web 根目录不允许写入权限,这是理想的选择。

    3) 所有三个应用程序都必须有一个单独的 MySQL 数据库和单独的 MySQL 用户帐户。此用户帐户应有权访问其自己的数据库。此帐户不应具有 GRANTFILE 权限。 FILE 权限是迄今为止您可以授予 MySQL 用户帐户的最危险的权限,因为它用于上传后门和读取文件。这可以防止一个站点中的 sql 注入,从而允许攻击者读取所有站点的数据。

    在采取这三个步骤后,如果 1 个站点被黑客入侵,那么其他 2 个站点将不会受到影响。您应该运行漏洞扫描程序,例如 Sitewatch(商业但有免费版本)或 Skipfish(开源)。扫描应用程序后,然后运行phpsecinfo 并修改您的 php.ini 文件以尽可能多地删除红色和黄色。修改你的 php.init 可以欺骗漏洞扫描器,但通常漏洞仍然存在,以确保你修补你的代码并保持一切都是最新的。

    【讨论】:

    • 编写良好的步骤来保护服务器免受攻击。不要忘记保护您的域免受其他用户的攻击。对于 XSS,将会话 cookie 的“路径”属性(和“域”,如果适用)配置为最严格会有所帮助。例如:Set-Cookie sessionid=1234; path=/subdomain1
    【解决方案3】:

    Chmod 文件 755 并知道 chmod 设置以保持对经典问题的更新:由于 perl、php 或使用的脚本语言中的错误,黑客通过 uri 查询字符串获取 shell。拥有像secureserver.net这样的安全ISP应该名副其实,注意语言实现中的特定错误并选择最安全的可用而不是大多数性能,并且阅读insecure.org是我使用secureserver运行所有实验和开发内容的方式。净可行,没有报告安全问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 2021-10-24
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 2010-12-08
      • 2021-04-15
      相关资源
      最近更新 更多