
تهیه چک لیست امنیتی ویندوز سرور
یكی از مهمترین مسائلی كه در شبكه مطرح است و به آن توجه كمتری می شود امنیت در لایه سیستم عامل و به ویژه سیستم عامل ویندوز سرور است، فرآیند امنیتی كه برای امن سازی سرورهای ویندوزی و لینوكسی انجام می شود و درجه امنیتی آنها را بالا می برد به عنوان Server Hardening شناخته می شود. در این مقاله به شما چك لیست برقراری امنیت یا Hardening ویندوزهای سرور را بررسی می كنیم و با هم مرور كنیم. مواردی كه در این چك لیست مشاهده می كنید بعضا بر روی كامپیوترهای كلاینت نیز قابل پیاده سازی است و توجه كنید كه ممكن است در نسخه های مختلف از ویندوزها بصورت متفاوتی پیاده سازی شود اما مفاهیم همچنان ثابت باقی خواهند ماند.
چك لیست امنیتی وب سرور IIS
- به هیچ عنوان سروری كه بصورت كامل فرآیند Hardening بر روی آن انجام نشده است را به اینترنت متصل نكنید.
- سرور را در محل فیزیكی امن قرار بدهید، امنیتی فیزیكی از اولین مواردی است كه در حوزه امنیت بایستی رعایت شود.
- به هیچ عنوان وب سرور 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 را در فایروال باز كنید.
- دسترسی به شبكه اینترنت را فقط از طریق پورت های 80 و در صورت نیاز 443 مجاز كنید.
- حتما استفاده از اینترنت را محدود كنید و فقط از پروتكل های امنی مثل 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 های بلااستفاده را از روی سرور حذف كنید.
ممنونم
تشکر
خیلی خوب بود … ممنونم