确保django的生产

时间:2012-06-21 15:08:53

标签: python django encryption security

在生产中保护django应用程序实例所采取的常见步骤是什么? 我正在使用sqlite,所以加密数据库也会很好。

由于数据库已加密,因此应用程序代码也应加密或仅编译。简单地删除所有* py文件并保留* pyc文件是否安全?

另外,是否可以在生产服务器中禁用django shell(./manage.py shell)?一旦shell可访问,所有数据都是如此。

我使用的堆栈是:Nginx + Gunicorn + Django + SQLite都托管在具有专用防火墙的机架空间专用服务器上。

基本上,目标是,任何具有超级用户权限的人都可能无法访问数据库内容。

1 个答案:

答案 0 :(得分:4)

确保django是一个重要的问题,但我认为你很困惑。

首先,即使您可以使代码不易检查,也不会使其更安全。其次,可以从pyc文件中恢复除注释之外的所有注释。

最后,django shell可以方便地在命令行中与您的应用程序进行交互。如果任何未经授权的人都可以运行它,那么如果你禁用它也没关系 - 你的安全性已经完全受到损害。

我强烈建议您不要使用当前的知识管理自己的生产服务器。使用共享主机,并按照您的托管服务的安全准则。专注于应用程序的实际Web安全性方面。

还有一件事:你在制作中没有使用内置服务器吗?

更新:您无法保护自己免受root攻击,即使可以,也可以将硬盘放在另一台计算机上。