क्या यह ASP.NET में उत्पादन सर्वर पर Integrated Security=True
का उपयोग करने का एक बुरा अभ्यास है?क्या मुझे उत्पादन वातावरण में 'एकीकृत सुरक्षा = सही' का उपयोग करना चाहिए?
उत्तर
नहीं - पूरी तरह से सुरक्षित *
तुम सब क्या कर रहे हैं कह रही है कि आप (आमतौर पर) Windows उपयोगकर्ता की साख है कि इस प्रक्रिया के क्रम एसक्यूएल सर्वर के साथ प्रमाणित करने में के तहत चल रहा है उपयोग करने के लिए जा रहे हैं (के रूप में विरोध किया उपयोगकर्ता नाम और पासवर्ड की आपूर्ति करने के लिए)।
वास्तव में एकीकृत सुरक्षा का उपयोग सामान्य रूप से अधिक सुरक्षित माना जाता है।
(*) बेशक यह हमेशा आपकी सटीक स्थिति पर निर्भर करता है, लेकिन सामान्य मामले में हाँ ठीक है।
हम्म के लिए, क्या आपने माना है कि यह वेब सर्वर के लिए जरूरी नहीं है? यदि यह समझौता किया गया है, तो डीबेस स्टोर भी खुली है। किसी सर्वर पर पासवर्ड सुरक्षित रखना मुश्किल नहीं है, सर्वर रूम के दरवाजे पर एक ताला है। –
@ हंस जब तक आप मजाक कर रहे हों, यह एक खराब तर्क है। यदि सर्वर से समझौता किया गया है तो हमलावर के पास एसक्यूएल आधारित कनेक्शन यू/पी तक पहुंच होगी, इसलिए यह एकीकृत से बेहतर नहीं है। दोनों मामलों में हमलावर डीबी तक पहुंचने के लिए उस स्थिति से कितनी आसानी से प्राप्त कर सकता है और वे कितना कर सकते हैं विशिष्ट कॉन्फ़िगरेशन पर भिन्न होंगे। यदि आप वास्तव में उस परिदृश्य के खिलाफ सुरक्षा करना चाहते हैं तो आपके पास वेब सर्वर सीधे डीबी को मारने वाला नहीं होगा। – eglasius
@ एग्लासियस - नहीं, एक स्माइली का उपयोग नहीं किया। आप इस धारणा से काम करते हैं कि हमलावर मौजूदा कनेक्शन का उपयोग करेगा। एकीकृत सुरक्षा चालू होने पर यह * कठिन * तरीका कर रहा है। वह सिर्फ अपना कनेक्शन बना सकता है, उपयोगकर्ता नाम + पासवर्ड अनुमान लगाने में मुश्किल नहीं है। –
यह आईआईएस वेब एप्लिकेशन चलाने के लिए उपयोग किए जा रहे खाते के आधार पर एक अच्छी बात या बुरी चीज हो सकती है।
किसी भी मामले में, SQL उपयोगकर्ता आईडी और पासवर्ड कनेक्शन स्ट्रिंग में प्रकट नहीं होता है; हमेशा एक अच्छी बात है।
हालांकि, आपको अपने उत्पादन वातावरण को ध्यान से स्थापित करने की आवश्यकता है। मैं सुझाव दूंगा कि आप आईआईएस के लिए वेब एप्लिकेशन चलाने के लिए उपयोग करने के लिए एक अलग उपयोगकर्ता खाता बनाएं। उस उपयोगकर्ता खाते को आपके एप्लिकेशन द्वारा आवश्यक SQL संसाधनों तक पहुंच प्राप्त करने के लिए कॉन्फ़िगर किया जा सकता है। यह आपके वेब एप्लिकेशन की सुरक्षा से समझौता होने की स्थिति में अन्य अनुप्रयोगों से आसानी से समझौता करने से आपकी रक्षा करेगा।
मैं कहाँ प्रयोक्ता आईडी और पासवर्ड के साथ एक एसक्यूएल कनेक्शन स्ट्रिंग :-)
एक्रोबेटिक्स? एन्क्रिप्टेड एसक्यूएल कनेक्शन स्ट्रिंग के लिए समर्थन में बनाया गया है। यह विशेष रूप से मुश्किल नहीं है। – Brian
@ ब्रायन - अकेले कनेक्शन स्ट्रिंग को एन्क्रिप्ट करने के बजाय SQL खाते की अनुमतियों को लॉक करना कहीं बेहतर है। मैं एसक्यूएल एक्सेस के 100% के लिए संग्रहीत प्रक्रियाओं का उपयोग करना पसंद करता हूं और केवल उपयोगकर्ता को निष्पादित अनुमति की अनुमति देता हूं। इस तरह अगर किसी हमलावर के पास पासवर्ड होता है, तो वह एप्लिकेशन के मुकाबले कुछ भी कर सकता है। हालांकि, SQL अनुमतियों और एक एन्क्रिप्टेड कनेक्शन स्ट्रिंग दोनों का उपयोग करना सबसे अच्छा विकल्प होगा। – NightOwl888
@ NightOwl888 - मैं मानता हूं कि कई सावधानी बरतना अच्छा अभ्यास है। [कैसे करें: डेटा स्रोत नियंत्रणों का उपयोग करते समय सुरक्षित कनेक्शन स्ट्रिंग] (https://msdn.microsoft.com/en-us/library/ms178372.aspx) – myidealab
उत्तर शीर्षक सवाल का एक एन्क्रिप्टेड संसाधन से रन-टाइम में भरी हुई है कलाबाजी कर प्रोग्रामर के बारे में सुना है:
आप चाहिए उत्पादन के माहौल में कुछ भी छूएं (कम उपयोग) नहीं, जबकि आपके पास ऐसे प्रश्न या संदेह हैं!
शरीर प्रश्न के उत्तर:
उत्पादन में एसक्यूएल सर्वर पर सभी
अद्यतन SQL सर्वर प्रमाणीकरण के लिए सक्षम नहीं किया जाना चाहिए:
मैं देखना चाहता है कि सभी उत्तर संभाव्य का उपयोग हैरान हूं "इस पर निर्भर करता है", "में कुछ मामलों "," अधिक "संभावनाएं।
- 1. उत्पादन वातावरण में HSQLDB का उपयोग
- 2. अन्य वातावरण में प्रोलॉग को एकीकृत करना
- 3. क्या मुझे गिट स्थिति का विश्लेषण करना चाहिए या गिटारप का उपयोग करना चाहिए?
- 4. क्या उत्पादन में टॉमकैट देशी पुस्तकालय का उपयोग करना चाहिए?
- 5. क्या मुझे HttpRuntime.Cache का उपयोग करना चाहिए?
- 6. क्या मुझे jQuery.each() का उपयोग करना चाहिए?
- 7. क्या मुझे jQuery.inArray() का उपयोग करना चाहिए?
- 8. क्या मुझे बूटस्ट्रैप का उपयोग करना चाहिए?
- 9. मुझे क्या gacutil.exe का उपयोग करना चाहिए?
- 10. क्या मुझे एएसपी.नेट एमवीसी में एंटी-एक्सएसएस सुरक्षा रनटाइम इंजन का उपयोग करना चाहिए?
- 11. उत्पादन वातावरण में पासवर्ड सुरक्षित करना
- 12. क्या मुझे बहु-बाइट ओवरलोडिंग (mbstring.func_overload) का उपयोग करना चाहिए?
- 13. क्या मुझे उत्पादन कोड में Google के JSAPI का उपयोग करना चाहिए?
- 14. सी # लॉगिंग। मुझे क्या उपयोग करना चाहिए?
- 15. क्या मुझे इस स्थिति में ड्रोल का उपयोग करना चाहिए?
- 16. क्या मुझे जावा वेब अनुप्रयोगों में सुरक्षा प्रबंधक का उपयोग करना चाहिए?
- 17. मुझे फ्लेक्स का उपयोग क्यों करना चाहिए?
- 18. मुझे डोलॉल्स का उपयोग क्यों करना चाहिए?
- 19. लोकलहोस्ट + स्टेजिंग + उत्पादन वातावरण?
- 20. क्या मुझे जावा में क्यूटी जंबी का उपयोग करना चाहिए?
- 21. क्या मुझे पर्ल में ऑटोबॉक्स का उपयोग करना चाहिए?
- 22. क्या मुझे IntentService में वेक लॉक का उपयोग करना चाहिए?
- 23. क्या मुझे वास्तव में विदेशी कुंजी का उपयोग करना चाहिए?
- 24. रेल में, क्या मुझे जेनरेटर का उपयोग करना चाहिए?
- 25. क्या मुझे जावास्क्रिप्ट में बहुरूपता का उपयोग करना चाहिए?
- 26. मेरे composer.json फ़ाइल को उत्पादन वातावरण में कैसा दिखना चाहिए?
- 27. क्या मुझे एम या पीएक्स का उपयोग करना चाहिए?
- 28. मुझे क्या करना चाहिए?
- 29. PHP: memory_get_peak_usage (false), मुझे कब सही उपयोग करना चाहिए?
- 30. सी # मुझे सूची का उपयोग कब करना चाहिए और मुझे सरणीसूची का उपयोग कब करना चाहिए?
क्या यह कॉन्फ़िगरेशन फ़ाइल में कनेक्शन स्ट्रिंग के लिए है? – slugster
हाँ कॉन्फ़िगरेशन फ़ाइल – user441365