我的/var/www
文件夹归 root 所有,但www-data
对其某个子目录(用户上传文件夹,包含仅限图片)。
恶意用户是否有办法退出该特定子目录,甚至退出/var/www
?
我能做些什么来加强安全保障?
在这种情况下 chrooting 没用吗?
感谢您的建议。
答案1
这种类型的漏洞被称为“目录遍历”。
Apache 本身已经很久没有出现遍历漏洞了,但听起来你在 Apache 中运行自己的代码;这就是你需要集中精力降低风险的地方,特别是如果你有从文件系统加载其他文件或内容的代码(例如,上传代码)。
您偶尔会在日志中看到来自机器人发出类似请求的条目/../../../etc/passwd
,但 Apache 不会向他们提供该内容(至少在没有发现新的漏洞的情况下不会),因此您只需确保您自己的代码也是如此。
答案2
你的文件权限应该是644并且目录应该是755。唯一有权限的用户应该是 www-data。其他用户只有只读权限。对于你的情况来说,这看起来没问题。
每天扫描蛤蜊和激光微分沉积在您的 Web 根目录中。如果您使用任何内置框架,请验证其站点的安全性,并始终拥有最新版本的应用程序。
要监控 Web 根目录,你应该通知在 /var/www 上,因此您应该知道文件系统上编辑、创建和删除了哪些文件。黑客的第一步是将一些文件放在 Web 根目录下,然后导航到文件系统,因此您应该通过 inotify 监视它。
始终每天备份旧文件,以便您可以比较网络上新编辑的文件是否存在恶意代码。
在图像文件夹中创建的所有文件都不应具有执行权限,还要检查上传的文件是否仅为图像,还要检查文件的扩展名。
希望有所帮助。