【问题标题】:chmod 777 security leak on a log directory?日志目录上的 chmod 777 安全漏洞?
【发布时间】:2012-05-26 12:49:49
【问题描述】:

我将我的网站托管在共享服务器中,因此我的选择有限。例如,我无权访问the exec function

我的问题是我非常简单的addLog PHP 函数需要写入日志文件的权限。我在另一篇文章中读到,PHP 用户通常在传统的 UNIX 所有者-组-其他权限方案中被同化为“其他人”。

但是,由于我构建了自己的 www 结构,我正在考虑将我的 ./log 目录的权限设置为 777,以便脚本可以写入必要的日志。

应用程序只需要能够写入日志文件;不需要读取或执行权限。 (当涉及到 UNIX 权限时,我什至不知道它们是什么)此外,我没有在日志中存储任何数据库信息;但是,我可以存储堆栈跟踪。

  • 将日志目录的权限设置为777是否存在安全风险?
    除了日志,此文件夹中没有任何内容。
  • 此目录是否需要读取和执行权限?
    我只需要写(追加)到日志中。

【问题讨论】:

  • 这取决于共享主机的设置方式
  • 这可能是一个非常糟糕的主意,例如,如果log 文件夹可以通过网络访问,并且它允许执行脚本
  • @wroniasty: 目录上的777it allows executing scripts 无关。另外 - 当您通过 http 访问 777 时,它不会提供任何额外的权限
  • @zerkms,您能否详细说明共享主机设置将如何影响我的决定?
  • @Sebas:这取决于其他托管用户可以做什么。而且我不确定是否有人能确定您的具体情况(我们甚至不知道您使用的是什么主机)

标签: php logging permissions chmod


【解决方案1】:

请记住,应用程序错误可能包含数据库登录信息、查询字符串以及应用程序的文件结构。您可能对用户和机器人隐藏了某些文件,但仍位于文档根目录中。通过允许共享环境中的任何人 (777) 查看日志(任何)文件,您会面临更大的风险。

理论上,如果 PHP 正在写入日志,它也应该能够读取日志。底线是使文件所有者成为将写入文件的同一用户。然后使用适当的权限。

当然,如果您不关心网站上的任何内容是否安全,并且没有数据库连接,那真的没关系。

真的取决于共享环境。我看到共享主机设置不当,用户可以通过 FTP 遍历并查看其他文件/文件夹。 777 在共享主机上不是一个好主意。 (最好是安全,而不是抱歉)

【讨论】:

  • 这是非常错误的答案。文件系统权限与通过 http 的可用性没有太大关系
  • 是的,你是对的,但在共享主机上,它可能对盒子上的其他用户开放。
  • 打开了,那又怎样?而HOW和DB有什么关系?!?
  • 如果记录了错误消息,它可能包含数据库连接字符串或脚本运行的 SQL 语句。
  • 真的要看共享环境。我看到共享主机设置不当,用户可以通过 FTP 遍历并查看其他文件/文件夹。 777 在共享主机上不是一个好主意。 (最好是安全,而不是抱歉)
猜你喜欢
  • 2012-09-09
  • 2014-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 2011-12-17
  • 1970-01-01
相关资源
最近更新 更多