Django 密钥泄露

Mad*_*ist 6 python django python-3.x

我想知道如果生产密钥被泄露,需要采取哪些步骤。幸运的是,情况并非如此,但还是很高兴知道。

特别是,如果简单地将旧密钥交换为新生成的密钥会发生什么?既然用于制作散列,它是否会破坏整个系统或使其不稳定?

在妥协的情况下,响应是否会像生成新密钥并将其插入生产设置一样简单?

Rei*_*ica 5

SECRET_KEY用于以下情况:

  • 所有会话,如果您使用的是 django.contrib.sessions.backends.cache 以外的任何其他会话后端,或者正在使用默认的 get_session_auth_hash()。
  • 如果您使用 CookieStorage 或 FallbackStorage,则为所有消息。
  • 所有 PasswordResetView 令牌。
  • 任何加密签名的使用,除非提供了不同的密钥。

“如果您轮换您的密钥,上述所有内容都将失效。密钥不用于用户密码,密钥轮换不会影响他们。”

您可以使用以下函数生成新密钥:

from django.core.management.utils import get_random_secret_key

print(get_random_secret_key())
Run Code Online (Sandbox Code Playgroud)

只需将打印的结果复制/粘贴到 settings.py 中即可。