2012-04-17 19 views
14

मैं एक कस्टम सर्वर एप्लिकेशन विकसित कर रहा हूं जो डेटाबेस तक पहुंच जाएगा। मुझे यह तय करने की ज़रूरत है कि मैं उस सर्वर पर क्रेडेंशियल्स (और पता) कहां स्टोर करूंगा।डेटाबेस पासवर्ड संग्रहीत करने के लिए सर्वोत्तम अभ्यास

एक सामान्य समाधान कॉन्फ़िगरेशन फ़ाइल में क्रेडेंशियल रखना है। हालांकि, मैं नहीं चाहता कि एक समझौता सर्वर का मतलब है कि हैकर के पास डीबी तक पहुंच है (जिसे एक अलग सर्वर पर होस्ट किया गया है)।

मैं पर्यावरण में प्रमाण-पत्र स्टोर कर सकता हूं, लेकिन यह अस्पष्टता के माध्यम से केवल सुरक्षा है। श्री एविल इसे खोजने के लिए पर्यावरण में देख सकते हैं।

किसी ने एन्क्रिप्शन का सुझाव दिया। हालांकि, अगर मैं निष्पादन योग्य में कुंजी संग्रहीत करता हूं, तो एक त्वरित डी-संकलन (हम जावा का उपयोग कर रहे हैं) और मैं अभी भी बर्बाद हो गया हूं।

मैं भी सर्वर शुरू करने पर हर बार एक पैराफ्रेश दर्ज करने से बचना चाहता हूं।

कोई सुझाव? मुझे लगता है कि मुझे कुछ आसान याद आ रहा है।

धन्यवाद

+2

तो आप अपने आवेदन साख के लिए उपयोग लेकिन एक हैकर जो कि मशीन के लिए रूट पहुँच गया है पहुँच से मना किया जा करने के लिए करना चाहते हैं? – liquorvicar

+1

आप एक ** पदबंध ** हर बार जब आप सर्वर प्रारंभ तो श्री ईविल तो या तो काम नहीं चलेगा, जो सर्वर भौतिक स्थान उपयोग कर सकते है में सक्षम हो जाएगा के उपयोग के साथ किसी को भी इसका मतलब नहीं डालते हैं तो। – byrondrossos

उत्तर

5

मुझे नहीं लगता कि आप कुछ आसान याद कर रहे हैं। या तो प्रश्न में सर्वर आपकी सहायता के बिना डेटाबेस से कनेक्ट हो सकता है, इस स्थिति में में प्रमाण-पत्र हैं; या यह आपकी आपूर्ति के बिना कनेक्ट नहीं कर सकता है। आप एक समझौता सर्वर के लिए डेटाबेस को प्रमाण पत्र प्रकट करने के लिए कठिन बनाने के लिए सूचीबद्ध किए गए विभिन्न चरणों को ले सकते हैं, लेकिन दिन के अंत में, यदि उसे उन प्रमाण-पत्रों और उन्हें आपूर्ति करना है कनेक्ट करने के लिए डीबी सर्वर, उन्हें कहीं भी   — पर संग्रहीत करना होगा या कम से कम, उन्हें प्राप्त करने के कुछ साधन होंगे, और इसलिए उस अर्थ में हैकबल होगा।

आपकी सबसे अच्छी शर्त है कि जितनी जल्दी हो सके घुसपैठ (समझौता सर्वर) के बारे में पता लगाने, अच्छे ऑफ-साइट को रखने, सबसे खराब मामले के लिए ऑफ़लाइन बैकअप, पहली जगह घुसपैठ के लिए कई बाधाएं डालने पर ध्यान केंद्रित करना है। , आदि

3

मैं साझा कर रहा हूं, जिस तरह से मैंने इसे हल किया था।

  • एक विदेशी डोमेन से प्रमाणीकरण विवरण पूछने के लिए एपीआई बनाएं।
  • विवरण के माध्यम से पढ़ने के लिए सार्वजनिक कुंजी और निजी कुंजी का उपयोग करें।

लेकिन, ईमानदारी से यह एकमात्र चीज जटिल जटिल चीजों पर थी। इसके बाद, मैंने विभिन्न विशेषाधिकारों के साथ डेटाबेस में कई उपयोगकर्ताओं को बनाया।

  • guest तरह

    कर सकते हैं केवल करने के लिए SELECT

  • mod केवल CREATE, INSERT, UPDATE, DELETE

आदि और उपयोगकर्ता, जब भी प्रमाणीकृत उपयोगकर्ताओं दिखाई दिया बंद।

उपयोगकर्ताओं और सत्र के संयोजन के साथ, मैं अब तक खतरों से बचने में सक्षम हूं।लेकिन कोड भेद्यता के बारे में अच्छी तरह से परीक्षण किया जाना चाहिए।

2

इसे लॉक करें। श्री ईविल को रूट प्राप्त करने से रोकें। मुझे पता है, आसान है?

एक सुरक्षित एप्लिकेशन लिखें और अपना एप्लिकेशन सर्वर लॉक रखें। वहां सर्वोत्तम प्रथाओं का पालन करें, और यह अधिकांश काम है।

जब मैं एक सुरक्षित वातावरण में सेटअप डेटाबेस है, केवल सर्वर है कि डाटाबेस सर्वर के साथ ही शारीरिक नेटवर्क पर था अनुप्रयोग सर्वर था।

  1. आवेदन सर्वर
  2. कंसोल

इसलिए, डेटाबेस सर्वर के साथ समझौता करने में, वे आवेदन सर्वर समझौता करना होगा: वहाँ डेटाबेस सर्वर तक पहुंचने के दो तरीके थे।

तो, आवेदन सर्वर पर ताला लगा। बेशक समझौता करने से भी बदतर एक चीज समझौता किया जा रहा है और इसके बारे में नहीं जान रहा है। यदि आप एक समझौता खोजते हैं, तो यदि कोई था तो आपको भेद्यता को ठीक करने की आवश्यकता है। फोरेंसिक यहां महत्वपूर्ण हैं (लॉग सक्षम करें और उन्हें मॉनीटर करें)। आपको जगह पर रिकवरी प्लान की भी आवश्यकता है।

रोकथाम, पहचान, सुधार, और वसूली सर्वोपरि हैं।

संबंधित मुद्दे

 संबंधित मुद्दे