Секретный ключ Джанго взломан - PullRequest
4 голосов
/ 27 октября 2019

Мне интересно, какие шаги нужно предпринять, если секретный ключ производства будет скомпрометирован. К счастью, это не так, но было бы хорошо знать, тем не менее.

В частности, что произойдет, если просто заменить старый ключ на новый сгенерированный? Так как он используется для создания хэшей, он разрушает всю систему или делает ее нестабильной?

В случае компромисса ответ будет таким же простым, как генерация нового ключа и вставка его в производственные настройки

1 Ответ

3 голосов
/ 27 октября 2019

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())

Просто скопируйте / вставьте распечатанные результаты в файл settings.py.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...