2010-06-22 16 views
10

मैंने ट्रस्ट स्तरों के बारे में बहुत कुछ सुना है, क्या लोग इसे मुझे समझाने की कोशिश करते हैं लेकिन फिर भी एक परिदृश्य देने में असमर्थ हैं जिसमें मैं एक ट्रस्ट स्तर को दूसरे पर लागू करता हूं।क्या कोई मुझे एएसपी.NET ट्रस्ट स्तर समझा सकता है?

मैंने MSDN's article के माध्यम से पढ़ा है लेकिन यह मेरे लिए बहुत कुछ नहीं करता है।

क्या कोई वास्तविक दुनिया का उदाहरण प्रदान कर सकता है जब आप विभिन्न स्तरों (पूर्ण, उच्च, मध्यम, निम्न, और न्यूनतम) का उपयोग करना चाहते हैं और समझाएं कि किस तरह का सुरक्षा जोखिम मैं खुद को उजागर कर रहा हूं अगर मैं गलत इस्तेमाल करें?

उत्तर

2

This article इसे तकनीकी तकनीकी की तुलना में बहुत बेहतर समझा सकता है।

मध्यम ट्रस्ट सारांश

मुख्य माध्यम विश्वास वेब अनुप्रयोगों पर रखा बाधाओं हैं::

यहाँ यह का सबसे अच्छा हिस्सा है

  • OleDbPermission उपलब्ध नहीं है। इसका मतलब है कि आप डेटाबेस का उपयोग करने के लिए ADO.NET प्रबंधित ओएलई डीबी डेटा प्रदाता का उपयोग नहीं कर सकते हैं। हालांकि, SQL सर्वर डेटाबेस तक पहुंचने के लिए आप प्रबंधित SQL Server प्रदाता का उपयोग कर सकते हैं।

  • EventLogPermission उपलब्ध नहीं है। इसका मतलब है कि आप विंडोज इवेंट लॉग तक नहीं पहुंच सकते हैं।

  • प्रतिबिंबप्रदर्शन उपलब्ध नहीं है। इसका मतलब है कि आप प्रतिबिंब का उपयोग नहीं कर सकते हैं।

  • रजिस्ट्रीप्रमिशन उपलब्ध नहीं है। इसका मतलब है कि आप रजिस्ट्री तक नहीं पहुंच सकते हैं।

  • वेबप्रमिशन प्रतिबंधित है। इसका अर्थ यह है कि आपका आवेदन केवल तत्व में परिभाषित पते के पते या श्रेणी के साथ संवाद कर सकता है।

  • FileIOPermission प्रतिबंधित है। इसका अर्थ यह है कि आप अपने एप्लिकेशन के आभासी निर्देशिका पदानुक्रम में केवल फ़ाइलों तक पहुंच सकते हैं। आपका आवेदन पढ़ा गया है, लिखें, संलग्न करें, और अपने एप्लिकेशन की वर्चुअल निर्देशिका पदानुक्रम के लिए PathDiscovery अनुमतियां।

  • आपको अप्रबंधित कोड या एंटरप्राइज़ सेवाओं का उपयोग करने से भी रोका जा सकता है।

एक आसान वास्तविक दुनिया स्थिति की कल्पना करना तुम कहाँ की जरूरत यह है कि यदि आप एक आईएसपी भेंट लोगों के लिए होस्टिंग कर रहे हैं। किसी को कोड लिखने की अनुमति देना जो फाइल सिस्टम तक पहुंच सकता है, इसका मतलब है कि कोई भी आपके सर्वर पर जो कुछ भी चाहता है, वह कर सकता है, जो कई क्लाइंट होस्ट कर सकता है।

1

एक विशेषज्ञ नहीं होने पर, मैं ट्रस्ट के अधिक सामान्य उदाहरणों में से एक देता हूं यदि आपने किसी विक्रेता के माध्यम से एक महीने में 10 डॉलर के लिए एक साझा होस्टर के माध्यम से होस्टिंग खरीदी है, जहां आपके पास मशीन तक सीधी पहुंच नहीं है, लेकिन एक आवंटित भंडारण स्थान प्राप्त करें। इस परिदृश्य में, आपको आम तौर पर मध्यम विश्वास मिलता है क्योंकि होस्टर जो कुछ भी कर सकता है उसे सीमित करना चाहता है (सुनिश्चित करें कि आप कुछ ऐसा नहीं हटा सकते या संशोधित नहीं कर सकते हैं), और कुछ संसाधनों तक पहुंच नहीं है (जैसे कि कोशिश करें उस फ़ोल्डर के बाहर एक फ़ाइल पढ़ें जिसे आपने अनुमति दी है) और अन्य कार्य।

हमारे पास हमारी मशीन तक पूर्ण पहुंच है जहां हम एक साइट होस्ट करते हैं, और हम इसे पूर्ण विश्वास देते हैं, यह हमारे लिए एक चिंता नहीं है क्योंकि यह हमारी वेबसाइट पर समर्पित है और साझा संसाधन नहीं है।

0

ट्रस्ट स्तरों के साथ समस्या यह है कि इतने सारे प्लगइन्स को उच्च अनुमति की आवश्यकता होती है कि कुछ प्रकार के अनुप्रयोग बस इसके अंतर्गत काम नहीं करेंगे।

मैंने व्यक्तिगत रूप से क्रिस्टल रिपोर्ट्स और पीडीएफ रूपांतरण उपकरण के लिए एक HTML को मध्यम ट्रस्ट के तहत विफल कर दिया है - FileIOPermission आपके अनुप्रयोग वर्चुअल निर्देशिका के बाहर टेम्पल फ़ोल्डर के लिए आवश्यक है। मैंने कुछ ट्रस्ट स्तरों के कारण टीसीपी सॉकेट कनेक्शन को अवरुद्ध कर दिया है।

मुझे वास्तव में पिछले साल एक वेब एप्लिकेशन के साथ एक कष्टप्रद पकड़ 22 स्थिति थी जहां सुरक्षा के लिए मध्यम ट्रस्ट की आवश्यकता थी, लेकिन इवेंट लॉग को लिख रहा था!

सौभाग्य से आप सर्वर पर अपने machine.config में ट्रस्ट स्तर को ओवरराइट कर सकते हैं (यदि आपके पास इसका उपयोग है), या आपका web.config अगर आपका सर्वर मशीन.config फ़ाइल को ओवरराइट करने की अनुमति देने के लिए कॉन्फ़िगर किया गया है।

इस तरह के नुकसान को निश्चित ट्रस्ट स्तर के उद्देश्य को हरा देता है ...

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