यह एक बहुत अच्छा सवाल है और दुख की बात है कि कई डेवलपर वेब डेवलपर होने और IIS स्थापित करने के संदर्भ में IIS / ASP.NET सुरक्षा के बारे में पर्याप्त प्रश्न नहीं पूछते हैं। तो यहाँ जाता है…।
सूचीबद्ध पहचान को कवर करने के लिए:
IIS_IUSRS:
यह पुराने IIS6 IIS_WPG
समूह के अनुरूप है । यह बिल्ट-इन ग्रुप है जिसके साथ यह सिक्योरिटी कॉन्फिगर है जैसे कि इस ग्रुप का कोई भी सदस्य एप्लीकेशन पूल आइडेंटिटी के रूप में काम कर सकता है।
IUSR:
यह खाता पुराने के अनुरूप है IUSR_<MACHINE_NAME>
स्थानीय खाते के IIS5 और IIS6 वेबसाइटों के लिए डिफ़ॉल्ट अनाम उपयोगकर्ता था (अर्थात साइट के गुणों की निर्देशिका सुरक्षा टैब के माध्यम से कॉन्फ़िगर किया गया)।
अधिक जानकारी के लिए IIS_IUSRS
और IUSR
देखें:
IIS 7 में अंतर्निहित उपयोगकर्ता और समूह खातों को समझना
DefaultAppPool:
यदि एप्लिकेशन पूल पहचान एप्लिकेशन पूल आइडेंटिटी फीचर का उपयोग करके चलाने के लिए कॉन्फ़िगर किया गया है, तो एक "संश्लेषित" खाता जिसे IIS AppPool\<pool name>
पूल पर पूल पहचान के रूप में उपयोग करने के लिए बनाया जाएगा। इस मामले में एक संश्लेषित खाता होगा जिसे IIS AppPool\DefaultAppPool
पूल के जीवन काल के लिए बनाया गया है। यदि आप पूल को हटाते हैं तो यह खाता मौजूद नहीं रहेगा। फ़ाइलों और फ़ोल्डरों के लिए अनुमतियाँ लागू करते समय इनका उपयोग करके जोड़ा जाना चाहिए IIS AppPool\<pool name>
। आप अपने कंप्यूटर उपयोगकर्ता प्रबंधक में इन पूल खातों को नहीं देखेंगे। अधिक जानकारी के लिए निम्नलिखित देखें:
आवेदन पूल पहचान
ASP.NET v4.0:
-
यह ASP.NET v4.0 एप्लीकेशन पूल के लिए एप्लीकेशन पूल आइडेंटिटी होगा। ऊपर देखें DefaultAppPool
।
NETWORK SERVICE:
-
NETWORK SERVICE
खाता एक अंतर्निहित Windows 2003 को शुरू की पहचान है।NETWORK SERVICE
एक कम विशेषाधिकार प्राप्त खाते है जिसके तहत आप अपने आवेदन पूल और वेबसाइटों चला सकते है। Windows 2003 पूल में चलने वाली वेबसाइट अभी भी साइट के अनाम खाते (IUSR_ या जिसे आपने अनाम पहचान के रूप में कॉन्फ़िगर किया है) का उपयोग कर सकती है।
ASP.NET में Windows 2008 से पहले आप ASP.NET अनुप्रयोग पूल खाते (आमतौर पर NETWORK SERVICE
) के तहत अनुरोध निष्पादित कर सकते थे । वैकल्पिक रूप से आप स्थानीय रूप <identity impersonate="true" />
से web.config
फ़ाइल में सेटिंग के माध्यम से साइट के बेनामी खाते को लगाने के लिए ASP.NET को कॉन्फ़िगर कर सकते हैं (यदि वह सेटिंग बंद है तो इसे किसी व्यवस्थापक द्वारा करने की आवश्यकता होगीmachine.config
फ़ाइल )।
<identity impersonate="true">
साझा होस्टिंग वातावरण में सेटिंग आम है जहां साझा किए गए एप्लिकेशन पूल का उपयोग किया जाता है (प्रतिरूपण खाते को बंद करने से रोकने के लिए आंशिक ट्रस्ट सेटिंग्स के साथ संयोजन में)।
IIS7.x / ASP.NET में प्रतिरूपण नियंत्रण अब किसी साइट के प्रमाणीकरण कॉन्फ़िगरेशन सुविधा के माध्यम से कॉन्फ़िगर किया गया है। तो आप पूल पहचान, IUSR
या एक विशिष्ट कस्टम अनाम खाते के रूप में चलाने के लिए कॉन्फ़िगर कर सकते हैं।
LOCAL SERVICE:
LOCAL SERVICE
खाता एक अंतर्निहित सेवा नियंत्रण प्रबंधक द्वारा इस्तेमाल किया खाता है। इसमें स्थानीय कंप्यूटर पर विशेषाधिकारों का न्यूनतम सेट है। इसके उपयोग की काफी सीमित गुंजाइश है:
स्थानीय सेवा खाता
LOCAL SYSTEM:
आपने इस बारे में नहीं पूछा, लेकिन मैं पूर्णता के लिए जोड़ रहा हूं। यह एक स्थानीय बिल्ट-इन खाता है। इसमें काफी व्यापक विशेषाधिकार और विश्वास है। इस पहचान के तहत चलने के लिए आपको कभी भी वेबसाइट या एप्लिकेशन पूल को कॉन्फ़िगर नहीं करना चाहिए।
स्थानीय प्रणाली खाता
प्रयोग में:
एक वेबसाइट हासिल करने के लिए पसंदीदा दृष्टिकोण का अभ्यास करें (यदि साइट को अपना आवेदन पूल मिलता है - जो कि IIS7 के एमएमसी में एक नई साइट के लिए डिफ़ॉल्ट है) के तहत चलना है Application Pool Identity
। इसका अर्थ है कि साइट की पहचान को उसके अनुप्रयोग पूल की उन्नत सेटिंग में सेट करना Application Pool Identity
:
वेबसाइट में आपको तब प्रमाणीकरण सुविधा को कॉन्फ़िगर करना चाहिए:
अनाम प्रमाणीकरण प्रविष्टि पर राइट क्लिक करें और संपादित करें:
सुनिश्चित करें कि "एप्लिकेशन पूल पहचान" चयनित है:
जब आप फ़ाइल और फ़ोल्डर अनुमतियों को लागू करने के लिए आते हैं, तो आप एप्लिकेशन पूल पहचान को मंजूरी देते हैं जो भी अधिकार आवश्यक हैं। उदाहरण के लिए यदि आप ASP.NET v4.0
पूल अनुमतियों के लिए आवेदन पूल पहचान दे रहे हैं तो आप एक्सप्लोरर के माध्यम से ऐसा कर सकते हैं:
"चेक नाम" बटन पर क्लिक करें:
या आप ICACLS.EXE
उपयोगिता का उपयोग करके ऐसा कर सकते हैं :
icacls c: \ wwwroot \ mysite / अनुदान "IIS AppPool \ ASP.NET v4.0" :( CI) (OI) (M)
... या ... यदि आप साइट के एप्लिकेशन पूल को कहते हैं BobsCatPicBlog
तो:
icacls c: \ wwwroot \ mysite / अनुदान "IIS AppPool \ BobsCatPicBlog" :( CI) (OI) (M)
मुझे उम्मीद है कि इससे स्पष्ट बातें सामने आएंगी।
अपडेट करें:
मैं 2009 के इस उत्कृष्ट उत्तर से टकरा गया, जिसमें उपयोगी जानकारी का एक समूह है, अच्छी तरह से पढ़ने लायक है:
'स्थानीय प्रणाली' खाते और 'नेटवर्क सेवा' खाते के बीच अंतर?