2009-07-08 9 views
5

अस्थायी एएसपी.NET फ़ाइलें फ़ोल्डर में अपर्याप्त अनुमतियों के कारण मुझे असेंबली बाध्यकारी विफलताओं का सामना करना पड़ रहा है।क्या उपयोगकर्ता अस्थायी ASP.NET फ़ाइलों फ़ोल्डर को अनुमतियां लिखता है किसी भी सुरक्षा समस्या उत्पन्न करता है?

एप्लिकेशन का उपयोग करता है (web.config) Impersonate = True और IIS Windows एकीकृत प्रमाणीकरण के साथ प्रपत्र प्रमाणीकरण का उपयोग करता है।

ASP.NET Identity Matrix के अनुसार, इसका मतलब है कि WindowsIdentity डोमेन \ उपयोगकर्ता नाम पर हल हो जाती है और ASP.NET Required Access Control Lists (ACLs) के अनुसार, WindowsIdentity को अस्थायी ASP.NET फ़ाइलें फ़ोल्डर को पढ़ने/लिखने की अनुमति की आवश्यकता होती है।

फ़्यूज़न लॉग व्यूअर का उपयोग करके, मैं पुष्टि कर सकता हूं कि असेंबली बाध्यकारी विफलता डोमेन \ उपयोगकर्ता नाम (सुरक्षा में "उपयोगकर्ता" समूह से संबंधित) के कारण है, केवल इस फ़ोल्डर को पढ़ने की अनुमति है, लेकिन अनुमतियां नहीं लिखती हैं।

प्रश्न हैं:

वहाँ अस्थायी ASP.Net फ़ाइलें फ़ोल्डर पर लिखने की अनुमति देने की किसी भी सुरक्षा के प्रभाव हैं?

क्या ऐसे सर्वर कॉन्फ़िगरेशन परिवर्तन आमतौर पर उपयोग किए जाते हैं? यदि नहीं, तो WebIconfig सेटिंग्स के इस संयोजन के लिए WindowsIdentity डोमेन \ UserName को क्यों हल करेगा - या इस संयोजन में इस संयोजन का उपयोग नहीं किया जाना चाहिए?

नोट: समस्या केवल तब होती है जब कोई गैर-व्यवस्थापक उपयोगकर्ता पृष्ठ को हिट करने वाला पहला व्यक्ति होता है। अगर असेंबली को पहले ही संकलित और अस्थायी एएसपी.नेट फाइलों में संग्रहीत किया गया है, तो व्यवस्थापक उपयोगकर्ता पृष्ठ पर क्लिक करने के कारण, बाद के उपयोगकर्ताओं के लिए कोई समस्या नहीं है। मैं जीएसी में असेंबली नहीं रखना चाहता हूं।

+0

क्या यह आईआईएस 6 या आईआईएस 7 है? – Kev

उत्तर

1

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

यह MSDN article about securing ASP.NET applications एएसपी.NET प्रक्रिया पहचान में अस्थायी संकलन निर्देशिका को पूर्ण नियंत्रण प्रदान करने की सिफारिश करता है। मैं प्रासंगिक अनुभाग उद्धृत किया है:

डिफ़ॉल्ट रूप से, अस्थायी फ़ाइलों को बनाया है और निम्न निर्देशिका में संकलित किए जाते हैं:

% winnt% \ Microsoft.NET \ फ्रेमवर्क {version} \ अस्थायी ASP.NET फ़ाइलें

आप tempDirectory विशेषता का उपयोग कर प्रति आवेदन आधार पर स्थान निर्दिष्ट कर सकते हैं, हालांकि इससे कोई सुरक्षा लाभ नहीं मिलता है।

नोट तत्व पर निर्दिष्ट एएसपी.NET प्रक्रिया पहचान अस्थायी संकलन निर्देशिका पर पूर्ण नियंत्रण पहुंच अधिकारों की आवश्यकता है।

+0

(आपको लिंक के सामने "msdn" जोड़ने की आवश्यकता है।) हां, लेकिन इस मामले में, web.config सेटिंग्स का अर्थ है कि DOMAIN \ उपयोगकर्ता (कॉन्फ़िगरेशन प्रतिरूपण) को लेखन पहुंच की आवश्यकता होती है और सवाल विशेष रूप से था यह क्या सुरक्षा प्रभाव हो सकता है। एएसपी.NET प्रक्रिया इस असेंबली बाध्यकारी के हिस्से के रूप में नहीं लग रही है। –

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