使用Django 1.11,apache2和mod_wsgi时的安全性

时间:2018-06-04 08:44:09

标签: django security apache2 mod-wsgi

我已经阅读了一些有趣的articles并观看了一些videos但我恐怕还有一些我需要帮助理解的东西。我是这一切的新手。

1)博客中列出的示例很有意义,我尝试实现它但不幸的是我的django项目位于主文件夹中,完整的wsgi路径是/home/serverio/server.io_Tools/server.io/mysite/ mysite的/ wsgi.py。由于www-date需要读取和执行权限才能打开导致最后一个mysite目录的文件夹,我尝试创建一个对静态和媒体文件夹具有rwx权限的新组。这对于静态和媒体文件夹是可以的,因为我使用django collectstatic将这些文件移动到/ var / www文件夹中,该文件夹也包含www-data所属的组作为其组。博客对我这样的情况并不多说;我在我的主文件夹中有wsgi.py,如上所示。所以我试图让home文件夹的组与www-data所属的组相同(递归),但最终结果是我无法从ubuntu(GUI)界面打开文件夹,即使我也将我的用户名放入www-data使用的同一组,我确认当我执行ls -l时我也是目录的所有者。所以我放弃了这个方法,我将www-data放在我的userid(用于构建服务器的用户名)所属的同一组中,并递归地将一个770的chmod应用于home文件夹。有了这个改变,apache能够打开我的django应用程序,但我真的认为我可能已经创建了一个安全问题?

2)在视频链接中,Graham Dumpleton建议将一个0 + rx的chmod应用到wsgi路径,在我的情况下是(/home/serverio/server.io_Tools/server.io/mysite/mysite/) 。我怀疑这意味着任何网络用户现在都可以读取计算机上的文件,因为格拉汉姆还说人们应该考虑将django项目移动到无家庭位置。在这个论坛中,我看到人们将他们的项目转移到/ var / wwww,我看到有人评论说这是一个风险。 Gramham还谈到了将wsgi文件仅移动到一个新位置,但在解释过程中我迷路了。

我想我的问题是: a)当用户浏览网站时,他们使用了哪些权限;它是www-data还是其他(o)?当我们说o + rx时,我们通过这个命令给这些网络用户这个权限吗?这是否足以让他们读取原始python代码?

b)鉴于我目前的情况,对我来说最简单有效的方法是什么

谢谢论坛。

0 个答案:

没有答案