我使用的是带有PostgreSQL 12远程服务器的Django 3.08。我已经搜索了Postgres和Django的文档,但没有找到关于Django如何/是否加密我的应用程序和dB之间的流量的讨论。
在我看来,根据PostgreSQL中的设置,流量在PostgreSQL中默认使用md5加密进行加密,并通过tcp通过端口5432发送。据我所知,md5不再是足够的加密。然而,从PostgreSQL 10开始,PostgreSQL已经支持scram-Sha-256。有谁知道或者有一个参考,我可以在哪里设置我的应用程序使用更强的加密,或者如果我在我的网站上设置所有流量使用settings.py文件中的https,这一切都会得到处理吗?或者,如果我在PostgreSQL中更改设置,Django会使用scram-Sha 256吗?
发布于 2020-07-25 23:36:31
md5和scram-sha-256用于基于密码的身份验证,而不是用于加密。虽然密码交换本身对于窃听连接的人来说是明文不可读的,但其余的数据(查询和结果)仍然是可读的,并且在会话被劫持时是可更改的。
加密是由ssl (常见的)实现的,或者在最近的版本中可能是通过与GSSAPI身份验证绑定的加密实现的(我认为这种情况很少见)。
当然,对于服务器和the client,引用应该是the documentation (据我所知,Django使用psycopg2,而libpq又使用libpq)
https://stackoverflow.com/questions/63077477
复制相似问题