专用服务器上的上传文件夹和服务器文件文件夹的权限

时间:2016-10-06 18:27:23

标签: file security permissions

我将在专用服务器上运行一个网站,允许用户上传文件(我没有检查这些文件是否有病毒)。

让我们说文件夹是这样的 -
parent_folder - >网站(包含服务器文件的文件夹)
parent_folder - >上传(包含用户上传的文件夹)

问题。将网站文件夹的文件权限设为750,将上传文件夹设为770就足够了吗?

(注1:所有者 - 根;组 - 阿帕奇;网站是社交网络)
(注2:由于Apache(www-data)将处理上传,我相信770可能需要代替740)
(注3:由于Apache(www-data)只需要读取网站文件夹中的文件,因此750)
(注4:服务器将由单个用户维护)

1 个答案:

答案 0 :(得分:0)

我认为它是否足够好取决于你愿意承担的风险。对于基本保护,它可能是好的。

您需要考虑的是,如果文件被未经身份验证的攻击者窃取,或者我认为会有某种访问控制并且用户可以访问自己的文件,那么会发生什么情况,在这种情况下存在明显的风险用户是否能够访问其他人的文件。如果发生这种情况,它会如何影响您的网站/业务?你愿意承担这个风险吗?你试图保护的攻击者是谁?机会主义剧本小子?知识渊博的攻击者专门针对您的网站?国家级攻击?你必须先回答这些问题。

此解决方案的缺点是,任何应用程序操作系统级别违规都很可能会访问所有用户的所有上传文件。如果您的应用程序容易受到本地文件包含,目录遍历,甚至某些数据库的SQL注入或更多漏洞等攻击,那么您的文件可以下载。是否要更多地保护它们取决于您的使用案例。

更安全的选项可以将它们存储在单独的服务器(某种文件存储库)上,使用特定于用户的密钥加密它们(然后密钥管理和加密通常本身就是一个很大的主题),你可以实现mime - 白名单的类型识别只允许某些文件类型(这是一个稍微不同的方面),或者您甚至可以添加端到端加密以防止自己(操作人员)等。您可以在保护这些文件方面走得很远,如果你愿意的话,但很快就会非常复杂。