چک لیست امنیتی وب سرور IIS
- به هیچ عنوان سروری که بصورت کامل فرآیند Hardening بر روی آن انجام نشده است را به اینترنت متصل نکنید.
- SERVER را در محل فیزیکی امن قرار بدهید، امنیتی فیزیکی از اولین مواردی است که در حوزه امنیت بایستی رعایت شود.
- به هیچ عنوان وب سرور IIS را بر روی Domain Controller نصب نکنید.
- بر روی وب سرور IIS هرگز پرینتر نصب نکنید.
- بر روی سرور دو عدد کارت شبکه بگذارید، یکی برای مدیریت سرور و دیگری برای کاربران
- حتما Service Pack ها، Patch ها و البته Hotfix های لازم را بر روی سیستم عامل سرور نصب کنید.
- ابزار IIS Lockdown را بر روی سرور وب اجرا کنید (در IIS های قدیمی و ویندوزهای سرور قدیمی)
- ابزار امنیتی URLScan را بر روی وب سرور نصب و اجرا و پیکربندی کنید.
- حتما برای Remote Desktop از Encryption مناسب استفاده کنید.
- حتما برای Remote Desktop قابلیت های Account Lockout و Session Timeout را قرار بدهید.
- هرگونه سرویس بلااستفاده بر روی سیستم عامل ویندوز را غیرفعال کنید.
- مطمئن شوید که همگی سرویس ها با حداقل دسترسی کاربری اجرا می شوند.
- اگر به سرویس های FTP ،SMTP و NNTP نیازی ندارید آنها را غیرفعال کنید یا حذف کنید.
- سرویس Telnet را حتما غیرفعال و از روی سیستم عامل حذف کنید.
- اگر سرویس وضعیت ASP.NET یا ASP.NET State Service توسط Application های شما استفاده نمی شود آن را غیرفعال کنید.
- اگر از WebDAV استفاده نمی کنید یا مطمئن هستید Application های شما از آن استفاده نمی کنند آن را غیرفعال کنید.
- اگر از WebDAV استفاده می کنید حتما پارامترهای امنیتی آن را رعایت کنید.
- قسمت Data Access Components را فقط در صورت نیاز نصب کنید در غیر اینصورت حذف کنید.
- قسمت MS Index Server را فقط در صورت نیاز نصب کنید و اگر نیازی نیست نصب نکنید.
- گزینه HTML Version از قسمت Internet Service Manager را اصلا فعال یا نصب نکنید.
- قسمت MS FrontPage Server extensions را فقط در صورت نیاز نصب کنید در غیر اینصورت حذف کنید
- فرآیند Hardening را برای TCP/IP Stack هم انجام بدهید.
- Policy های مربوط به Recycle Bin و Paging File System را مجددا پیکربندی کنید به تناسب سرور
- تنظیمات امنیتی CMOS را انجام دهید.
- امنیت فیزیکی مربوط به CD-ROM و USB Drive ها و … را فراهم کنید.
چک لیست امنیتی Account ها یا حساب های کاربری
- هرگونه حساب کاربری اضافه و بلااستفاده را از روی سرور حذف کنید.
- حساب کاربری Guest را غیرفعال کنید.
- نام کاربر Administrator را عوض کنید و یک پسورد قوی برای آن انتخاب کنید.
- حساب کاربری IUSR_MACHINE را در صورتیکه Application ای از آن استفاده نمی کند غیرفعال کنید.
- یک حساب کاربری با دسترسی محدود برای anonymous account ها ایجاد کنید البته در صورتیکه این سرویس را نیاز دارید.
- به هیچ عنوان به کاربر anonymous دسترسی بصورت write بر روی محتوای دایرکتوری ها و اجرای دستورات بر روی سرور ندهید.
- اگر بر روی سرور شما چندین Web Application وجود دارد برای هر کدام کاربر anonymous جداگانه ای تعریف کنید.
- دسترسی های حساب کاربری process های ASP.NET را با کمترین سطح دسترسی ممکن تعریف کنید.
- گزینه قبل زمانی کاربردی است که شما از اکانت پیشفرضی که برای سرویس ASP.NET تعریف شده است استفاده نمی کنید.
- از یک Password Policy قوی برای کلیه اکانت های موجود بر روی سرور استفاده کنید.
- دسترسی Remote را به حداقل ممکن برسانید، گروه Everyone را از قسمت Access this computer from network حذف کنید.
- برای هر کدام از Administrator های سرور یک اکانت جداگانه تعریف کنید و اکانت مشترک ایجاد نکنید.
- Null Session را غیرفعال کنید یا به بیانی دیگر Anonymous Logon را غیرفعال کنید.
- برای تفکیک کردن اکانتها و کاربردهایشان حتما بایستی تاییده دریافت شود (هر شخص نتواند به شخص دیگری دسترسی بدهد)
- در گروه Administrators بیشتر از دو کاربر تعریف شده نداشته باشید.
- فقط اجازه Logon بصورت Local را بدهید یا برای Remote Desktop حتما از رمزنگاری استفاده کنید.
چک لیست امنیتی فایل ها و پوشه ها
- همیشه چند عدد پارتیشن بر روی هارد دیسک ایجاد کنید
- هیچوقت Home Directory مربوط به وب سرور را در پارتیشن سیستم عامل قرار ندهید.
- بر روی پارتیشن هایی که فایل سیستم آن NTFS است فایل ها و پوشه های خودتان را قرار بدهید.
- محتویات هر وب سایت را در پوشه ای به غیر از Home Directory وب سرور قرار بدهید که NTFS هم باشد.
- همیشه یک وب سایت جدید ایجاد کنید و وب سایت پیشفرض یا Default Site را غیرفعال کنید.
- از وب سرور بصورت متناوب لاگ برداری کنید و لاگها را مرتب بررسی کنید.
- فایل های Log وب سرور را در پارتیشنی به غیر از پارتیشنی که محتویات وب سایت در آن قرار دارند قرار بدهید (NTFS باشد)
- دسترسی گروه Anonymous و Everyone به پوشه های system32 و پوشه وب سایت ها را محدود کنید.
- مطمئن شوید که دایرکتوری ریشه یا Root Directory وب سرور به کاربران گروه Anonymous به هیچ عنوان دسترسی نداده باشد.
- مطمئن شوید که دایرکتوری هایی که شامل محتویات اطلاعاتی وب سرور هستند به کاربران گروه Anonymous به هیج عنوان دسترسی نداده باشند.
- در هر دو مورد گذشته ترجیحا از گزینه Deny برای Access Control Entry های Permission ها استفاده کنید.
- قابلیت Remote IIS Administration یا Remote WWW Administration را به همراه سرویس آن غیرفعال و یا حذف کنید.
- تمامی ابزارهای Resource Kit به همراه SDK ها را از روی وب سرور حذف کنید.
- تمامی Sample Application ها یا برنامه های پیشفرض مثل وب سایت پیشفرض IIS را حذف کنید (از جمله صفحات Help)
- آدرس IP را از Header حذف کنید (برای جلوگیری از شناسایی محل یا Content Location)
چک لیست امنیتی Share های شبکه
- تمامی Share های بلااستفاده از جمله Administrative share ها را از بین ببرید.
- حتما دسترسی ها را به افراد مجاز بدهید و هیچوقت گروه everyone را در لیست دسترسی ها قرار ندهید.
- توجه کنید که سیستم های مانیتورینگی مثل SCOM و SCCM از سری System Center با Administrative Share ها کار می کنند.
- فقط پورت های مورد استفاده در File and Printer Sharing را در فایروال باز کنید.
- دسترسی به شبکه اینترنت را فقط از طریق پورت های ۸۰ و در صورت نیاز ۴۴۳ مجاز کنید.
- حتما استفاده از اینترنت را محدود کنید و فقط از پروتکل های امنی مثل SSL برای دسترسی به اینترنت استفاده کنید.
- اگر تعداد استفاده کنندگان از Share ها مشخص است، محدودیت Concurrent Connections بر روی Share ها بگذارید.
چک لیست امنیتی Registry
- سرویس Remote Registry را غیرفعال کنید و یا دسترسی به آن را محدود کنید.
- برای سرورهای Standalone فایل SAM را حتما امن کنید و در تنظیمات رجیستری NoLMHash را فعال کنید.
- حتما قابلیت های Auditing و Logging را بر روی سرورها فعال کنید.
- حتما Failed Logon Attempts را Audit کنید.
- محل Log فایل های IIS را تغییر بدهید.
- هر چند وقت یکبار Log ها را آرشیو و تجزیه و تحلیل کنید (حدالمقدور قسمت های امنیتی لاگ ها را)
- حداکثر اندازه لاگ فایل را تعریف کنید.
- دسترسی به فایل Metabase.bin را همیشه Audit کنید.
- تنظیمات IIS را به گونه ای انجام دهید که قالب W3C Extended Log File نیز بازرسی یا Audit شود.
- بصورت متناوب از رجیستری خودتان Backup تهیه کنید.
چک لیست امنیتی Site ها و Virtual Directory ها
- هیچکاه وب سایت ها را بر روی پارتیشن سیستم ایجاد نکنید.
- تنظیمات Parent Path را غیرفعال کنید.
- Virtual Directory های خطرناکی مثل IISSamples و IISAdmin و IISHelp و Scripts را حذف کنید.
- Virtual Directory مربوط به MSADC را حذف کنید.
- Virtual Directory به نام IIS Internet Printing را حذف کنید.
- مطمئن شوید که Certificate های سرور معتبر و به روز هستند.
- از هر Certificate فقط برای کاری که برای آن تعریف شده است استفاده کنید.
- مطمئن شوید که Public Key مربوط به Certificate ای که دریافت کرده اید معتبر است.
- مطمئن شوید که Certificate مورد استفاده شما Revoke نشده باشد.
- ISAPI Filter های بلااستفاده را از روی سرور حذف کنید.گیک بوی