ruby on rails 3 सबसे सुरक्षित संभव डेविस कॉन्फ़िगरेशन क्या है?




ruby-on-rails-3 security (2)

मिर्च : हाँ आप सही हैं। यदि आप नमक का उपयोग कर रहे हैं तो मिर्च के साथ बहुत अधिक सुरक्षा प्राप्त नहीं की जाती है।

खिंचाव: 12 उचित है, हालांकि bcrypt केवल स्थिर समय सुनिश्चित करता है। आपको नए स्क्रिप का उपयोग करने पर विचार करना चाहिए क्योंकि यह आपको निरंतर समय और उपयोग करने के लिए स्मृति की मात्रा दोनों निर्दिष्ट करने की अनुमति देता है। Cryptyograhpically bcrypt और scrypt एक ही के बारे में हैं, लेकिन scrypt क्रूर मजबूर मजबूर बनाता है।

पासवर्ड की लंबाई : किसी भी प्रकार के पासवर्ड नियमों को मजबूर करने से पासवर्ड की एंट्रॉपी कम हो जाती है। एकमात्र प्रतिबंध न्यूनतम लंबाई होना चाहिए और कई अध्ययनों ने कम से कम 8 वर्णों का सुझाव दिया है।

एसएसएल कुकीज़ : यदि आप कर सकते हैं तो उनका उपयोग करें। सुरक्षा हमेशा शुरुआत से बनाई जानी चाहिए और बाद में नहीं जोड़ा जाना चाहिए। आप कभी भी यह सुनिश्चित नहीं कर सकते कि कौन सा आंतरिक नेटवर्क आपको स्नीफ कर सकता है। सिर्फ इसलिए कि आप मानते हैं कि कोई बाहरी व्यक्ति डेटा को स्नीफ नहीं कर सकता है, इसका मतलब यह नहीं है कि कर्मचारियों के अंदर एक कारण या किसी अन्य कारण के लिए नहीं होगा। आपके कर्मचारियों को एक-दूसरे के साथ-साथ बाहरी खतरों से बचाने की ज़िम्मेदारी है।

मैं संवेदनशील जानकारी के साथ काम करने के लिए हमारी कंपनी में एक कर्मचारी-केवल रेल आवेदन स्थापित करना शुरू कर रहा हूं। फ़ायरवॉल, भौतिक सुरक्षा उपायों आदि होंगे। मेरी चिंता अभी आवेदन के लिए लॉगिन प्रक्रिया है।

मैं प्रमाणीकरण के लिए डेविस का उपयोग करना चाहता हूं। Devise के लिए सबसे सुरक्षित संभव कॉन्फ़िगरेशन क्या है?

मुझे लगता है कि मैं निम्नलिखित करूँगा:

  • असफल लॉगिन प्रयासों की एक छोटी संख्या के बाद खातों को लॉक करें
  • config.paranoid उपयोग करें ताकि हमलावर यह नहीं बता सके कि उन्होंने एक वैध ईमेल पता अनुमान लगाया है या नहीं
  • शायद ईमेल द्वारा पासवर्ड रीसेट अक्षम करें?

devise.rb में devise.rb से उद्धरण के साथ, कुछ विशिष्ट चीजों के बारे में मुझे अनिश्चितता है:

  • काली मिर्च। डेविस के पास "एन्क्रिप्टेड पासवर्ड उत्पन्न करने के लिए एक काली मिर्च सेट अप करने का विकल्प है ।" मेरी समझ यह है कि यह एक एकल, ऐप-विशिष्ट मान है जो "पासवर्ड 123" जैसे पासवर्ड "पासवर्ड 123" (! @ Akdlwekdf "या" *%! Kd39gpassword123 "या जो भी पहले हैशिंग में बदल जाता है। यह विफल होना है इंद्रधनुष टेबल हमले, लेकिन इस आलेख से मेरी समझ यह है कि यह प्रति-पासवर्ड अद्वितीय नमक के रूप में उतना अच्छा नहीं है। फिर फिर, यह आलेख और यह पेपर कहता है कि बीक्रिप्ट में लवण का निर्माण होता है। क्या ब्रिप्रिप के साथ एक काली मिर्च का उपयोग वास्तव में कुछ भी जोड़ता है? क्या मैं, और नमक कॉलम रखने की कोई ज़रूरत है?
  • खिंचाव "Bcrypt के लिए, यह पासवर्ड हैशिंग 10 और 10 के लिए लागत है।" इस सवाल के आधार पर, मैं 12 के कार्य कारक का उपयोग करने की सोच रहा हूं। क्या यह उचित लगता है?
  • पासवर्ड की लंबाई एक लंबा पासवर्ड सामान्य रूप से अधिक सुरक्षित लगता है, लेकिन मैं नहीं चाहता कि यह इतना कठिन हो कि उपयोगकर्ता इसे कागज के टुकड़े पर कहीं लिखता है। यदि हम bcrypt का उपयोग कर रहे हैं तो क्या पासवर्ड की लंबाई बहुत अधिक है?
  • एसएसएल कुकीज़ । एसएसएल सक्षम के साथ सार्वजनिक ऐप्स के लिए, कुकीज़ को चिह्नित करना "यह केवल HTTPS पर प्रसारित किया जा सकता है" Firesheep स्टाइल हमलों के खिलाफ सुरक्षा करता है। लेकिन मुझे यकीन नहीं है कि एक आंतरिक ऐप के लिए सुरक्षा प्रमाण पत्र कितना समझ में आता है। क्या वह मूर्ख है?

मैं और क्या भुल रहा हूं?


पासवर्ड के लिए, आप https://github.com/bitzesty/devise_zxcvbn चेकआउट कर सकते हैं जो कमजोर एंट्रॉपी वाले पासवर्ड को अस्वीकार करता है, और ज्ञात क्रैक किए गए पासवर्ड के विरुद्ध जांच करता है।





bcrypt