gpt4 book ai didi

security - CHMOD 和我服务器上目录的安全性

转载 作者:行者123 更新时间:2023-12-04 07:09:40 29 4
gpt4 key购买 nike

我的服务器上有一个文件夹,我已将其权限更改为 777(读取、写入和执行全部)以允许用户上传他们的图片。

所以我想知道,这其中涉及哪些安全风险?

我已经实现了代码来限制可以上传哪些文件格式,但是如果有人要找到目录的位置会发生什么,这会对我的服务器构成任何威胁吗?

他们可以开始上传他们想要的任何文件吗?

谢谢。

最佳答案

当用户通过 Web 表单和一些 PHP 脚本将文件上传到您的服务器时,服务器上的磁盘访问发生在运行 Web 服务器的用户 ID(通常为 nobody、www-data、apache、_httpd 甚至 root)。

请注意,无论哪个用户上传文件,都会使用此单个用户 ID。

只要没有本地用户通过其他方式访问系统(例如 ssh ),将上传目录权限设置为 0777不会有太大的区别——从有人利用系统中其他地方的安全漏洞来看,无论如何这些权限都不适用于任何人,而这样的攻击者可能只会使用 /tmp .

仅对文件或目录设置实际需要的权限始终是一个好习惯。在这种情况下,这可能意味着:

drwxrws--- 5 www-data www-data          4096 Nov 17 16:44 upload/

我假设除 Web 服务器之外的其他本地用户也希望访问这些文件,例如系统管理员或 Web 设计人员。将这些用户添加到您的 Web 服务器运行所在的组中,并且他们不需要 sudo或 root 权限来访问该目录。另外, +s表示 upload/ 中的新文件和目录将自动归同一组所有。

关于你的最后一个问题:仅仅因为攻击者知道目录在哪里,并不意味着他可以神奇地使文件出现在那里。仍然必须运行某种接受文件并将它们存储在那里的服务......所以不,将权限设置为 0777不会直接让它变得不那么安全。

尽管如此,在整个设置中,您无法使用文件权限解决“安全”和“安全”的更多维度:
  • 上传者仍然可以覆盖彼此的文件,因为它们都使用相同的用户 ID
  • 有人可以将恶意 PHP 脚本上传到上传目录并从那里运行它,可能会利用您系统上的其他漏洞并获得 root 访问权限
  • 有人可以使用您的服务器分发 child 色情内容
  • 有人可以在上传与 paypal.com 相似的文件后从您的服务器运行网络钓鱼站点

  • ......而且可能还有更多。您可能在上传脚本中解决了其中一些问题,但话说回来,在了解安全问题时,通常在开始时就了解 unix 文件权限及其适用位置,这表明您可能还没有准备好解决所有问题可能的问题。

    让某人查看您的代码!

    关于security - CHMOD 和我服务器上目录的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/588855/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com