Pēt*_*une 2 python database security django postgresql
我正在使用 Postgres 数据库运行 Django。除了应用程序级别的安全检查,我正在考虑添加数据库级别的限制。例如,应用程序代码应该只能插入日志表,而不能从日志表中更新或删除。
我会为此手动创建具有适当授权的数据库用户。我还需要一个更强大的用户来运行数据库迁移。
我的问题是,人们会练习这样的事情吗?关于在 Django 中使用受限数据库用户的任何建议和最佳实践?
编辑:澄清一下,没有技术问题,我只是想听听其他人的经验和外卖。Django 特有的一件事是,我至少需要两个数据库用户:用于正常操作和运行迁移。我在哪里存储更多特权用户的凭据?也许manage.py migrate提示输入密码?
至于推理,假设我的应用程序存在 SQL 注入漏洞。使用特权用户,攻击者可以执行诸如删除所有表之类的操作。对于更有限的用户,潜在的损害稍微小一些,然后在仅插入日志表中有一些证据。
我尝试解决这个问题的方法是:
./manage.py migrate --database=master话虽如此,如果你有一个漏洞,比如 SQL 注入,即使是一个可以阅读的用户,也已经是一场灾难。如果你有数据库备份设置,你不应该担心丢失/损坏的数据,你应该担心数据泄漏!
另一方面,所提出的问题可能还有其他用例。
| 归档时间: |
|
| 查看次数: |
997 次 |
| 最近记录: |