मैं सोच रहा हूं कि उत्पादन गुप्त कुंजी से समझौता होने पर किसी को क्या कदम उठाने होंगे। सौभाग्य से, ऐसा नहीं है, लेकिन फिर भी यह जानना अच्छा होगा।

विशेष रूप से, क्या होता है यदि कोई पुरानी कुंजी को नए जेनरेट की गई कुंजी में बदल देता है? चूंकि इसका उपयोग हैश बनाने में किया जाता है, क्या यह पूरे सिस्टम को तोड़ देता है या इसे अस्थिर कर देता है?

एक समझौते के मामले में, क्या प्रतिक्रिया एक नई कुंजी उत्पन्न करने और इसे उत्पादन सेटिंग्स में डालने के समान सरल होगी?

6
MadPhysicist 27 अक्टूबर 2019, 06:15

1 उत्तर

SECRET_KEY का उपयोग निम्न के लिए किया जाता है:

  • सभी सत्र यदि आप django.contrib.sessions.backends.cache के अलावा किसी अन्य सत्र बैकएंड का उपयोग कर रहे हैं, या डिफ़ॉल्ट get_session_auth_hash() का उपयोग कर रहे हैं।
  • सभी संदेश यदि आप कुकी स्टोरेज या फ़ॉलबैकस्टोरेज का उपयोग कर रहे हैं।
  • सभी PasswordResetView टोकन।
  • क्रिप्टोग्राफ़िक हस्ताक्षर का कोई भी उपयोग, जब तक कि कोई भिन्न कुंजी प्रदान नहीं की जाती है।

"यदि आप अपनी गुप्त कुंजी घुमाते हैं, तो उपरोक्त सभी अमान्य हो जाएंगे। उपयोगकर्ताओं के पासवर्ड के लिए गुप्त कुंजी का उपयोग नहीं किया जाता है और कुंजी रोटेशन उन्हें प्रभावित नहीं करेगा।"

नई कुंजी बनाने के लिए आप निम्न फ़ंक्शन का उपयोग कर सकते हैं:

from django.core.management.utils import get_random_secret_key

print(get_random_secret_key())

बस प्रिंट किए गए परिणामों को अपनी settings.py में कॉपी/पेस्ट करें।

5
Lord Elrond 27 अक्टूबर 2019, 07:02