امن سازی IIS 10 – بخش نهم

cis-IIS 10

اطمینان از اینکه دسترسی به ویژگی‌های حساس سایت به کاربران احراز هویت شده و معتبر محدود شده است. (Not Scored)

Profile Applicability

• Level 1 – IIS 10

Description

IIS از هر دو متد احراز هویت challenge-based و redirection-based پشتیبانی می‌کند. متدهای challenge-based مانند متدهای یکپارچه احراز هویت ویندوز، نیازمند یک client می‌باشد که به درستی به یک server-initiated challenge پاسخ دهد.

متد احراز هویت لاگین کردن از طریق redirection-based همانند شیوه اعتماد کردن برای احراز هویت فرم‌ها از طریق redirection به یک صفحه لاگین برای تشخیص هویت اصلی کاربر می‌باشد. احراز هویت challenge-based و احراز هویت login redirection-based نمی‌توانند در ارتباط با یکدیگر استفاده شوند.

سرور ها/سایت‌های عمومی به طور معمول برای استفاده از متد احراز هویت anonymous پیکربندی می‌شوند. این روش معمولا به درستی کار می‌کند، در صورتیکه محتوا یا سرویسی از قبل برای استفاده public در نظر گرفته شده باشد.

هنگامی که سایت‌ها، اپلیکیشن‌ها یا container های محتوای خاص برای استفاده anonymous public در نظر گرفته نشده باشند، باید از یک مکانیزم احراز هویت مناسب استفاده شود. احراز هویت به تایید هویت client هایی که برای دسترسی به سایت‌ها، اپلیکیشن‌ها و محتوا درخواست می فرستند، کمک می‌کند. IIS به طور پیش‌فرض ماژول‌های احراز هویت زیر را ارائه می‌دهد:

Anonymous Authentication: به Anonymous User ها اجازه می‌دهد تا به سایت‌ها/ اپلیکیشن‌ها و یا محتوا دسترسی داشته باشند
Integrated Windows Authentication: احراز هویت کاربران با استفاده از پروتکل‌های NTLM یا Kerberos؛ Kerberos v5 که نیاز به اتصال با Active Directory دارد انجام می‌شود.
ASP.NET Impersonation: به اپلیکیشن‌های ASP.NET اجازه می‌دهد تا تحت نظر یک زمینه امنیتی متفاوت با زمینه امنیتی پیش‌فرض برای یک اپلیکیشن اجرا شوند.
Forms Authentication: کاربر را قادر می‌سازد با یک نام کاربری و رمزعبور معتبر وارد یک فضای پیکربندی شده شود که پس از آن در برابر یک پایگاه داده اعتبار پیدا کرده باشد.
Basic Authentication: به یک نام کاربری و رمز عبور معتبر برای دسترسی به محتوا نیاز دارد.
Client Certificate Mapping Authentication: امکان احراز هویت خودکار User هایی که از طریق Client Certificate های پیکربندی شده لاگین می‌کنند را می‌دهد؛ نیاز به SSL دارد.
Digest Authentication: از ویندوز دامین کنترلر برای احراز هویت User هایی که درخواست داده اند استفاده می‌کند.

توجه داشته باشید که هیچ یک از ماژول‌های احراز هویت Challenge-based نمی‌توانند همزمان استفاده شوند. Forms Authentication برای برنامه‌ها یا محتوای خاص فعال می‌باشد.

آشنایی با روش های احراز هویت – SEC542

Forms Authentication ارتباطی با احراز هویت IIS ندارد و آن را به رسمیت نمی‌شناسد و جدا از آن کار می کند. بنابراین اگر Forms Authentication در حال استفاده باشد، می‌توان دسترسی anonymous را برای اپلیکیشن‌های ASP.NET پیکربندی نمود.

توصیه می‌شود سایت‌های حاوی اطلاعات حساس ، داده‌های محرمانه یا وب سرویس‌هایی که خدمات غیر عمومی ارائه می‌دهند با مکانیزم احراز هویت Credentials-based پیکربندی شوند.

Rationale

پیکربندی احراز هویت به کاهش خطر دسترسی کاربران غیرمجاز به داده‌ها و یا سرویس‌ها کمک می‌کند و در بعضی موارد احتمال آسیب احتمالی که ممکن است برای یک سیستم اتفاق بیفتد را کاهش می‌دهد.

Audit

برای تأیید اینکه ماژول تأیید اعتبار برای یک سایت، برنامه یا محتوای خاص فعال شده است ، فایل web.config مربوط به محتوا را پیدا و باز کنید. بررسی کنید که فایل کانفیگ دارای یک حالت تعریف شده با تگ‌های باشد.

مثال زیر نشان می‌دهد که Form Authentication تنظیم شده، cookies همیشه استفاده می‌شوند و SSL هم ضروری است:

یا
برای تایید از طریق AppCmd.exe دستور زیر را وارد کنید:

یا
برای تایید از طریق PowerShell دستور زیر را وارد کنید:

Remediation

هنگام تنظیم یک ماژول احراز هویت برای اولین بار، هر مکانیزم باید قبل از استفاده کاملاً پیکربندی شود.

فعال کردن احراز هویت را می‌توان با استفاده از User Interface (UI)، اجرای دستورات AppCmd.exe در یک پنجره command line، ویرایش فایل‌های کانفیگ به طور مستقیم یا نوشتن اسکریپت‌های WMI انجام داد. برای تأیید مکانیزم احراز هویت برای محتوای حساس با استفاده از IIS Manager GUI:

1- IIS Manager را باز کنید و به سطحی بروید که محتوای حساستان و مهم تان قرار دارد.
2- در features view روی Authentication 2بار کلیک کنید.
3- در صفحه Authentication اطمینان حاصل کنید که یک ماژول Authentication فعال شده باشد در حالی که anonymous authentication فعال شده است (Forms Authentication هم می‌تواند به خوبی anonymous داشته باشد).
4- در صورت لزوم ، ماژول احراز هویت مورد نظر را انتخاب کنید، سپس در قسمت Actions ، روی Enable کلیک کنید.

یا
دستور زیر را در AppCmd.exe برای پیکربندی وارد کنید:

یا
دستور زیر را برای پیکربندی در PowerShell وارد کنید:

Default Value

نصب پیش‌فرض IIS، anonymous authentication را بدون انتخاب متدهای بیشتر پشتیبانی می‌کند.

منابع:

learn.iis.net/page.aspx/377/using-aspnet-forms-authentication/rev/1

learn.iis.net/page.aspx/244/how-to-take-advantage-of-the-iis7-integrated-pipeline/

technet.microsoft.com/en-us/library/cc733010%28WS.10%29.aspx

msdn.microsoft.com/en-us/library/aa480476.aspx

technet.microsoft.com/en-us/library/hh831496(v=ws.11).aspx

مطالب این بخش برگرفته از مستند امن سازی وب سرور IIS مربوط به وب سایت CIS می باشد.

مطالب این بخش توسط جناب آقای نوربخش تهیه شده است.

درباره نویسنده: احسان نیک آور

ممکن است دوست داشته باشید