将私有文件放在共享 Web 服务器上的什么位置

信息安全 网络服务器 访问控制 保密
2021-08-28 06:42:46

我不断听到和阅读人们警告不要将专有信息或机密文档放在 Web 服务器根目录中的危险。如果我在共享服务器上,我无法将文件放置在文档树的根“上方”。有没有一个不太老套的解决方法?

更具体地说,我想将配置信息放入一个 ini 文件中。我该怎么做才能让人们无法下载它(更不用说修改它了)?我应该把它放在哪里以最大程度地减少错误配置或漏洞利用的风险?

2个回答

如果它那么重要,那么你无能为力。错误配置的服务器很容易阻碍您采取的任何步骤。如果该文件必须位于 Web 根目录中,那么您唯一的选择是使用您的服务器允许的任何机制来禁用对这些文件的访问(例如.htaccess,对于 Apache)。

定义“共享”——如何处理用户权限?

如果您的 SSH 用户是唯一可以看到该文件的用户,那么您就是安全的 ISH - 如果权限为 400(您的 SSH 用户只能读取权限),但如果需要“私人”文件,这并不是特别有用可供 apache2/www-data 用户访问。

根据您的用例,您可以相对干净地执行此操作,并且如果您的系统管理员会帮您一个忙并手动编辑文件的文件权限。

系统的 umask 是什么,您如何将文件放入其中?

不幸的是,对于共享服务器,答案通常是:依赖、依赖、依赖。