در این
قسمت بیشتر یک سری از ماژولها را به شما در قالب جداول
گروه بندی شده معرفی خواهیم کرد :
همانطور که در قسمتهای قبلی گفتیم سرور IIS آماده خصوصی سازی و کار بر اساس علائق شماست؛ ولی توجه داشته باشید حذف
تمامی ماژولها ممکن است اثرات جانبی هم داشته باشد. در اینجا ما ماژول هایی را به
شما معرفی میکنیم که بدانید کار هر ماژول چیست تا مثلا با حذف ماژولی، امنیت وب سایت
خود را به خطر نیندازید :
ماژولهای
سودمند یا utility
نام
ماژول: | UriCacheModule |
توضیح: | این ماژول نوعی کش برای URLها به شمار میرود. موقعی که url درخواست میشود، اطلاعات در اولین درخواست خوانده شده و کش میشود و اگر دوباره همان url درخواست شود، بدون خواندن تنظیمات و بر اساس تنظیمات قبلی، کار url مربوطه را انجام میدهد تا اطلاعات پیکربندی تغییر کند و بر اساس اطلاعات جدید، خود را به روز کند. |
تگ قابل
پیکربندی: | لازم ندارد |
وابستگی: | ندارد |
اثرات
حذف آن: | کارایی سیستم کاهش مییابد و سیستم مجبور است برای هر درخواست فایل پیکربندی را بخواند. |
نام
ماژول : | FileCacheModule |
توضیح : | فایل هندلِ فایلهایی که قبلا در سرور باز شدهاند را کش میکند تا در صورت نیاز در دفعات بعدی سریعتر عمل کند. |
تگ قابل
پیکربندی : | لازم ندارد . |
وابستگی : | ندارد. |
اثرات
حذف آن : | کارایی سیستم کاهش مییابد. سیستم در هر اجرای دستور مربوط به فایلها باید فایل هندل را به دست آورد. |
نام
ماژول : | TokenCacheModule |
توضیح : | توکنهای امنیتی ویندوز که پسوردهایی بر اساس authentication schemes هستند را کش میکند (anonymous authentication, basic authentication, IIS client certificate authentication ) |
تگ قابل
پیکربندی : | لازم ندارد |
وابستگی : | ندارد |
اثرات
حذف آن : | کارایی سیستم به شدت پایین میآید. کاربر باید با هر درخواستی لاگین کند. یکی از اصلیترین ضربهها با حذف این ماژول این است که اگر مثلا یک پسورد از یک فایل html محافظت میکند و این صفحه به 50 تصویر ارجاع دارد، 51 بار باید درخواست لاگین اجرا گردد یا شاید هم بدتر |
MANAGED
ENGINE: ASP.NET INTEGRATION
نام
ماژول : | ManagedEngine |
توضیح : | مدیریت ماژولهای native و مدیریت شده |
تگ قابل
پیکربندی : | |
وابستگی : | ندارد |
اثرات
حذف آن : | مشخصا غیرفعال شدن asp.net integrated و غیر فعال شدن تمامی ماژولها و هندلرهای تگ وب کانفیگ یا داخل فایل کانفیگ IIS که در مقالات قبلی به تفصیل بیان کردهایم. |
IIS 7
NATIVE MODULES
نام
ماژول : | HttpCacheModule |
توضیح : | مدیریت کش خروجی در htttp.sys بر اساس پیکربندی مثل تعریف سایز کش و ... |
تگ قابل
پیکربندی : | System.webServer/caching |
وابستگی : | ندارد. |
اثرات
حذف آن : | محتوا دیگر به صورت کرنل مد، کش نمیشود و کش پروفایل هم ندید گرفته میشود و احتمالا بر کارآیی و استفاده از منابع هم اثر میگذارد. |
نام
ماژول : | DynamicCompressionModule |
توضیح : | پیاده سازی in-memory compression در محتوای پویا |
تگ قابل
پیکربندی : | system.webServer/httpCompression
and system.webServer/urlCompression. |
وابستگی : | وابستگی ندارد چرا که به طور پیش فرض غیرفعال است. |
نام
ماژول : | StaticCompressionModule |
توضیح : | پیادسازی فشرده سازی در محتوای ایستا و برای فایلهای سیستمی از نوع in memory |
تگ قابل
پیکربندی : | system.webServer/httpCompression
and system.webServer/urlCompression |
وابستگی : | ندارد. |
اثرات
حذف آن : | در صورت عدم فشرده سازی بر مصرف ترافیک تاثیر گذار است. |
نام
ماژول : | DefaultDocumentModule |
توضیح : | پیاده سازی یک لیست سند پیش فرض. درخواستها مدام پشت سر هم میآیند و این درخواستهای پشت سرهم، به سند پیش فرض هدایت میشوند. همان پنجره ای که شما به ترتیب فایلهای index.htm,index.asp,default.aspx و... را تعیین میکنید. |
تگ قابل
پیکربندی : | system.webServer/defaultDocument |
وابستگی : | ندارد. |
اثرات
حذف آن : | درخواست را به ریشه هدایت میکند. مثلا برای localhost صفحه 404 باز میگرداند و اگر directoryBrowsing فعال باشد لیستی از دایرکتوری ریشه را باز میگرداند. |
نام
ماژول : | DirectoryListingModule |
توضیح : | پیادی سازی لیستی از محتویات یک دایرکتوری |
تگ قابل
پیکربندی : | system.webServer/directoryBrowse |
وابستگی : | ندارد. |
اثرات
حذف آن : | اگر این ماژول و ماژول قبلی غیرفعال باشند response نهایی خالی است. |
نام
ماژول : | ProtocolSupportModule |
توضیح : | پیاده سازی اختصاصی از response header پیاده سازی تنظیمات trace و HTTP verbs. پیاده سازی تنظیمات مربوطه به keep-alive بر اساس پیکربندی |
تگ قابل
پیکربندی : | system.webServer/httpProtocol |
وابستگی : | ندارد. |
اثرات
حذف آن : | بازگرداندن پیام خطای "405 Method not allowed". |
نام
ماژول : | HttpRedirectionModule |
توضیح : | پیاده سازی عملیات انتقال یا redirect |
تگ قابل
پیکربندی : | system.webServer/httpRedirect |
وابستگی : | ندارد. |
اثرات
حذف آن : | خطر امنیتی: اگر منابعی با redirect کردن محافظت میشوند، از این پس در دسترسند. |
نام
ماژول : | ServerSideIncludeModule |
توضیح : | حمایت از فایل shtm یا shtml و ... |
تگ قابل
پیکربندی : | system.webServer/serverSideInclude |
وابستگی : | ندارد. |
اثرات
حذف آن : | این فایلها به صورت متنی نمایش داده میشوند |
نام
ماژول : | StaticFileModule |
توضیح : | فایلهای ایستا را به همراه پسوند ارسال میکند. مثل jpg,html و نوع محتوا را بر اساس staticContent/mimeMap پیکربندی میکند. |
تگ قابل
پیکربندی : | system.webServer/staticContent |
وابستگی : | ندارد. |
اثرات
حذف آن : | فایلهای ایستا دیگر ارائه نشده و به جای آن خطای 404 بازگشت داده میشود. |
نام
ماژول : | AnonymousAuthenticationModule |
توضیح : | پیاده سازی سیستم شناسایی افراد ناشناس. همانطور که میدانید در یک وب سایت حداقل محتوایی برای افرادی بدون داشتن اکانت هم وجود دارد. برای اینکار یک شیء httpuser ایجاد میکند. |
تگ قابل
پیکربندی : | system.webServer/security/authentication/anonymousAuthentication |
وابستگی : | ندارد. |
اثرات
حذف آن : | حداقل باید یک سیستم امنیتی برای شناسایی یا authenticate وجود داشته باشد. httpuser یک ساختار داده ای در IIS میباشد و در صورت نبودن هیچ سیستم شناسایی وجود نداشته و در نبود شیء httpuser سیستم خطای 401.2 را تولید میکند. |
نام
ماژول : | CertificateMappingAuthenticationModule |
توضیح : | مجوز SSL را به Active Directory نگاشت میکند. |
تگ قابل
پیکربندی : | system.webServer/security/authentication/clientCertificateMappingAuthentication |
وابستگی : | برای اینکه این ماژول وظیفه خود را انجام دهد باید تنظیمات SSL انجام شود و همچنین سیستم IIS جزئی از دامنه Active directory باشد |
اثرات
حذف آن : | درخواستها، نرمال رسیدگی میشوند انگار SSL وجود ندارد. |
نام
ماژول : | BasicAuthenticationModule |
توضیح : | پیاده سازی پایهای و روتین شناسایی کاربران بر اساس آن چیزی که در استانداد زیر آمده است RFC 2617. |
تگ قابل
پیکربندی : | system.webServer/security/authentication/basicAuthentication |
وابستگی : | None. |
اثرات
حذف آن : | حداقل باید یک سیستم امنیتی برای شناساسایی یا authenticate وجود داشته باشد. httpuser یک ساختار دادهای در IIS میباشد و در صورت نبود، هیچ سیستم شناسایی یافت نشده و نبود شیء httpuser در سیستم، خطای 401.2 را تولید میکند. |
نام
ماژول : | WindowsAuthenticationModule |
توضیح : | ((windows Authentication (NTLM or Negotiate (Kerberos |
تگ قابل
پیکربندی : | system.webServer/security/authentication/windowsAuthentication |
وابستگی : | ندارد. |
اثرات
حذف آن : | حداقل باید یک سیستم امنیتی برای شناسایی یا authenticate وجود داشته باشد. httpuser یک ساختار داده ای در IIS میباشد و در صورت نبود، هیچ سیستم شناسایی یافت نشده و نبود شیء httpuser در سیستم، خطای 401.2 را تولید میکند. |
نام
ماژول : | DigestAuthenticationModule |
توضیح : | پیاده سازی سیستم شناسایی دیاجست بر اساس RFC 2617 . |
تگ قابل
پیکربندی : | system.webServer/security/authentication/digestAuthentication |
وابستگی : | IIS باید بخشی از دامنه Active Directory باشد. |
اثرات
حذف آن : | حداقل باید یک سیستم امنیتی برای شناسایی یا authenticate وجود داشته باشد.
httpuser یک ساختار داده ای در IIS میباشد و در صورت نبود، هیچ سیستم
شناسایی یافت نشده و نبود شیء httpuser در سیستم، خطای 401.2 را تولید
میکند. |
نام
ماژول : | IISCertificateMappingAuthenticationModule |
توضیح : | پیاده سازی نگاشت مجوزهای IIS، نگهداری و ذخیره اطلاعات همه نگاشتها و مجوزهای کاربری چون SSL client certificates |
تگ قابل
پیکربندی : | system.webServer/iisClientCertificateMappingAuthentication |
وابستگی : | اطلاعات SSL به همراه دریافت client certificates جهت پیکربندی این ماژول |
اثرات
حذف آن : | حداقل باید یک سیستم امنیتی برای شناسایی یا authenticate وجود داشته باشد.
httpuser یک ساختار داده ای در IIS میباشد و در صورت نبود، هیچ سیستم
شناسایی یافت نشده و نبود شیء httpuser در سیستم، خطای 401.2 را تولید
میکند. |
نام
ماژول : | UrlAuthorizationModule |
توضیح : | پیاده سازی authorization بر اساس قوانین پیکربندی شده |
تگ قابل
پیکربندی : | system.webServer/security/authorization |
وابستگی : | ندارد. |
اثرات
حذف آن : | محتواهای محافظت شده توسط authorization دیگر محافظت نمیشوند. |
نام
ماژول : | IsapiModule |
توضیح : | پیاده سازی ISAPI Extension |
تگ قابل
پیکربندی : | system.webServer/isapiCgiRestriction |
وابستگی : | ندارد. |
اثرات
حذف آن : | هندلرهای معرفی شده در بخش IsapiModule و تگ handlers دیگر اجرا نمیشوند |
نام
ماژول : | IsapiFilterModule |
توضیح : | پیاده سازی ISAPI filter |
تگ قابل
پیکربندی : | system.webServer/isapiFilters |
وابستگی : | ندارد. |
اثرات
حذف آن : | اگر برنامه ای از ISAPI filter استفاده میکند، در اجرا دچار مشکل خواهد شد. |
نام
ماژول : | IpRestrictionModule |
توضیح : | یک سیستم تشخیص دسترسی بر اساس آی پیهای ورژن4 |
تگ قابل
پیکربندی : | system.webServer/security/ipSecurity |
وابستگی : | IPv4 stack باید نصب شود. |
اثرات
حذف آن : | کلاینت هایی که IP هایشان در IPsecurity لیست شدهاند ندید گرفته میشوند |
نام
ماژول : | RequestFilteringModule |
توضیح : | پیاده سازی یک مجموعه قدرتمند از قوانین امنیتی که درخواستهای مشکوک را پس میزند. |
تگ قابل
پیکربندی : | system.webServer/security/requestFiltering |
وابستگی : | ندارد. |
اثرات
حذف آن : | دیگر قوانین امنیتی اجرا نخواهند شد و سبب وجود مشکلات امنیتی میشود. |
نام
ماژول : | CustomLoggingModule |
توضیح : | پیاده سازی اینترفیس ILogPlugin در سمت IIS، به مشتریان اجازه میدهد تا لاگهای خود را توسعه دهند. هر چند این روش توصیه نمیشود و توصیه کارشناس مایکروسافت استفاده از یک ماژول دست نویس از نوع RQ_LOG_REQUEST می باشد. Implements the
ILogPlugin interface on top of IIS. ILogPlugin is a previous COM implementation that allowed customers to extend IIS logging. We do not not
recommend extending IIS using this interface. Instead, customers should write
a module and subscribe to the RQ_LOG_REQUEST notification. |
تگ قابل
پیکربندی : | system.webServer/httpLogging
and system.applicationhost/sites/site/logFile/customLogPluginClsid |
وابستگی : | ندارد. |
اثرات
حذف آن : | مسلما پلاگینهایهای این اینترفیس از کار میافتند که سیستم ODBC Logging هم جز آن است. |
نام
ماژول : | CustomErrorModule |
توضیح : | پیاده سازی مدیریت خطاهای ویژه |
تگ قابل
پیکبرندی : | system.webServer/httpErrors |
وابستگی : | None. |
اثرات
حذف آن : | در صورتی که خطایی از هسته باشد، نتیجه یک صفحه، با توضیح مختصری از خطا خواهد بود. در غیر این صورت اگر خطا از برنامه یا کامپوننتی باشد جزئیات خطا فاش خواهد شد |
نام
ماژول : | HttpLoggingModule |
توضیح : | پیاده سازی سیستم logging استاندارد http.sys |
تگ قابل
پیکربندی : | system.applicationHost/log
and system.webServer/httpLogging |
وابستگی : | ندارد. |
اثرات
حذف آن : | از کار افتادن سیستم لاگ |
نام
ماژول : | FailedRequestsTracingModule |
توضیح : | پیاده سازی سیستم ردیابی درخواستهای ناموفق و اجرای قوانین، طبق پیکربندی |
تگ قابل
پیکربندی : | system.webServer/tracing
and system.webServer/httpTracing |
وابستگی : | ندارد. |
اثرات
حذف آن : | Tracing http requests
will no longer work. |
نام
ماژول : | RequestMonitorModule |
توضیح : | پیاده سازی IIS Run-time State and Control Interface یا به اختصار RSCA . به کاربران اجازه میدهد از اطلاعات، حین اجرا، کوئری بگیرند. مثل درخواست درحال اجرای جاری، آغاز به کار یا توقف وب سایت و دامنههای اپلیکیشن در حال اجرای جاری |
تگ قابل
پیکربندی : | ندارد. |
وابستگی : | ندارد. |
اثرات
حذف آن : | ابزارهای مرتبط با این موضوع از کار میافتند |
نام
ماژول : | CgiModule |
توضیح : | پیاده سازی CGI در سمت IIS |
تگ قابل
پیکبرندی : | system.webServer/cgi and
system.webServer/isapiCgiRestriction |
وابستگی : | ندارد. |
اثرات
حذف آن : | برنامههای CGI متوقف میشوند |
نام
ماژول : | TracingModule |
توضیح : | پیاده سازی سیستم ردیابی ETW |
تگ قابل
پیکربندی : | system.webServer/httpTracing |
وابستگی : | ندارد. |
اثرات
حذف آن : | باعث از کار افتادن سیستم مربوطه میشود |
نام
ماژول : | ConfigurationValidationModule |
توضیح : | اعتبارسنجی تنظیمات برنامه ASP.Net که به حالت integrate انتقال یافته است |
تگ قابل
پیکربندی : | system.webServer/Validation |
وابستگی : | ندارد. |
اثرات
حذف آن : | عدم اعتبارسنجی و در نتیجه عدم نمایش خطاها |
MANAGED
MODULES:
نام
ماژول : | OutputCache |
توضیح : | پیاده سازی output caching |
تگ قابل
پیکربندی : | system.web/caching/outputCache |
وابستگی : | نیاز به ManagedEngine . |
اثرات
حذف آن : | عدم اجرای output cache |
نام
ماژول : | Session |
توضیح : | مدیریت سشن ها |
تگ قابل
پیکربندی : | system.web/sessionState |
وابستگی : | نیاز به ManagedEngine . |
اثرات
حذف آن : | سشنها از دسترس خارج میشوند. |
نام
ماژول : | WindowsAuthentication |
توضیح : | اینجا |
تگ قابل
پیکربندی : | system.web/authentication |
وابستگی : | نیاز به ManagedEngine . |
اثرات
حذف آن : | این حالت قابل اجرا نخواهد بود |
نام
ماژول : | FormsAuthentication |
توضیح : | اینجا |
تگ قابل
پیکربندی : | system.web/authentication |
وابستگی : | نیاز به ManagedEngine . |
اثرات
حذف آن : | این حالت قابل اجرا نیست و کاربران مجوز دار هم نمیتوانند به منابع محافظت شده دسترسی داشته باشند. |
نام
ماژول : | DefaultAuthentication |
توضیح : | اطمینان از وجود شی Authentication در context مربوطه |
تگ قابل
پیکربندی : | system.web/authentication |
وابستگی : | نیاز به ManagedEngine . |
اثرات
حذف آن : | اگر مد Forms authentication انتخاب شده باشد بر روی بعضی از کاربران ناشناس کار نخواهد کرد و رویداد DefaultAuthentication.OnAuthenticate اجرا نخواهد شد. |
نام
ماژول : | RoleManager |
توضیح : | اینجا |
تگ قابل
پیکربندی : | |
وابستگی : | نیاز به ManagedEngine . |
اثرات
حذف آن : | این قابلیت در دسترس نمیباشد |
نام
ماژول : | UrlAuthorization |
توضیح : | اینجا |
تگ قابل
پیکربندی : | system.web/authorization. |
وابستگی : | نیاز به ManagedEngine . |
اثرات
حذف آن : | باعث از کار افتادن asp.net authorization و فاش شدن بعضی اطلاعات و همچنین دیگر تهدیدات امنیتی |
نام
ماژول : | AnonymousIdentification |
توضیح : | اینجا |
تگ قابل
پیکربندی : | |
وابستگی : | نیاز به ManagedEngine . |
اثرات
حذف آن : | The anonymous
identification feature used by the ASP.NET Profile will not work. |
نام
ماژول : | Profile |
توضیح : | اینجا |
تگ قابل
پیکربندی : | |
وابستگی : | ManagedEngine module
must be installed. |
اثرات
حذف آن : | ASP.Net Profile از کار خواهد افتاد |
نام
ماژول : | UrlMappingsModule |
توضیح : | تبدیل یک Url واقعی به یک Url کاربرپسند |
تگ قابل
پیکبرندی : | |
وابستگی : | نیاز به ManagedEngine . |
اثرات
حذف آن : | نگاشت Urlها صورت نمیگیرد |