Server Hardening چیست و چگونه انجام میشود؟
Server Hardening (امنسازی سرور) مجموعهای از عملیاتها و تکنیکها برای افزایش امنیت سرور تعریف میشود. Server Hardening از الزامات چارچوبهای امنیتی مانند PCI-DSS است که عموما در هنگام پذیرش سازمانها از ISO27001 شامل میشود.
System Hardening (بالا بردن مقاومت سیستم) مجموعهای از ابزارها، تکنیکها و بهترین روشها برای کاهش آسیبپذیری در برنامههای فناوری، سیستمها، زیرساختها، سیستم عامل و سایر بخشهاست. هدف از System Hardening کاهش خطر امنیتی با حذف مسیرهای احتمالی حمله و متراکم شدن سطح حمله سیستم است. با حذف برنامههای اضافی، عملکردهای حسابها، برنامهها، پورتها، مجوزها، دسترسیها و غیره مهاجمان و بدافزارها فرصت کمتری برای جای گرفتن در اکوسیستم IT و نرم افزار crm شما دارند.
در ادامه بخشهای مختلفی که میتواند از این نوع حملات جلوگیری کند و عملا Server Hardening را انجام دهد به تفکیک آمده است و کارهایی که در هر بخش میبایست انجام شود شرح داده شده است.
بیشتر بخوانید: احراز هویت چندعاملی
بخش تنظیمات عمومی
1. پرینتر یا هیچگونه درایور غیر مرتبط در سرور نصب کنید.
2. در سروری که دامین کنترلر (Domain Controller) است، وب سرور IIS نصب نکنید.
3. حداقل 2 کارت شبکه باید در سرور وجود داشته باشد. یک کارت شبکه برای ارتباط جهت تنظیمات مدیریتی و یک کارت شبکه برای اتصال به شبکه و سرویسدهی.
4. جهت ارتباط با سرور به صورت ریموت، پروتکلهای مرتبط را رمزگذاری (encrypt) کنید و تنظیمات امنیتی لازم جهت دسترسیهای ناموفق و غیرمجاز را انجام دهید.
5. سرویسهایی از ویندوز را که به آنها نیازی ندارید، غیرفعال کنید.
6. در صورت عدم نیاز به برنامههای پیش فرض نصب شده در ویندوز، آنها را غیرفعال کنید.
7. پروتکلهای نصب شده در تنظیمات شبکه را بازبینی کنید و در صورت عدم نیاز، آنها را حذف یا غیرفعال نمایید.
8. سرویس Windows Update را غیرفعال کنید و بهروزرسانیهای مرتبط را ابتدا در محیط تست، نصب کرده و بعد از آزمایشهای زمانبندی شده در سرور اصلی نصب کنید.
9. اطمینان حاصل نمایید که سرویسهای فعال با حداقل دسترسی در حال اجرا هستند.
10. سرویسهایی که به آنها نیاز ندارید، مانند FTP, SMTP, NNTP را غیرفعال کنید.
11. سرویس Telnet را غیرفعال کنید.
12. چنانچه برنامههای موجود در سرور و سازمان شما به سرویس ASP.NET وابستگی ندارند، این سرویس را غیرفعال کنید.
13. چنانچه برنامههای موجود در سرور و سازمان شما به سرویس WebDAV وابستگی ندارد، این سرویس را غیرفعال کنید و در صورتی که به این سرویس نیاز دارید تنظیمات امنیتی مرتبط را انجام دهید.
14. تنها در صورت نیاز، کامپوننت Data Access را نصب کنید.
15. نسخه HTML Internet Services Manager وب سرور IIS را نصب نکنید.
16. تنها در صورت نیاز، سرویس MS Index Server را نصب کنید.
17. تنظیمات مرتبط با امنسازی TCP/IP را انجام دهید.
18. گزینه NetBIOS را در تنظیمات کارت شبکه غیرفعال کنید. امکان SMB 1.0/CIFS را در قسمت Features حذف کنید و در صورتی که به این سرویس نیاز دارید، آپدیت و Patchهای مرتبط با این سرویس را نصب کنید. پورتهای 137, 138, 139, 445 را در فایروال غیرفعال کنید.
19. سیاستها و تنظیمات مرتبط با Recycle Bin و مدیریت Page Fileها را انجام دهید.
20. تنظیمات BIOS را در سرورها مرور کنید و در صورت نیاز آپدیت کنید.
21. درایوهای اکسترنال مانند Floppy و CD-ROM و... را از سرور جدا کنید و یا در صورت نیاز به آنها تنظیمات امنیتی مرتبط را انجام دهید.
بخش حسابهای کاربری
1. کاربرهای تعریف شده در سیستم که از آنها استفاده نمیشود را حذف کنید.
2. کاربر Guest را غیرفعال کنید.
3. کاربر Administrator را به نامی دیگر تغییر دهید و پسورد قوی برای آن تنظیم کنید.
4. در صورتی که سیستم یا اپلیکیشن از IUSR_MACHINE استفاده نمیکند، آن را غیرفعال کنید.
5. چنانچه دسترسی به اپلیکیشن شما به صورت anonymous هم امکانپذیر است، برای این حالت نیز تنظیم و دسترسیهای حداقلی انجام دهید.
6. در فولدرهای وب به هیچ عنوان مجوز Write به حسابهای anonymous ندهید.
7. اگر در وب سرور چند وب اپلیکیشن دارید به ازای هر کدام یک حساب کاربری anonymous ایجاد کنید.
8. چنانچه به سرویس ASP.NET نیاز دارید، پایینترین سطح دسترسی را برای این سرویس تنظیم کنید.
9. تنظیمات و سیاستهای قوی را برای پسوردها اعمال کنید.
10. گروه Everyone را از سیاست Access this computer from the network حذف کنید.
11. تنظیمات غیرفعال کردن NULL Sessions را انجام دهید.
12. حداکثر 2 کاربر با سطح دسترسی ادمین در سرور تعریف کنید.
13. تنظیمات امنیتی مرتبط با دسترسی به صورت ریموت را انجام دهید و اجازه ورود Local را فقط به کاربرهای ادمین بدهید.
14. سیاست Audit Process Creation group را فعال کنید. برای این تنظیمات مسیر زیر را دنبال نمایید.
Computer configuration\Windows settings\Security Settings\Advanced Audit Policy Configuration\System Audit Policies\Detailed Tacking
بخش Files and Directories
1. وب سرور را به هیچ عنوان در درایوی که ویندوز وجود دارد نصب نکنید و از دیسک یا پارتیشنهای متفاوت برای پیادهسازی اپلیکیشنها استفاده کنید.
2. محتوا و فایلهای وب سایت را بر روی پارتیشنهای غیرسیستمی قرار دهید.
3. در IIS یک وب سایت جدید ایجاد کنید و default web site را که به صورت پیش فرض نصب شده را غیرفعال یا حذف کنید.
4. فایلهای لاگ (LOG) را در پارتیشن سیستمی یا جایی که منابع وب سایت شما وجود دارد قرار ندهید.
5. دسترسی گروه Everyone را به \WINNT\system32 و Web directories محدود کنید.
6. اطمینان حاصل کنید که دسترسی Write برای کاربران اینترنتی برای کل دایرکتوری و زیرشاخههای دیگر در وب سایت denied شده باشد.
7. اپلیکیشن remote IIS administration را در مسیر WINNT\System32\Inetsrv\IISAdmin حذف کنید.
8. هر گونه SDK و Resource Kit و Utilities و ابزارهای غیر مرتبط در سیستم را حذف کنید.
9. اپلیکیشنهای پیش فرض نصب شده در مسیر WINNT\Help\IISHelp و Inetpub\IISSamples را حذف کنید.
بخش Shares
1. پوشههای Share شده در سیستم را بازبینی کرده و در صورت عدم نیاز حذف یا غیرفعال کنید.
2. دسترسی گروه Everyone به پوشههای Share شده را حذف کنید.
3. منابع سیستمی Share شده مانند (C$ and Admin$) را حذف کنید. توجه داشته باشید که Microsoft Management Server و Microsoft Operations Manager به Administrative shares نیاز دارند و قبل از تنظیمات میبایست این موارد را بررسی کنید.
4. ترافیک اینترنت و اینترانت را بر بستر SSL پیادهسازی کنید.
بخش Registry
1. سرویس Remote Registry را غیرفعال و در صورت نیاز به آن تنظیمات امنیتی لازم را انجام دهید.
2. سیاست مرتبط با failed logon را فعال و تنظیم کنید.
3. حجم فایلهای LOG را طبق نیاز اپلیکیشن و نیازمندیهای مرتبط با امنیت، مدیریت و تنظیم کنید.
4. به صورت منظم لاگ فایلها را بازبینی کنید و از آنها Backup بگیرید.
بخش پایگاه داده
1. فقط Componentهای مورد نیاز را نصب کنید.
2. سرویسها و امکانات غیرضروری را غیرفعال کنید.
3. پروتکلهایی که از آنها استفاده نمیشود را غیرفعال نمایید.
4. در صورت امکان پورتهای پیش فرض را تغییر دهید.
5. SQL Server instance را مخفی کنید یا سرویس SQL Server Browser را غیر فعال نمایید.
6. دسترسی به SQL Server configuration و فایلهای دیتابیس را محدود کنید.
7. دسترسی به فایلهای Backup را محدود کنید.
8. امکان xp_cmdshell را غیرفعال کنید.
9. چنانچه اپلیکیشن شما از حساب کاربری SA استفاده نمیکند نام آن را تغییر داده و غیرفعال کنید.
10. گروه Administrators را از قسمت Logins در SQL Server حذف کنید.
11. از حالت Windows Authentication برای وصل شدن به SQL Server استفاده کنید.
12. تمامی اکانتها جهت ارتباط با SQL Server میبایست در Active Directory تعریف و کنترل شوند.
13. حسابهای کاربری که طبق سیاستها به صورت Logon as a service عمل میکنند میبایست با حداقل دسترسی تنظیم شوند.
14. فعال کردن Auditing در SQL Server برای کاربرانی که لاگین موفق و ناموفق دارند.
15. مانیتور کردن منظم حجم فایلهای LOG
منبع: مجموعه مقالات شرکت سامانه های مدیریت
ترجمه: سام قائدی