محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

معرفی 84 تنظیم امنیتی در ویندوز سرور : چک لیست امنیت ویندوز سرور

وجود یک چک لیست امنیتی جزو حداقل نیازهای یک مدیر شبکه است . یکی از مهمترین مسائلی که در شبکه مطرح است و به آن توجه کمتری می شود امنیت در لایه سیستم عامل و به ویژه سیستم عامل ویندوز سرور است ، فرآیند امنیتی که برای امن سازی سرورهای ویندوزی و لینوکسی انجام می شود و درجه امنیتی آنها را بالا می برد به عنوان Server Hardening شناخته می شود. در این مقاله در انجمن تخصصی فناوری اطلاعات ایران قصد داریم به شما چک لیست برقراری امنیت یا Hardening ویندوزهای سرور را بررسی کنیم و با هم مرور کنیم. در ادامه این مقالات بعدا به بررسی و معرفی یک چک لیست امنیتی برای سیستم عامل لینوکس نیز خواهیم پرداخت. مواردی که در این چک لیست مشاهده می کنید بعضا بر روی کامپیوترهای کلاینت نیز قابل پیاده سازی است و توجه کنید که ممکن است در نسخه های مختلف از ویندوزها بصورت متفاوتی پیاده سازی شود اما مفاهیم همچنان ثابت باقی خواهند ماند.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
چگونه ویندوز سرور را امن کنیم ؟

چک لیست امنیتی وب سرور IIS

  1. به هیچ عنوان سروری که بصورت کامل فرآیند Hardening بر روی آن انجام نشده است را به اینترنت متصل نکنید
  2. سرور را در محل فیزیکی امن قرار بدهید ، امنیتی فیزیکی از اولین مواردی است که در حوزه امنیت بایستی رعایت شود.
  3. به هیچ عنوان وب سرور IIS را بر روی Domain Controller نصب نکنید
  4. بر روی وب سرور IIS هرگز پرینتر نصب نکنید
  5. بر روی سرور دو عدد کارت شبکه بگذارید ، یکی برای مدیریت سرور و دیگری برای کاربران
  6. حتما Service Pack ها ، Patch ها و البته Hotfix های لازم را بر روی سیستم عامل سرور نصب کنید
  7. ابزار IIS Lockdown را بر روی سرور وب اجرا کنید ( در IIS های قدیمی و ویندوزهای سرور قدیمی )
  8. ابزار امنیتی URLScan را بر روی وب سرور نصب و اجرا و پیکربندی کنید
  9. حتما برای Remote Desktop از Encryption مناسب استفاده کنید
  10. حتما برای Remote Desktop قابلیت های Account Lockout و Session Timeout را قرار بدهید
  11. هرگونه سرویس بلااستفاده بر روی سیستم عامل ویندوز را غیرفعال کنید
  12. مطمئن شوید که همگی سرویس ها با حداقل دسترسی کاربری اجرا می شوند
  13. اگر به سرویس های FTP ، SMTP و NNTP نیازی ندارید آنها را غیرفعال کنید یا حذف کنید
  14. سرویس Telnet را حتما غیرفعال و از روی سیستم عامل حذف کنید
  15. اگر سرویس وضعیت ASP.NET یا ASP.NET State Service توسط Application های شما استفاده نمی شود آن را غیرفعال کنید
  16. اگر از WebDAV استفاده نمی کنید یا مطمئن هستید Application های شما از آن استفاده نمی کنند آن را غیرفعال کنید
  17. اگر از WebDAV استفاده می کنید حتما پارامترهای امنیتی آن را رعایت کنید
  18. قسمت Data Access Components را فقط در صورت نیاز نصب کنید در غیر اینصورت حذف کنید
  19. قسمت MS Index Server را فقط در صورت نیاز نصب کنید و اگر نیازی نیست نصب نکنید
  20. گزینه HTML Version از قسمت Internet Service Manager را اصلا فعال یا نصب نکنید
  21. قسمت MS FrontPage Server extensions را فقط در صورت نیاز نصب کنید در غیر اینصورت حذف کنید
  22. فرآیند Hardening را برای TCP//IP Stack هم انجام بدهید
  23. پروتکل های NetBIOS و SMB را غیرفعال کنید ، پورتی های 137 ، 138 ، 139 و 445 را مسدود کنید
  24. Policy های مربوط به Recycle Bin و Paging File System را مجددا پیکربندی کنید به تناسب سرور
  25. تنظیمات امنیتی CMOS را انجام دهید
  26. امنیت فیزیکی مربوط به CD-ROM و USB Drive ها و ... را فراهم کنید

چک لیست امنیتی Account ها یا حساب های کاربری

  1. هرگونه حساب کاربری اضافه و بلااستفاده را از روی سرور حذف کنید
  2. حساب کاربری Guest را غیرفعال کنید
  3. نام کاربر Administrator را عوض کنید و یک پسورد قوی برای آن انتخاب کنید
  4. حساب کاربری IUSR_MACHINE را در صورتیکه Application ای از آن استفاده نمی کند غیرفعال کنید
  5. یک حساب کاربری با دسترسی محدود برای anonymous account ها ایجاد کنید البته در صورتیکه این سرویس را نیاز دارید
  6. به هیچ عنوان به کاربر anonymous دسترسی بصورت write بر روی محتوای دایرکتوری ها و اجرای دستورات بر روی سرور ندهید
  7. اگر بر روی سرور شما چندین Web Application وجود دارد برای هر کدام کاربر anonymous جداگانه ای تعریف کنید
  8. دسترسی های حساب کاربری process های ASP.NET را با کمترین سطح دسترسی ممکن تعریف کنید
  9. گزینه قبل زمانی کاربردی است که شما از اکانت پیشفرضی که برای سرویس ASP.NET تعریف شده است استفاده نمی کنید
  10. از یک Password Policy قوی برای کلیه اکانت های موجود بر روی سرور استفاده کنید.
  11. دسترسی Remote را به حداقل ممکن برسانید ، گروه Everyone را از قسمت Access this computer from network حذف کنید
  12. برای هر کدام از Administrator های سرور یک اکانت جداگانه تعریف کنید و اکانت مشترک ایجاد نکنید
  13. Null Session را غیرفعال کنید یا به بیانی دیگر Anonymous Logon را غیرفعال کنید
  14. برای تفکیک کردن اکانتها و کاربردهایشان حتما بایستی تاییده دریافت شود ( هر شخص نتواند به شخص دیگری دسترسی بدهد)
  15. در گروه Administrators بیشتر از دو کاربر تعریف شده نداشته باشید
  16. فقط اجازه Logon بصورت Local را بدهید یا برای Remote Desktop حتما از رمزنگاری استفاده کنید

چک لیست امنیتی فایل ها و پوشه ها

  1. همیشه چند عدد پارتیشن بر روی هارد دیسک ایجاد کنید
  2. هیچوقت Home Directory مربوط به وب سرور را در پارتیشن سیستم عامل قرار ندهید
  3. بر روی پارتیشن هایی که فایل سیستم آن NTFS است فایل ها و پوشه های خودتان را قرار بدهید
  4. محتویات هر وب سایت را در پوشه ای به غیر از Home Directory وب سرور قرار بدهید که NTFS هم باشد
  5. همیشه یک وب سایت جدید ایجاد کنید و وب سایت پیشفرض یا Default Site را غیرفعال کنید
  6. از وب سرور بصورت متناوب لاگ برداری کنید و لاگها را مرتب بررسی کنید
  7. فایل های Log وب سرور را در پارتیشنی به غیر از پارتیشنی که محتویات وب سایت در آن قرار دارند قرار بدهید ( NTFS باشد )
  8. دسترسی گروه Anonymous و Everyone به پوشه های system32 و پوشه وب سایت ها را محدود کنید
  9. مطمئن شوید که دایرکتوری ریشه یا Root Directory وب سرور به کاربران گروه Anonymous به هیچ عنوان دسترسی نداده باشد
  10. مطمئن شوید که دایرکتوری هایی که شامل محتویات اطلاعاتی وب سرور هستند به کاربران گروه Anonymous به هیج عنوان دسترسی نداده باشند
  11. در هر دو مورد گذشته ترجیحا از گزینه Deny برای Access Control Entry های Permission ها استفاده کنید
  12. قابلیت Remote IIS Administration یا Remote WWW Administration را به همراه سرویس آن غیرفعال و یا حذف کنید
  13. تمامی ابزارهای Resource Kit به همراه SDK ها را از روی وب سرور حذف کنید
  14. تمامی Sample Application ها یا برنامه های پیشفرض مثل وب سایت پیشفرض IIS را حذف کنید ( از جمله صفحات Help )
  15. آدرس IP را از Header حذف کنید ( برای جلوگیری از شناسایی محل یا Content Location )

چک لیست امنیتی Share های شبکه

  1. تمامی Share های بلااستفاده از جمله Administrative share ها را از بین ببرید
  2. حتما دسترسی ها را به افراد مجاز بدهید و هیچوقت گروه everyone را در لیست دسترسی ها قرار ندهید
  3. توجه کنید که سیستم های مانیتورینگی مثل SCOM و SCCM از سری System Center با Administrative Share ها کار می کنند
  4. فقط پورت های مورد استفاده در File and Printer Sharing را در فایروال باز کنید
  5. دسترسی به شبکه اینترنت را فقط از طریق پورت های 80 و در صورت نیاز 443 مجاز کنید
  6. حتما استفاده از اینترنت را محدود کنید و فقط از پروتکل های امنی مثل SSL برای دسترسی به اینترنت استفاده کنید
  7. اگر تعداد استفاده کنندگان از Share ها مشخص است ، محدودیت Concurrent Connections بر روی Share ها بگذارید

چک لیست امنیتی Registry

  1. سرویس Remote Registry را غیرفعال کنید و یا دسترسی به آن را محدود کنید
  2. برای سرورهای Standalone فایل SAM را حتما امن کنید و در تنظیمات رجیستری NoLMHash را فعال کنید
  3. حتما قابلیت های Auditing و Logging را بر روی سرورها فعال کنید
  4. حتما Failed Logon Attempts را Audit کنید
  5. محل Log فایل های IIS را تغییر بدهید
  6. هر چند وقت یکبار Log ها را آرشیو و تجزیه و تحلیل کنید ( حدالمقدور قسمت های امنیتی لاگ ها را )
  7. حداکثر اندازه لاگ فایل را تعریف کنید
  8. دسترسی به فایل Metabase.bin را همیشه Audit کنید
  9. تنظیمات IIS را به گونه ای انجام دهید که قالب W3C Extended Log File نیز بازرسی یا Audit شود
  10. بصورت متناوب از رجیستری خودتان Backup تهیه کنید

چک لیست امنیتی Site ها و Virtual Directory ها

  1. هیچکاه وب سایت ها را بر روی پارتیشن سیستم ایجاد نکنید
  2. تنظیمات Parent Path را غیرفعال کنید
  3. Virtual Directory های خطرناکی مثل IISSamples و IISAdmin و IISHelp و Scripts را حذف کنید
  4. Virtual Directory مربوط به MSADC را حذف کنید
  5. Virtual Directory به نام IIS Internet Printing را حذف کنید
  6. مطمئن شوید که Certificate های سرور معتبر و به روز هستند
  7. از هر Certificate فقط برای کاری که برای آن تعریف شده است استفاده کنید
  8. مطمئن شوید که Public Key مربوط به Certificate ای که دریافت کرده اید معتبر است
  9. مطمئن شوید که Certificate مورد استفاده شما Revoke نشده باشد
  10. ISAPI Filter های بلااستفاده را از روی سرور حذف کنید

اگر نکته ای به خاطر شما می رسد خوشحال می شویم در ادامه مشاهده کنیم. ITPRO باشید


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات