Apache 上传和安全

Apache 上传和安全

最近出现了一个问题,我们系统上的一个用户需要让 apache 用户拥有对其网站的读写权限,以便其网站的上传部分正常工作。如何最大限度地降低恶意用户进入并提交文件的风险,最终删除 Web 目录中的文件,甚至接管 apache 守护进程?

我能想到的唯一解决方案是为网站创建一个子文件夹,Apache 可以读取和写入该子文件夹,但只能读取父目录。对file foo.zip未压缩的上传数据进行完整性检查(如)和文件检查,然后重命名文件并将元数据添加到文件,以便在网站内部对其进行跟踪,然后将其移动到 Apache 无法写入且只能读取的文件夹中。

或者我只是有点偏执?

答案1

你的偏执是有道理的。

Apache 上传文件时产生的安全问题基于上传的 .htaccess 文件,该文件可以更改权限或允许用户访问 Apache 配置文件。

预防此问题的大部分方法可以通过首先正确保护 Apache 及其配置文件来解决。确保 Apache 在与公共文件完全不同的目录中运行(我使用不同的硬盘驱动器以防万一)。然后保护目录:

如果您使用 PHP 编程,我还会进行一些额外的检查,以确保脚本无法从上传文件夹运行。基本上,当访问该文件夹时,禁止 PHP(或其他模块)执行。

我建议你查看 Google 上还有更多资源。希望这些资源对你有帮助。

答案2

您还没有说这是在什么操作系统上 - 这与安全性有很大关系。假设它是 linux/BSD/Unix...

您肯定希望将可写位置保留在文档根目录之外 - 所有访问都应由您自己的代码进行调解。

您可能希望将其保存在使用 noexec 安装的单独文件系统上。

对未压缩的上传数据进行健全性检查(如文件 foo.zip)和文件检查

从未听说过拉链炸弹然后?

相关内容