首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >web服务器的权限安全方案

web服务器的权限安全方案
EN

Security用户
提问于 2014-08-11 19:13:04
回答 3查看 1.3K关注 0票数 2

拥有/var/www/site.comwww-data:www-data拥有750个目录权限和640个文件权限,并且我的用户alexb被添加到www-data组中,当我试图将新版本(git pull)拖到测试环境中时,我发现自己遇到了权限问题。

因此,现在,我想到的唯一解决办法是:

  • 相同的750和640的alexb:www-data/var/www/site.com的所有权
  • 坚持www-data:www-data,和一个750和640个权限布局。
  • 创建一个新的用户和组(分阶段-用户:暂存-组),赋予新用户真正的shell访问权,并将/var/www/site.com的所有权分配给他们,并使用初始的750个和640个权限布局,这样当我需要运行shell操作(例如git pull)时,我只需切换用户并执行它。

现在,问题是:

  • 哪一种最糟糕?
  • 有什么大事我可能会错过吗?
EN

回答 3

Security用户

发布于 2014-08-12 10:26:56

拥有www-data拥有的/var/www/site.com

如果www-data也是you服务器运行的uid,那么您有一个非常不安全的系统。The服务器应该只具有读取访问权限(并对目录执行)。如果您确实需要允许webserver写入数据,那么这个目录应该被围起来--最好是在文档根目录之外。

如果alexb是唯一需要写访问的帐户,那么“alexb:www-拥有/var/www/site.com与750和640相同的数据所有权”是一种合理的方法。但是,如果您有多个需要写访问的用户,那么最好的解决方案可能是创建一个具有该访问权限的新组,允许who服务器以“other”的形式读取访问权限(775/664),但请记住对用户进行近似设置(并启用目录上的setgid位(2775) )。

票数 3
EN

Security用户

发布于 2014-08-11 19:47:32

文件夹中的xx4更像是有xx0,因为“其他人”无法看到该目录的内容。他们会看到文件夹,但不能用它做任何事情。

由于web服务器可能不需要写权限,所以我将使用alexb:www-data750 (目录)和640 (文件),因为这样可以降低web服务器的权限,但可以让您使用个人用户而不必担心太多。

除此之外,您还应该设置所有文件夹的g+s权限,因此即使在以用户alexb的身份创建文件的情况下,web服务器仍然可以通过组权限进行访问(我假设您的用户alexb没有将www-data作为主要组,因此使用该权限将使组id通过新的文件保持不变)。

只需记住精确地设置UMASK (如027),不要将/var/www/site.com用作用户的主目录。

此外,还要考虑像SELinux (RedHat、CentOS等)这样的安全系统。

票数 1
EN

Security用户

发布于 2014-08-12 16:08:59

您错过了ACL的选项。Linux有一个非常灵活的ACL系统,这是大多数人不考虑的。不久前我写了一篇关于这件事的博文:

http://bryan.ravensight.org/2010/01/linux-acl-management-functions/

我通常将所有权和组设置为shell用户,以及任何需要更新这些文件的交互式用户组。

然后,我使用我的格兰特-阿帕奇-读脚本允许Then服务器访问它:

代码语言:javascript
复制
source ~/lib/acl.bash; grantUserRead 'www-data' /var/www/site.come '*';

在尝试时,您需要记住两件事:

  1. 您需要确保安装了setfacl。
  2. 确保将正确的用户传递到函数中。
  3. 您将需要~/lib/acl.bash脚本
  4. 我还为缓存和日志目录创建了一个授予apache写脚本。
票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/65166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档