مقاوم سازی (Hardening) سیستمها مجموعهای از ابزارها، تکنیکها و بهترین شیوهها برای کاهش آسیبپذیری در برنامههای کاربردی فناوری، سیستمها، زیرساختها، سختافزار و سایر زمینهها است. هدف از مقاوم سازی (Hardening) سیستمها کاهش ریسک امنیتی با حذف بردارهای حمله احتمالی و متراکم کردن سطح حمله سیستم است. با حذف برنامههای اضافی، توابع حسابها، برنامهها، پورتها، مجوزها، دسترسی و غیره مهاجمان و بدافزارها فرصتهای کمتری برای به دست آوردن جای پایی در اکوسیستم فناوری اطلاعات شما دارند.
سختسازی سیستمها نیازمند یک رویکرد روش مند برای ممیزی، شناسایی، بستن و کنترل آسیبپذیریهای امنیتی بالقوه در سراسر سازمان است. انواع مختلفی از فعالیت های مقاوم سازی (Hardening)سیستم وجود دارد، از جمله:
- مقاوم سازی (Hardening) برنامه های کاربردی
- مقاوم سازی (Hardening) سیستم عامل
- مقاوم سازی (Hardening) سرور
- مقاوم سازی (Hardening) نقطه پایانی
- مقاوم سازی (Hardening) پایگاه داده
- مقاوم سازی (Hardening) شبکه
اگرچه اصول سختکاری سیستم جهانی است، ابزارها و تکنیکهای خاص بسته به نوع سختکاری که انجام میدهید متفاوت است. مقاوم سازی (Hardening)سیستم در طول چرخه عمر فناوری، از نصب اولیه، از طریق پیکربندی، تعمیر و نگهداری و پشتیبانی، تا از کار انداختن پایان عمر مورد نیاز است.
چگونه یک سیستم را مقاوم (Harden) می کنیم؟
شما یک سیستم را با کاهش «سطح حمله» مقاوم (Harden) میکنید، ترکیبی از تمام نقصهای احتمالی و درهای پشتی فناوری میتواند توسط عوامل تهدید مورد سوء استفاده قرار گیرد. این آسیبپذیریها میتوانند به روشهای مختلفی رخ دهند. آسیب پذیری های سطح حمله رایج عبارتند از:
- رمزهای عبور پیشفرض – مهاجمان میتوانند از کرکرهای رمز عبور خودکار برای حدس زدن پیشفرضها استفاده کنند. سطح حمله ای که این نشان می دهد می تواند بزرگ باشد اگر از همان پیش فرض ها در بسیاری از نقاط پایانی مختلف استفاده شود – از دسکتاپ گرفته تا اینترنت اشیا – یا حساب ها.
- رمزهای عبور رمزگذاری شده و سایر اعتبارنامه های ذخیره شده در فایل های متنی ساده می توانند سطح حمله را به چند روش مهم افزایش دهند. اگر در کد مستقر شده فراموش شوند یا به طور عمومی در معرض دید عموم قرار گیرند، اعتبارنامه هاردکد می تواند یک درب پشتی به سازمان ارائه دهد.
- آسیبپذیریهای نرمافزار و سیستمافزار اصلاحنشده از لحاظ تاریخی یکی از بزرگترین عوامل حمله به سطوح هستند. در حالی که وصله یک آسیبپذیری را کاهش میدهد، وصلهها مانند تهدیدات روز صفر همیشه در دسترس نیستند. علاوه بر این، برخی از وصله ها ممکن است برای اجرا خیلی مخرب باشند یا از نظر اقتصادی امکان پذیر نباشند.
- فقدان یا کمبود کنترل های دسترسی. با گسترش فضای ابری و تحول دیجیتال، حسابها و دسترسیها منفجر شده است. سطح حمله حساب فقط انسان ها و کارمندان نیست، بلکه به طور فزاینده ای ماشین ها را نیز درگیر می کند. در محیطهای ابری، دسترسیهای ممتاز و حسابها ممکن است پویا و زودگذر باشند، که تلاشها برای به دست آوردن دید و کنترل بر این خطر عظیم را پیچیدهتر میکند.
- بایوس، فایروال ها، پورت ها، سرورها، سوئیچ ها، روترها یا سایر بخش های زیرساخت پیکربندی ضعیفی دارند. با رشد قوی در زیرساخت های ابری و ترکیبی، محیط های فناوری اطلاعات به طور فزاینده ای پیچیده می شوند. این پیچیدگی زمینه مناسبی برای پیکربندیهای نادرست است که نه تنها میتواند باعث از کار افتادن یا کار نکردن سیستمها شود، بلکه میتواند حفرههای امنیتی خطرناکی نیز ایجاد کند. پیکربندیهای نادرست مانند پورتهای باز منجر به برخی از بدترین رخنههای ابری در سالهای اخیر شده است، مانند افشای ناخواسته سطلهای داده یا ارائه دربهای پشتی در دسترس عموم به زیرساختهای حیاتی.
- رمزگذاری نشده یا به اندازه کافی رمزگذاری نشده، ترافیک شبکه یا داده های در حالت استراحت می تواند دسترسی مهاجمان به داده ها یا استراق سمع مکالمات و دسترسی و به طور بالقوه به دست آوردن اطلاعات مهم (مانند رمزهای عبور) مورد نیاز برای پیشبرد حمله را آسان کند.
علاوه بر این، مرکز امنیت اینترنت (CIS) دستورالعمل های به روز شده ای را در سایت خود در مورد پیکربندی بهترین عملکرد سیستم برای موارد استفاده خاص ارائه می کند. معیارهای CIS شامل بیش از 100 دستورالعمل در 25 خانواده محصول فروشنده (Amazon Linux، Amazon AWS، Apple iOS، Apple macOS، Checkpoint Firewall، Cisco، Docker، Google Cloud، Microsoft Azure، و غیره) است.
10 نمونه از بهترین روش ها برای مقاوم سازی (Hardening)سیستم ها:
نوع مقاوم سازی که انجام میدهید به خطرات موجود در فناوری موجود، منابعی که در دسترس دارید و اولویت ایجاد اصلاحات بستگی دارد.
- سیستم های موجود خود را حسابرسی کنید: یک ممیزی جامع از فناوری موجود خود انجام دهید. از تست نفوذ، اسکن آسیبپذیری، مدیریت پیکربندی و سایر ابزارهای ممیزی امنیتی برای یافتن نقصهای سیستم و اولویتبندی رفعها استفاده کنید. انجام ارزیابی های مقاوم سازی (Hardening)سیستم در برابر منابع با استفاده از استانداردهای صنعتی از NIST، Microsoft، CIS، DISA، و غیره
- یک استراتژی برای سخت شدن سیستم ها ایجاد کنید: نیازی نیست همه سیستم های خود را یک جا سخت کنید. در عوض، یک استراتژی و برنامه بر اساس خطرات شناسایی شده در اکوسیستم فناوری خود ایجاد کنید و از یک رویکرد مرحلهای برای اصلاح بزرگترین نقصها استفاده کنید.
- آسیبپذیریها را فوراً وصله کنید: اطمینان حاصل کنید که یک سیستم شناسایی و وصله آسیبپذیری خودکار و جامع دارید. به طور سیستماتیک آسیبپذیریها را شناسایی کرده و اصلاح را در اولویت قرار دهید. در برخی موارد، آسیب پذیری ها قابل اصلاح نیستند. در این موارد، اطمینان حاصل کنید که اقدامات کاهشی دیگری وجود دارد.
- سخت شدن شبکه: مطمئن شوید که فایروال شما به درستی پیکربندی شده است و همه قوانین به طور منظم بررسی می شوند. ایمن نقاط دسترسی از راه دور و کاربران؛ هر پورت شبکه باز استفاده نشده یا غیر ضروری را مسدود کنید. غیر فعال کردن و حذف پروتکل ها و سرویس های غیر ضروری؛ پیاده سازی لیست های دسترسی. رمزگذاری ترافیک شبکه
- سخت شدن سرور: همه سرورهای میزبان شرکت را در یک مرکز داده امن قرار دهید. هرگز سخت شدن را روی سرورهای تولید آزمایش نکنید. همیشه سرورها را قبل از اتصال آنها به اینترنت یا شبکه های خارجی سخت کنید. از نصب نرم افزارهای غیر ضروری روی سرور خودداری کنید. سرورها را به طور مناسب جدا کنید. اطمینان حاصل کنید که اشتراکهای ابری به درستی راهاندازی شدهاند و حقوق و دسترسیها مطابق با اصل کمترین امتیاز محدود است. در محیطهای ابری، کاهش دسترسی به پورت ها نیز اهمیت ویژهای دارد تا دادهها به طور ناخواسته لو نرود یا دسترسی درب پشتی به زیرساختها فراهم شود.
- سخت شدن نقطه پایانی: حقوق مدیریت محلی را در تمام نقاط پایانی ویندوز و MacOS حذف کنید. مطمئن شوید که هیچ ایستگاه کاری، لپتاپ یا اینترنت اشیاء رمز عبور پیشفرض ندارند. هر گونه نرم افزار غیر ضروری را حذف کنید و هرگونه ارتباط غیر ضروری را مسدود کنید.
- سخت شدن برنامه: هر جزء یا عملکردی را که نیاز ندارید حذف کنید. محدود کردن دسترسی به برنامه ها بر اساس نقش و زمینه کاربر (مانند کنترل برنامه). تمام فایل های نمونه و رمزهای عبور پیش فرض را حذف کنید. پسوردهای برنامه باید از طریق یک راه حل مدیریت رمز عبور برنامه/مدیریت رمز عبور ممتاز مدیریت شوند، که بهترین شیوه های رمز عبور (چرخش رمز عبور، طول و غیره) را اعمال می کند. سخت شدن برنامه ها همچنین باید مستلزم بازرسی ادغام با سایر برنامه ها و سیستم ها و حذف یا کاهش مولفه ها و امتیازات یکپارچه سازی غیر ضروری باشد.
- سختسازی پایگاه داده: ایجاد محدودیتهای مدیریتی، مانند کنترل دسترسی ممتاز، در مورد کارهایی که کاربران میتوانند در پایگاه داده انجام دهند. رمزگذاری اطلاعات پایگاه داده – هم در حال انتقال و هم در حالت استراحت. اجرای رمزهای عبور امن؛ معرفی امتیازات کنترل دسترسی مبتنی بر نقش (RBAC) و حذف حساب های استفاده نشده؛
- سخت شدن سیستم عامل: بهروزرسانیهای سیستمعامل، بستههای سرویس و وصلهها را بهطور خودکار اعمال کنید. حذف درایورهای غیر ضروری، به اشتراک گذاری فایل، کتابخانه ها، نرم افزارها، خدمات و قابلیت ها؛ رمزگذاری ذخیره سازی محلی؛ سخت کردن مجوزهای رجیستری و سایر سیستم ها؛ ثبت تمام فعالیت ها، خطاها و هشدارها؛ پیاده سازی کنترل های کاربر ممتاز
- حسابها و امتیازات غیرضروری را حذف کنید: با حذف حسابهای غیرضروری (مانند حسابهای موقت و حسابهای استفاده نشده) و امتیازات در سرتاسر زیرساخت فناوری اطلاعات خود، کمترین امتیاز را اعمال کنید. این یکی از قدرتمندترین روش های امنیتی برای کاهش سطح حمله است.
مزایای سخت شدن سیستم ها
سخت شدن سیستم ها مستلزم تلاش مستمر است، اما باعث افزایش امنیت در سراسر سازمان شما به طرق ذیل می شود:
- عملکرد بهینه سیستم : از آنجایی که برنامه های کمتر و عملکرد کمتر به این معنی است که خطر مشکلات عملیاتی، پیکربندی نادرست، ناسازگاری و سازش کمتر است.
- امنیت بهبود یافته: کاهش سطح حمله منجر به کاهش خطر نقض داده ها، دسترسی غیرمجاز، هک سیستم یا بدافزار می شود.
- انطباق و قابلیت حسابرسی ساده: برنامه ها و حساب های کمتر همراه با محیط کمتر پیچیده به این معنی است که حسابرسی محیط معمولا شفاف تر و ساده تر خواهد بود.