Inprise
شنبه 20 دی 1382, 10:33 صبح
سلام
در راستای درخواستهای دوستان ابتدا اصول ایمن سازی سرورهای وب رو مورد بحث و بررسی قرار میدیم . ان شاء الله مطالب از "مقدماتی" به سمت "پیشرفته" ادامه پیدا میکنه . هر چند طبق آمار امروز نت کرفت ، سی و دو درصد سرورهای وب از IIS استفاده میکنند اما بهتر دیدم از IIS شروع کنم . ( هم ملموس تره و هم در دسترس تر ) امیدوارم در کنار اراجیفی که این روزها تحت عنوان "آموزش هک" داره منتشر میشه که نتیجه ای غیر از متضرر شدن دیگران نداره ، اینگونه مطالب بتونه قدمی در راستای نیل به اهداف حقیقی امنیت شبکه یعنی ایمن سازی بدون تخریب و تجاوز به حقوق دیگران برداره . در این راستا دست دوستانی که تمایل دارند مطلب بنویسند رو به گرمی میفشارم .
--------
اولین گام در ایمن سازی IIS
فارغ از اینکه از کدام نسخهء IIS ( پنج یا پنج و یک یا شش ) استفاده میکنید و بدون توجه به اینکه چه کاربردی براتون داره ( سرویس وب اینترنت ، اینترانت ، کاربردهای شخصی ، توزیع گواهی های امنیتی به همراه CA و ... ) برای اینکه یک IIS سرور رو "امن" کنید ، به این معنی که اجازه دسترسی یا کاربرد غیر مجاز به افراد غیر مجاز ندید باید به این نکته توجه کنید که قبل از پیکره بندی صحیح و امن سرویس دهنده نرم افزاری مورد نظرتون ( اینجا : IIS ) باید محیط و بستر اجرای اون رو تا حد ممکن صحیح و امن پیکره بندی کرده باشید . حتی اگر همیشه وب سرور خودتون رو به روز نگه دارید و از ابزارهای کمکی امنیتی استفاده کنید اما مثلا نت بایوس رو غیر فعال نکرده باشید و به عنوان مثال پورت کذائی 137 ( تبدیل نام نت بایوس ) باز باشه ، براحتی و توسط یک Script Kiddie ی 15 ساله که Exploit نقطه ضعف نت بایوس رو از یکی از همین سایتهای باصطلاح "هک" دانلود کرده ، مورد نفوذ قرار میگیرید . اولین قدم در ایمن سازی هر سرویس نرم افزاری ایمن سازی بستر و محیط اجرای اون سرویسه .
اینجا قرار نیست محل بحث و بررسی امنیت ویندوز های 2000 و 2003 سرور باشه ( راهنماهای امنیتی کاملی در این دو زمینه به فارسی نوشته ام که بزودی همینجا بصورت PDF منتشر شون میکنم ) و فقط قراره در مورد روشهای پیکره بندی امن IIS حرف بزنیم ، نتیجتا" بخاطر داشته باشید با رعایت تمام این نکات هم نمیتونید به سرور تون اعتماد کنید .
بسیاری از افراد امنیت در IIS رو از نحوه نصب و تنظیمات اون شروع میکنند اما من تصور میکنم شما IIS رو نصب کردید ( مثلا" روی ویندوز اکس پی خودتون ) و حالا میخواهید با دو ابزاری که معرفی میکنم سطوحی از ایمنی رو ایجاد کنید و قرار نیست مرحله به مرحله تمام تنظیمات رو خودتون انجام بدید ( تو مطلب بعدی نحوه پیکره بندی صحیح IIS 6 رو مفصلا" عرض میکنم ، از IIS 5 که گذشت :wink: )
معرفی ابزار IIS LockDown :
این نرم افزار مفید که توسط خود مایکروسافت توزیع شده ( اما خودشون ننوشتن اش ) به شما کمک میکنه بسته به نوع کاربردی که از IIS انتظار دارید ، یک "سناریو" ی امنیتی تعریف کنید ، به این معنی که شما به نرم افزار خواهید فهماند که دقیقا" چه انتظاراتی از IIS دارید و در کنار آن میخواهید ( یا نمیخواهید ) چه محدودیتهای امنیتی روی سرور شما وجود داشته باشد . IIS LockDown پس از این تعاریف بصورت خودکار تمامی تنظیمات امنیتی رو روی سرور شما انجام میده و لزومی نداره با تمامی جزئیات درگیر بشید ضمن اینکه با تعریف یک سکیوریتی پالیسی مشخص و اعمال اون توسط IIS LockDown روی یک سرور میتونید فایل حاوی تنظیمات رو به بقیه سرورهاتون هم منتقل کنید و همگی رو به یک شکل ایمن کنید .
آدرس آی آی اس لاک داون : http://www.microsoft.com/technet/security/tools/tools/locktool.asp
خود IIS LockDown به همراه خودش تعدادی "سناریو" ویژه داره که میتونید براحتی با انتخاب یکی از کلیه تنظیمات امنیتی مطرح شده توسط اون مطمئن باشید ،مؤسسات امنیتی مثل NIST هم تعداد زیادی سناریوی امنیتی متفرقه طراحی کرده اند و به رایگان به اشتراک گذاشته اند تا در صورت لزوم از آنها استفاده کنید .
( به این نکته توجه کنید که تغییر تنظیمات امنیتی توسط IIS LockDown صرفا" باعث میشه تنظیمات تغییر کنه ، هیچ فایلی حذف یا Uninstall نخواهد شد . این هم خوبه و هم بد . خوب از این جهت که در صورت تمایل با اجرای مجدد این ابزار و تغییر تنظیمات سیستم شما به حالت اولین یا حالت دیگه ای تغییر خواهد کرد و بد از این جهت که ممکنه یک خطای کوچک باعث بشه دسترسی به برخی اجزاء ، به عنوان مثال ماژول PHP تحت ویندوز که بصورت ISAPI نصب کرده اید ، همچنان در دسترس بمانند بدون اینکه شما از وجود انها اطلاع داشته باشید . البته خوشبختانه IIS 6 هیچ اجازهء دسترسی پیش فرضی یا هیچ سرویس اجرائی پیش فرضی غیر از ASP .NET نداره نتیجتا" این دغدغه برای IIS 6 چندان مطرح نیست . در IIS 6 حتی برای اجرای فایلهای ASP هم باید با اجازه مدیریتی روی سرور ، بطور مشخص اجازهء اجرای فایلهای ASP را به IIS بدهید . این اجازه با اجازه اجرای Script در یک دایرکتوری همانطور که در IIS 5 وجود داشت ، متفاوت است ! )
فوائد IIS LockDown :
الف . غیر فعال کردن سرویسهای غیر ضروری : آیا لازمه در کنار وب سرور شما به عنوان مثال ، سرویس SMTP موجود در IIS وجود داشته باشه ؟ توسط IIS LockDown میتونید سرویسهای غیر ضروری روی غیر فعال کنید .
ب. تمام وب سرورهای توانائی ترجمه Server Side دستورات مبتنی بر وب را دارند ، مثلا" ASP در IIS و ... و اغلب سرورهای وب بصورت پیش فرض تعداد نسبتا" قابل توجهی از تکنیکهای پردازش Server Side را حمایت میکنند مثلا" .htw, .ida, .idq, .asp, .cer, .cdx, .asa, .htr, .idc, .shtm, .shtml در IIS . آیا شما به این امکانات نیاز دارید ؟ آیا میخواهید سرور شما بتواند ISAPI ها را اجرا کند ؟ آیا ... ؟ IIS LockDown کمک میکنه تا فقط فایلهائی که شما میخواهید و اجاز میدهید توسط وب سرور قابل پردازش باشند .
ج. متاسفانه (؟) تمام وب سرورها مثل IIS اسکریپتها و برنامه های نمایشی خاصی را بصورت پیش فرض نصب میکنند که بعضا با فایلهای اساسی و اصلی وب سرور مخلوط میشن و غیر قابل شناخت و حذف شدن هستند مگر توسط افراد خبره . توسط IIS LockDown میتونید تمام فایلهای محتوی تنظیمات و برنامه های نمایشی را حذف یا غیر فعال کنید
د. دسترسی به سطح سیستم فایل در وب سرورهای مختلف با هم فرق میکنه . مدلی که IIS ازش تبعیت میکنه با مدل Apache یکسان نیست . جدا از دسترسی وب سرور به سیستم فایل دسترسی کاربران و مشاهده کندگان صفحات وب به سیستم فایل وب سرور ها مسئله مهم و حیاتی است . توسط Wizard های IIS میتونید بسیاری از تنظیمات رو انجام بدید اما حتی IIS 6 هم نقائصی در این زمینه داره . لذا با استفاده از IIS LockDown میتونید مطمئن باشید که وب سرور برای ارائه سرویس فقط به بخش خاصی از سیستم فایل سرور دسترسی داره و بینندگان سایت نمیتونن با فریب دادن authentication سرور وب ، به فایل سیستم سرور دسترسی پیدا کنند . ( این مسئله فوق العاده حساس و مهمه :idea: ، قبل از اینکه سرورهای اصلی شریف سوئیچ کنند به لینوکس (؟) با استفاده از پیکره بندی ضعیف وب سرور میشد از راه دور روی سرور فایل کپی کرد !! :P )
IIS LockDown فوائد دیگه ای هم داره که از اونها میشه به حمایت از WebDav و تنظیم صحیح اون ، تکثیر قواعد امنیتی بین سرورها ، پوشش بسیاری از نقاط ضعف امنیتی ، رابط کاربری بسیار ساده و قابل درک و ... اشاره کرد .
معرفی ابزار URLscan :
قدم بعدی برای ایمن سازی IIS برقراری قواعد و نظام قانونمند و مناسبی برای ورودی های کاربران IIS است . میدونید (؟) که بسیاری از حمله های متداول به وب سرور یا نرم افزارهای مبتنی بر وب از طریق ورود داده های خاصی است که میتونه به رفتار غیر معمول وب سرور یا نرم افزار وب منجر بشه . به عنوان مثال چرا باید بیننده سایت شما با این فرض که صفحه شما index.php است چنین چیزی رو به وب سرور شما بفرسته ؟ index.php?AaAaAaAaA و قس علی هذا . شاید وب سرور یا در مرحله بعد نرم افزار وب با دریافت چنین ورودی دچار مشکل ( Buffer Overflow - Remote Command execution - Sql injection و ... حملات متداولی مانند این ) بشوند . پس لازمه برای ورودی های کاربر قوانین خاصی وجود داشته باشه .
توسط ابزار URLscan که چیزی نیست جز یک DLL از نوع ISAPI که بصورت یک Filter روی IIS نصب میشه ، میتونید به این هدف دست پیدا کنید .
آدرس ارل اسکن : http://www.microsoft.com/technet/security/tools/tools/Urlscan.asp
URLscan طبق قواعدی که شما براش مشخص میکنید تمام ورودی ها رو به دقت بررسی میکنه و در صورت لزوم تغییراتی روی اونها انجام میده یا اجازه ورود اونها رو به محیط پردازشی وب سرور و بعد از اون نرم افزار های وب نمیده .
( لازمه توضیحا" عرض کنم محیط پردازشی وب سرور با محیط سرویس اون فرق میکنه . به عنوان مثال در IIS 6 دو پروسه در فضای کاربردی ( یوزر مود ) مسئول پردازشهای IIS هستند در حالیکه یک Listener با نام HTTP.sys در فضای هسته ( کرنل مود ) مسئول ارائه سرویس ( دریافت و پاسخ ) است . این مثال فقط مخصوص IIS شش بود !IIS پنج چنین قابلیتی رو نداره .)
هر چند IIS 6 دارای قابلیتهای امنیتی بیشماری است ( به عقیده و نظر شخصی من از لحاظ وجود تنظیمات امنیتی و پیکره بندی پیش فرض فعلا بهترین وب سرور موجوده ) و بخش قابل توجهی از امکانات URLscan در خود IIS 6 وجود داره اما با استفاده از این ابزار ضمن اینکه لومی نداره در گیر تنظیمات جزئی بشید از خطاهای احتمالی هم بدور خواهید ماند .
URLscan دو فایل بنام های URLscan.dll و URLscan.ini داره که اولی همونطور که عرض شد یک فیلتر آی اس ای پی آی و دومی محل نگهداری تنظیمات و قواعد امنیتی شما ست . در صورتیکه درخواستی با قواعد فیلتر مواجه شود ( مثلا" فردی بخواهد Exploit یکی از نقاط ضعف جدید آی آی اس را اعمال کند و شما از قبل آن را در قواعد فیلتر URLscan قرار داده باشید ) ضمن Reject شدن درخواست ، جزئیات اون در فایلی بنام Urlscan.log برای بررسی های بعدی ذخیره خواهد شد ! 8)
پیکره بندی صحیح و نوشتن قواعد امنیتی برای URLscan خیلی مفصله و از بحث ما ( معرفی راهکارها و روشها ) خارجه . یقینا افرادی که به این امکان احتیاج دارند اون رو بطور مفصل بررسی خواهند کرد . صفحه خاص این ابزار در سایت مایکروسافت هم مفصلا" در این باره توضیح داده .
به در نظر گرفتن نکاتی که عرض کردم ، حالا یک وب سرور دارید که ضمن داشتن سطح قابل قبولی از ایمنی در تنظیمات و پیکره بندی هاش ، اجازه دسترسی های غیر مجاز یا Exploit های سطح URL رو به نفوذگر (؟) نمیده .
قدمهای بعدی ، آشنائی با قابلیتهای امنیتی درون ساخته IIS ، نحوهء استفاده صحیح از یک فایروال برای یک وب سرور و نهایتا" نصب و پیکره بندی صحیح یک IDS ( سیستم شناسائی رفتار نفوذگر ) برای نگهداری امن یک وب سرور خواهد بود که اگر عمری بود عرض خواهد شد .
خوش و موفق باشید
در راستای درخواستهای دوستان ابتدا اصول ایمن سازی سرورهای وب رو مورد بحث و بررسی قرار میدیم . ان شاء الله مطالب از "مقدماتی" به سمت "پیشرفته" ادامه پیدا میکنه . هر چند طبق آمار امروز نت کرفت ، سی و دو درصد سرورهای وب از IIS استفاده میکنند اما بهتر دیدم از IIS شروع کنم . ( هم ملموس تره و هم در دسترس تر ) امیدوارم در کنار اراجیفی که این روزها تحت عنوان "آموزش هک" داره منتشر میشه که نتیجه ای غیر از متضرر شدن دیگران نداره ، اینگونه مطالب بتونه قدمی در راستای نیل به اهداف حقیقی امنیت شبکه یعنی ایمن سازی بدون تخریب و تجاوز به حقوق دیگران برداره . در این راستا دست دوستانی که تمایل دارند مطلب بنویسند رو به گرمی میفشارم .
--------
اولین گام در ایمن سازی IIS
فارغ از اینکه از کدام نسخهء IIS ( پنج یا پنج و یک یا شش ) استفاده میکنید و بدون توجه به اینکه چه کاربردی براتون داره ( سرویس وب اینترنت ، اینترانت ، کاربردهای شخصی ، توزیع گواهی های امنیتی به همراه CA و ... ) برای اینکه یک IIS سرور رو "امن" کنید ، به این معنی که اجازه دسترسی یا کاربرد غیر مجاز به افراد غیر مجاز ندید باید به این نکته توجه کنید که قبل از پیکره بندی صحیح و امن سرویس دهنده نرم افزاری مورد نظرتون ( اینجا : IIS ) باید محیط و بستر اجرای اون رو تا حد ممکن صحیح و امن پیکره بندی کرده باشید . حتی اگر همیشه وب سرور خودتون رو به روز نگه دارید و از ابزارهای کمکی امنیتی استفاده کنید اما مثلا نت بایوس رو غیر فعال نکرده باشید و به عنوان مثال پورت کذائی 137 ( تبدیل نام نت بایوس ) باز باشه ، براحتی و توسط یک Script Kiddie ی 15 ساله که Exploit نقطه ضعف نت بایوس رو از یکی از همین سایتهای باصطلاح "هک" دانلود کرده ، مورد نفوذ قرار میگیرید . اولین قدم در ایمن سازی هر سرویس نرم افزاری ایمن سازی بستر و محیط اجرای اون سرویسه .
اینجا قرار نیست محل بحث و بررسی امنیت ویندوز های 2000 و 2003 سرور باشه ( راهنماهای امنیتی کاملی در این دو زمینه به فارسی نوشته ام که بزودی همینجا بصورت PDF منتشر شون میکنم ) و فقط قراره در مورد روشهای پیکره بندی امن IIS حرف بزنیم ، نتیجتا" بخاطر داشته باشید با رعایت تمام این نکات هم نمیتونید به سرور تون اعتماد کنید .
بسیاری از افراد امنیت در IIS رو از نحوه نصب و تنظیمات اون شروع میکنند اما من تصور میکنم شما IIS رو نصب کردید ( مثلا" روی ویندوز اکس پی خودتون ) و حالا میخواهید با دو ابزاری که معرفی میکنم سطوحی از ایمنی رو ایجاد کنید و قرار نیست مرحله به مرحله تمام تنظیمات رو خودتون انجام بدید ( تو مطلب بعدی نحوه پیکره بندی صحیح IIS 6 رو مفصلا" عرض میکنم ، از IIS 5 که گذشت :wink: )
معرفی ابزار IIS LockDown :
این نرم افزار مفید که توسط خود مایکروسافت توزیع شده ( اما خودشون ننوشتن اش ) به شما کمک میکنه بسته به نوع کاربردی که از IIS انتظار دارید ، یک "سناریو" ی امنیتی تعریف کنید ، به این معنی که شما به نرم افزار خواهید فهماند که دقیقا" چه انتظاراتی از IIS دارید و در کنار آن میخواهید ( یا نمیخواهید ) چه محدودیتهای امنیتی روی سرور شما وجود داشته باشد . IIS LockDown پس از این تعاریف بصورت خودکار تمامی تنظیمات امنیتی رو روی سرور شما انجام میده و لزومی نداره با تمامی جزئیات درگیر بشید ضمن اینکه با تعریف یک سکیوریتی پالیسی مشخص و اعمال اون توسط IIS LockDown روی یک سرور میتونید فایل حاوی تنظیمات رو به بقیه سرورهاتون هم منتقل کنید و همگی رو به یک شکل ایمن کنید .
آدرس آی آی اس لاک داون : http://www.microsoft.com/technet/security/tools/tools/locktool.asp
خود IIS LockDown به همراه خودش تعدادی "سناریو" ویژه داره که میتونید براحتی با انتخاب یکی از کلیه تنظیمات امنیتی مطرح شده توسط اون مطمئن باشید ،مؤسسات امنیتی مثل NIST هم تعداد زیادی سناریوی امنیتی متفرقه طراحی کرده اند و به رایگان به اشتراک گذاشته اند تا در صورت لزوم از آنها استفاده کنید .
( به این نکته توجه کنید که تغییر تنظیمات امنیتی توسط IIS LockDown صرفا" باعث میشه تنظیمات تغییر کنه ، هیچ فایلی حذف یا Uninstall نخواهد شد . این هم خوبه و هم بد . خوب از این جهت که در صورت تمایل با اجرای مجدد این ابزار و تغییر تنظیمات سیستم شما به حالت اولین یا حالت دیگه ای تغییر خواهد کرد و بد از این جهت که ممکنه یک خطای کوچک باعث بشه دسترسی به برخی اجزاء ، به عنوان مثال ماژول PHP تحت ویندوز که بصورت ISAPI نصب کرده اید ، همچنان در دسترس بمانند بدون اینکه شما از وجود انها اطلاع داشته باشید . البته خوشبختانه IIS 6 هیچ اجازهء دسترسی پیش فرضی یا هیچ سرویس اجرائی پیش فرضی غیر از ASP .NET نداره نتیجتا" این دغدغه برای IIS 6 چندان مطرح نیست . در IIS 6 حتی برای اجرای فایلهای ASP هم باید با اجازه مدیریتی روی سرور ، بطور مشخص اجازهء اجرای فایلهای ASP را به IIS بدهید . این اجازه با اجازه اجرای Script در یک دایرکتوری همانطور که در IIS 5 وجود داشت ، متفاوت است ! )
فوائد IIS LockDown :
الف . غیر فعال کردن سرویسهای غیر ضروری : آیا لازمه در کنار وب سرور شما به عنوان مثال ، سرویس SMTP موجود در IIS وجود داشته باشه ؟ توسط IIS LockDown میتونید سرویسهای غیر ضروری روی غیر فعال کنید .
ب. تمام وب سرورهای توانائی ترجمه Server Side دستورات مبتنی بر وب را دارند ، مثلا" ASP در IIS و ... و اغلب سرورهای وب بصورت پیش فرض تعداد نسبتا" قابل توجهی از تکنیکهای پردازش Server Side را حمایت میکنند مثلا" .htw, .ida, .idq, .asp, .cer, .cdx, .asa, .htr, .idc, .shtm, .shtml در IIS . آیا شما به این امکانات نیاز دارید ؟ آیا میخواهید سرور شما بتواند ISAPI ها را اجرا کند ؟ آیا ... ؟ IIS LockDown کمک میکنه تا فقط فایلهائی که شما میخواهید و اجاز میدهید توسط وب سرور قابل پردازش باشند .
ج. متاسفانه (؟) تمام وب سرورها مثل IIS اسکریپتها و برنامه های نمایشی خاصی را بصورت پیش فرض نصب میکنند که بعضا با فایلهای اساسی و اصلی وب سرور مخلوط میشن و غیر قابل شناخت و حذف شدن هستند مگر توسط افراد خبره . توسط IIS LockDown میتونید تمام فایلهای محتوی تنظیمات و برنامه های نمایشی را حذف یا غیر فعال کنید
د. دسترسی به سطح سیستم فایل در وب سرورهای مختلف با هم فرق میکنه . مدلی که IIS ازش تبعیت میکنه با مدل Apache یکسان نیست . جدا از دسترسی وب سرور به سیستم فایل دسترسی کاربران و مشاهده کندگان صفحات وب به سیستم فایل وب سرور ها مسئله مهم و حیاتی است . توسط Wizard های IIS میتونید بسیاری از تنظیمات رو انجام بدید اما حتی IIS 6 هم نقائصی در این زمینه داره . لذا با استفاده از IIS LockDown میتونید مطمئن باشید که وب سرور برای ارائه سرویس فقط به بخش خاصی از سیستم فایل سرور دسترسی داره و بینندگان سایت نمیتونن با فریب دادن authentication سرور وب ، به فایل سیستم سرور دسترسی پیدا کنند . ( این مسئله فوق العاده حساس و مهمه :idea: ، قبل از اینکه سرورهای اصلی شریف سوئیچ کنند به لینوکس (؟) با استفاده از پیکره بندی ضعیف وب سرور میشد از راه دور روی سرور فایل کپی کرد !! :P )
IIS LockDown فوائد دیگه ای هم داره که از اونها میشه به حمایت از WebDav و تنظیم صحیح اون ، تکثیر قواعد امنیتی بین سرورها ، پوشش بسیاری از نقاط ضعف امنیتی ، رابط کاربری بسیار ساده و قابل درک و ... اشاره کرد .
معرفی ابزار URLscan :
قدم بعدی برای ایمن سازی IIS برقراری قواعد و نظام قانونمند و مناسبی برای ورودی های کاربران IIS است . میدونید (؟) که بسیاری از حمله های متداول به وب سرور یا نرم افزارهای مبتنی بر وب از طریق ورود داده های خاصی است که میتونه به رفتار غیر معمول وب سرور یا نرم افزار وب منجر بشه . به عنوان مثال چرا باید بیننده سایت شما با این فرض که صفحه شما index.php است چنین چیزی رو به وب سرور شما بفرسته ؟ index.php?AaAaAaAaA و قس علی هذا . شاید وب سرور یا در مرحله بعد نرم افزار وب با دریافت چنین ورودی دچار مشکل ( Buffer Overflow - Remote Command execution - Sql injection و ... حملات متداولی مانند این ) بشوند . پس لازمه برای ورودی های کاربر قوانین خاصی وجود داشته باشه .
توسط ابزار URLscan که چیزی نیست جز یک DLL از نوع ISAPI که بصورت یک Filter روی IIS نصب میشه ، میتونید به این هدف دست پیدا کنید .
آدرس ارل اسکن : http://www.microsoft.com/technet/security/tools/tools/Urlscan.asp
URLscan طبق قواعدی که شما براش مشخص میکنید تمام ورودی ها رو به دقت بررسی میکنه و در صورت لزوم تغییراتی روی اونها انجام میده یا اجازه ورود اونها رو به محیط پردازشی وب سرور و بعد از اون نرم افزار های وب نمیده .
( لازمه توضیحا" عرض کنم محیط پردازشی وب سرور با محیط سرویس اون فرق میکنه . به عنوان مثال در IIS 6 دو پروسه در فضای کاربردی ( یوزر مود ) مسئول پردازشهای IIS هستند در حالیکه یک Listener با نام HTTP.sys در فضای هسته ( کرنل مود ) مسئول ارائه سرویس ( دریافت و پاسخ ) است . این مثال فقط مخصوص IIS شش بود !IIS پنج چنین قابلیتی رو نداره .)
هر چند IIS 6 دارای قابلیتهای امنیتی بیشماری است ( به عقیده و نظر شخصی من از لحاظ وجود تنظیمات امنیتی و پیکره بندی پیش فرض فعلا بهترین وب سرور موجوده ) و بخش قابل توجهی از امکانات URLscan در خود IIS 6 وجود داره اما با استفاده از این ابزار ضمن اینکه لومی نداره در گیر تنظیمات جزئی بشید از خطاهای احتمالی هم بدور خواهید ماند .
URLscan دو فایل بنام های URLscan.dll و URLscan.ini داره که اولی همونطور که عرض شد یک فیلتر آی اس ای پی آی و دومی محل نگهداری تنظیمات و قواعد امنیتی شما ست . در صورتیکه درخواستی با قواعد فیلتر مواجه شود ( مثلا" فردی بخواهد Exploit یکی از نقاط ضعف جدید آی آی اس را اعمال کند و شما از قبل آن را در قواعد فیلتر URLscan قرار داده باشید ) ضمن Reject شدن درخواست ، جزئیات اون در فایلی بنام Urlscan.log برای بررسی های بعدی ذخیره خواهد شد ! 8)
پیکره بندی صحیح و نوشتن قواعد امنیتی برای URLscan خیلی مفصله و از بحث ما ( معرفی راهکارها و روشها ) خارجه . یقینا افرادی که به این امکان احتیاج دارند اون رو بطور مفصل بررسی خواهند کرد . صفحه خاص این ابزار در سایت مایکروسافت هم مفصلا" در این باره توضیح داده .
به در نظر گرفتن نکاتی که عرض کردم ، حالا یک وب سرور دارید که ضمن داشتن سطح قابل قبولی از ایمنی در تنظیمات و پیکره بندی هاش ، اجازه دسترسی های غیر مجاز یا Exploit های سطح URL رو به نفوذگر (؟) نمیده .
قدمهای بعدی ، آشنائی با قابلیتهای امنیتی درون ساخته IIS ، نحوهء استفاده صحیح از یک فایروال برای یک وب سرور و نهایتا" نصب و پیکره بندی صحیح یک IDS ( سیستم شناسائی رفتار نفوذگر ) برای نگهداری امن یک وب سرور خواهد بود که اگر عمری بود عرض خواهد شد .
خوش و موفق باشید