HTTP 守护程序和 Webroot 权限

信息安全 php http 阿帕奇
2021-08-13 22:17:34

我们有一个签约的 Web 开发人员,他使用部署脚本来更新和部署网站。为了让他们工作,他们需要通过 httpd 用户对整个 webroot 进行写访问。

我试图说服他们通过 ftp 甚至 scp 上传他们的更改,他们只是不想这样做。

您能否向我提供与我的立场一致的权威消息来源?(假设我的担忧是对的,如果我错了,请告诉我)

2个回答

如果 httpd 用户拥有的权限超过了开发人员应有的权限,我认为你是正确的。

此外,当我有我的规则并且开发人员不想听到它们时,我只是将工作传递给下一排的人。

风险:

  • 他们需要 shell 访问您的机器
  • 他们需要访问 httpd 用户(他们基本上可以控制您的网络服务器)

以上任何一项都意味着他们可以乱搞他们不应该乱搞的东西。除此之外,他们可以将您的网络服务器配置为仅使用他们的脚本,这意味着如果您与他们违反合同,您将受到很大的伤害来解决这个问题。(这是一种可能,并不是说他们会)

如果您允许他们访问 shell,我建议您通过合同(!),画出他们可以触摸和不能触摸的内容。(用大棒轻声说话)

就像你说的,如果他们的脚本应该只写入某个目录,那么除了可以写入 web 文件夹的 shell 之外,绝对不需要给他们任何东西。如果他们需要访问某些配置文件,您可以将他们添加到 httpd 组。如果他们需要重新启动网络服务器的访问权限,您只需给他们 sudo 即可获得重新启动命令。

永远不要给任何人超过完成工作所需的许可。如果营销持续存在,您会非常仔细地概述如果这些开发人员失败并造成停机会发生什么,以及这将如何影响公司形象。确保你也遮住自己。

编辑

他们想以 httpd 用户身份运行自己的访问脚本,这样他们就可以通过浏览器获得完全的写入权限?

这不是一个好主意,如果那个东西被破坏了,你会受到很大的伤害。

目前我能想到的最好的东西是这个 nist 指南:http : //csrc.nist.gov/publications/nistpubs/800-44-ver2/SP800-44v2.pdf(查看第 5.2 章)

searchsecurity 的一篇关于为什么应该使用开发服务器的文章:

http://searchsecurity.techtarget.com/tip/Six-steps-to-securering-your-Web-server

为了使用 ftp 或 scp,开发人员需要使用对 webroot 具有写入权限的特定登录名。虽然 httpd 用户具有相同的写入权限,但它还具有您的开发人员不需要的额外权限,如果不小心分发,可能会很危险。

最佳实践是最小权限原则,即只给用户(以及进程和脚本)他们需要的访问权限,而不是更多。