مقاوم سازی سیستم (هاردنینگ – Hardening) در عملیات روزانهی شما به چه معناست؟ چگونه میتوانید سیستم خود را مقاوم کنید، بدون آنکه قرار باشد همهی تیم شما درگیر این ماجرا شوند؟ از چه روشهایی برای ایجاد امنیت استفاده میکنید؟ آیا روش شما با استانداردهای موجود امنیت سیستم انطباق دارد؟ تاثیر مقاوم سازی خودکار در فرآیند ایجاد امنیت سایبری چیست؟
در امنیت فناوری اطلاعات، استانداردها، ابزارها، فناوریها و شیوههای انسانی است که از سیستمهای شما محافظت میکند و باعث کاهش خطر میشود. مقاوم سازی مفهومی است که به تمامی اجزای حفظ امنیت فناوری اطلاعات، گفته میشود.
در این یادداشت، ابتدا به سوالات رایج دربارهی مقاوم سازی سیستم میپردازیم. سپس انواع روشهای هاردنینگ در امنیت IT را بررسی میکنیم. بعد از آن ارتباط بین انطباق (Compliance) و هاردنینگ را توضیح میدهیم و در نهایت دربارهی زیرساخت به عنوان کد صحبت میکنیم، که میتواند باعث مقاوم سازی خودکار در زیرساخت شما شود.
مقاوم سازی سیستم چیست؟
به عمل تقویت امنیت در بین همهی انواع تکنولوژیهای بهکاررفته در IT، مقاوم سازی میگویند. انواع هاردنینگ سیستم عبارتست از سرور، شبکه، برنامه، پایگاه داده و غیره.
مقاوم سازی سیستم یک فرآیند مهم است که سطوح حمله به یک سیستم را به حداقل میرساند. این حملهها اغلب توسط مجرمان سایبری صورت میگیرد. هدف از هاردنینگ سیستم این است که آسیبپذیریها را اصلاح کند. یعنی قبل از اینکه سیستم توسط عوامل تهدید مورد سواستفاده قرار گیرد، یا قبل از اینکه باعث ایجاد وقفه در کسبوکار (مانند قطعی برنامهریزی) شود، بتوان راهحلی را ارائه داد.
نمونههای مقاوم سازی سیستم
هاردنینگ سیستم، سنجشی جامع از امنیت کل سیستم شما است. فناوریهای مختلف نیاز به تاکتیکهای متفاوتی برای مقاومشدن دارد. به این ترتیب، نمونههای نشاندادهشدهی مقاوم سازی سیستم در زیر، دارای تفاوتهای ظریف و چکلیستهای (همهی مواردی که باید در یک سیستم بررسی شود تا از وجود امنیت مطمئن شویم) خاص خود هستند. برای هرکدام از آنها، شیوهی استفاده در سیستم و سپس سنجش کارکرد آن، از دیگری متفاوت است. به همین دلیل، برای ارزیابی عملکرد آنها، باید آن را با بهترین نمونههای موجود قابل اجرا سنجید؛ و نهایتا راهی برای کاهش ریسک پیدا کرد.
برخی از نمونههای مقاوم سازی سیستم
- مقاوم سازی سرور (Server Hardening): شامل ایمنسازی اجزا و کنترل مجوز (مجوز در یک شبکه یا محیط چند کاربره، توانایی کاربر در دستیابی به منابع سیستمی است که توسط مدیر شبکه به حسابهای کاربری داده میشود) سختافزار، نرمافزار و سفتافزار (Firmware) در لایههای مختلف یک سیستمعامل میشود. این میتواند شامل وصله (patching)، بهروزرسانی و احراز هویت چند عاملی (Multi-factor Authentication (MFA)) باشد.
- مقاوم سازی سیستم عامل (Operating System Hardening (OS Hardening)): ایمنسازی نرمافزاری است که مجوزهای سرور را به نرمافزارهای کاربردی میدهد. این فرآیند معمولاً با بهروزرسانیها و وصلههای خودکار انجام میشود. اما میتواند شامل عملیاتی مانند حذف غیرضروری درایور، محدود کردن ایجاد کاربر (Limiting User Creation)، رمزگذاری برای HDD/SSDها و موارد دیگر هم باشد.
- مقاوم سازی برنامهها: شامل وصلهی کد برنامه، استفاده از نرمافزار آنتیویروس، رمزگذاری و مدیریت رمزهای عبور و استفاده از فایروال برای ایمنسازی برنامههای سرور.
- مقاوم سازی پایگاه داده (Database Hardening): کنترل امتیازات پایگاه داده، غیرفعالکردن عملکردهای پایگاه داده و رمزگذاری اطلاعات پایگاه داده. شامل وصلهی سیستم مدیریت پایگاه داده (DBMS)، استفاده از کنترل دسترسی مبتنی بر نقش (RBAC)، محدودکردن امتیازات اداری، و موارد دیگر.
- مقاوم سازی فیزیکی (Physical Hardening): جلوگیری از دسترسی به منابع فناوری در فضای فیزیکی. شامل سنسورهای نفوذ (intrusion sensors)، ایجاد موانعی برای کارکنان، و راهحلهای دیگر برای هاردنینگ محیطهای فیزیکی اطراف فناوریهای سیستم است.
تفاوت بین مقاوم سازی سیستم، سرور، برنامه و سایر موارد
برای حفظ وضعیت امنیتی زیرساخت شما، همهی انواع هاردنینگ اهمیت و کاربرد دارد. یک شبکهی مدرن شامل بسیاری از دستگاههای ناهمگن و فناوریهای متفاوت است. از طرفی این دستگاهها و فناوریها در انواع محیطها، مانند محیط تحت وب، ابر خصوصی و ابر عمومی مدیریت میشود. در نتیجه با توجه به اینکه نوع و مکان سیستمعامل یا سختافزار چیست، با توجه به شرایط، بهترین روش مقاوم سازی را باید اتخاذ کرد.
اما فعالیتهای هاردنینگ سیستم اگرچه از نظر مفهومی مشابه هستند، بر اساس نوع، نقش یا مکان دارایی مورد نظر، متفاوت خواهند بود. برای مثال، نیازهای لازم برای کاربری که در یک مرکز اداری کار میکند کاملا متفاوت است از فردی که در حوزه وب سرور فعالیت میکند.
در یک دارایی، حتی ممکن است از چندین لایهی مقاوم سازی استفاده شود. در این حالت، قوانین برای هر لایه به طور جداگانه باید ایجاد و مدیریت شود. اولویتبندی و مقاوم سازی سیستماتیک هریک از این عوامل، به هرچه بیشتر ایمنشدن سیستم منجر میشود. با این کار دسترسی هکرها به سیستم محدود میشود و همچنین میتوان اختلالات تصادفی و مخرب را کاهش داد.
چکلیست مقاوم سازی سیستم: نمونههای مقاوم سازی سیستم که میتوانید استفاده کنید
چکلیست هاردنینگ سیستم به لیستی از اقدامات و شیوهها اشاره دارد که میتوانید برای اطمینان از مقاومشدن سیستم انجام دهید. بعضی از موارد متداول شامل موارد زیر است:
- الزام رمزگذاری قوی
- غیرفعالکردن خدمات غیرضروری
- تعریف لیست سفید(Whitelist) برنامههای کاربردی
- حذف یا غیرفعالسازی برنامههای غیرضروری
- حذف یا غیرفعالسازی درایوهای زائد
- حفاظت از سیستمعامل پشتیبانیشده (Supported OS)
- اعمال به موقع وصلهها برای آسیبپذیریهای شناختهشده
- تغییر تنظیمات پیشفرض ناامن (تنظیمات پیشفرض، تنظیماتی است که به طور اتوماتیک توسط سیستم عامل به منظور اجرای فایلهای با فرمت خاص استفاده میشود)
- ایجاد قوانین فایروال (Firewall) مناسب
در عمل، مقاوم سازی سیستم از یک چکلیست، موضوعی بزرگتر است. اما این موارد متداول، راهی کلی را برای هاردنینگ سیستم شما، ارائه میدهد. به غیر از این موارد، پیادهسازی فناوری احراز هویت چند عاملی (MFA) و ایجاد کاربران ممتاز(Privileged User) نیز در این راستا اهمیت دارد. و در نهایت انجام تست نفوذپذیری و ممیزی از الزامات مقاوم سازی سیستم است.
چه کسی مسئول مقاوم سازی سیستم است
معمولا، تیمهای امنیتی میتوانند بسیاری از جنبههای هاردنینگ سیستم را مدیریت میکنند، اما عملیات فناوری اطلاعات هم، میتواند مقاوم سازی را موثرتر کند و از میزان تهاجمات بکاهد.
بخشهای عملیات فناوری اطلاعات در پیکربندی و عرضهی اولیه نقش مهمی ایفا میکند. اگر استانداردهای امنیتی از قبل ایجاد شده باشد، میتوان در فرآیند ساخت، مقام سازی را انجام داد. اما وقتی پیکربندی امنیتی بخشی از فرآیند اولیه نباشد، یا تغییری در دارایی ایجاد شود، چه اتفاقی میافتد؟
در اینجا، تیمهای امنیتی، استانداردها را تعریف و سپس از آن نگهداری میکنند. با این حال، بسامد بررسی این تیم، میتواند با نیاز عملیات برای انطباق مستمر با استانداردهای امنیتی، همسو نباشد. برای رفع این مساله، هاردنینگ میتواند موثر باشد. یعنی بدون اینکه کار بیشتر برای تیم تعریف کند و یا نیاز به دورههای آموزشی پیچیده داشته باشد، میتوان انتظار داشت که انطباق مستمر با استانداردها به صورت خودکار، اتفاق میافتد.
در واقع، ترکیب قابلیتهای تیم امنیتی و بخشهای عملیات فناوری اطلاعات، تعادل لازم را برای حفظ امنیت برقرار میکند. کارکنان تیم امنیتی، استانداردهای انطباق را تعریف و بر آن نظارت میکنند، در حالی که عملیات فناوری اطلاعات وضعیت فعلی را ارزیابی و پیکربندیها را در طول مسیر دوباره تنظیم میکند.
چگونه مقاوم سازی سیستم را اندازهگیری کنیم
برای اطمینان از اینکه امنیت سیستم شما در وضعیت مطلوبی قرار دارد، به طور مستمر باید مقررات انطباق (Compliance Regulations) را ارزیابی کرد. سازمانهایی که فاقد هرگونه مقررات رسمی هستند، باید یک سیاست امنیت داخلی جامع برای هدایت فعالیتهای خود ایجاد کنند.
مقاوم سازی با ایجاد پیکربندی خط پایه آغاز میشود. کارشناسان، سازمانها را به استفاده از استانداردهای امنیتی تشویق میکنند. چرا که این استانداردها راهنماییهای متخصصان حوزهی امنیت است که در راستای مقاوم سازی تعریف شده. سیستمها باید ابتدا با خط پایه هماهنگ شود و در ادامه به صورت مستمر بر عملکرد آن نظارت کرد تا میزان انحراف از استاندارد مشخص شود. انحرافات باید به سرعت برطرف شود تا جلوی سواستفاده از یک آسیبپذیری را بگیرد.
تیمهای عملیات IT، برای اسکن امنیت سیستم و انطباق آن با استانداردها، باید تجربهی کافی داشته باشند. این کار زمان و هزینهی زیادی میطلبد. از طرفی برونسپاری آن به تیمهایی که تخصصی این کار را میکنند نیز هزینهبر است و حتی ممکن است نتیجه زمانی تاثیر بگذارد که از وقوع اولیهی حادثه، مدتی گذشته باشد.
در حالی که هدف از اسکن امنیت این است که سنجش با توجه به استانداردهای امنیتی انجام شود و بتوان سیاستهای مقاوم سازی را در سیستم پیاده کرد. در این فرآیند تاثیرگذاری کارکنان باید به حداقل برسد تا بتوان ریسک را هم کاهش داد.
انطباق با استانداردها چگونه به مقاوم سازی سیستم شما کمک میکند؟
مقاوم سازی باید با چارچوبهای معتبر و استانداردهای پذیرفتهشده انجام شود؛ از طرفی این کار بسته به هر صنعت، تفاوتهایی نیز دارد. استانداردهای امنیتی مثل معیار CIS و DISA STIG (Defense Information Security Agency (DISA) Security Technical Implementation Guide (STIG)/قوانینی که اقدامات امنیتی سیستم فناوری اطلاعات را برای سازمانهای دولتی و دفاعی مشخص میکند) از انواع استاندارهای معتبر هستند.
چارچوبهای انطباق و استانداردهای امنیتی، راهنمایی برای هاردنینگ سیستم است. هم راهکار ارائه میکند و هم امکان ارزیابی ریسک و کاهش آن را فراهم میسازد. همچنین این ویژگی را نیز دارد که به شما امکان میدهد مجموعهای از قوانین را بسازید، به آن پایبند باشید و به طور مداوم آن را اصلاح کنید. عملا به جای اختراع مجدد چرخ برای هر آسیب، موقعیت قرارگرفتن در برابر آسیب را کم میکند، از قرارگرفتن در برابر حوادث جدید میکاهد و جلوی تکرار چندبارهی تلاش برای رفع خطر را میگیرد.
چگونه خودکارسازی، مقاوم سازی سیستم را آسانتر میکند
هاردنینگ سیستم یک فعالیت پیچیده و نیازمند به منابع است. همچنین به مهارتهای تخصصی امنیتی نیاز دارد. اگر قرار باشد همهی داراییهای فناوری اطلاعات یک سازمان از مقاوم سازی بهرهمند شود، و از طرفی به طور مداوم مورد ارزیابی قرار گیرد، با توجه به زمانی که این کار به خود اختصاص میدهد، میتوان به این نتیجه رسید که راهی جز خودکارسازی (اتوماسیون/ Automation) پیش روی سازمانها نیست.
برای مثال، موجودی یک سوپرمارکت مدرن را در نظر بگیرید. دهها راهرو، صدها قفسه، و هزاران جنس، همگی باید در جای درستی قرار گیرد، قیمت دقیق و تاریخ انقضا مشخص و تاییدشده باشد. سوپرمارکتها موجودی خود را بر اساس خریدهایی که از طریق صندوق انجام میشود، همراه با ممیزی گاهبهگاه یک شبه که معمولاً توسط کارکنان موقت انجام میشود، محاسبه میکنند. اما چند بار پیش آمده که به سوپرمارکت بروید و با تخممرغهای دور ریخته شده و غلات فاسد مواجه شده باشید؟ یا موجودی انبار و قیمت اجناس با آنچه در کامپیوتر آنها ثبت شده است، مطابقت ندارد؟
واقعیت این است که انجام همهی کارها به صورت دستی، هفتهها طول میکشد و عملا بعد از اتمام کار شما، نتیجهی بررسی از مدتها قبل قدیمی شده است. اکنون به آنالیز گرفتن موجودی یک سوپرمارکت فکر کنید. در مورد گرفتن موجودی داراییهای فناوری هم همینطور است. برای اطمینان از اینکه:
- فقط برنامههای مجاز نصب شده است؛
- تنظیمات پیکربندی مناسب است؛
- سیستم عاملها پشتیبانی و وصله میشود؛
- و قوانین صحیح روی فایروالهای بحرانی اعمال شده است؛
همانطور که میتوانید تصور کنید، بدون درجاتی از خودکارسازی، عملا ممکن نیست.
نتیجهگیری اتوماسیون مقاوم سازی
خودکارسازی، تلاشهای عملیاتی خطاساز و وقتگیر را از بین میبرد. شما ممکن است نتوانید به طور کامل سیستم خود را مقاوم سازی کنید ( تاکید: هاردنینگ، یک اندازهگیری کیفی است، نه یک محصول یا خدمات)، اما با یک دید عمیق و با ورودی انسانی (Human Input) کمتر، میتوانید تجزیهوتحلیل دقیق و کاملی را برای هر جنبه از پیکربندی در سراسر سیستم خود به دست آورید.
به جای اینکه صبر کنید تا سالی یک بار ممیزی انجام دهید، میتوانید در عرض چند دقیقه خطا را، که ممکن است ظاهر شود و ماهها در همانجا بماند، تشخیص دهید. حتی میتوان مشکلات را بهطور خودکار اصلاح کرد. عملا خودکارسازی کمک میکند که اجزای مختلف سیستم شما مقاوم شود. سپس میتوانید به همان شکل خودکار، انطباق مداوم با استانداردها و چارچوبهای حیاتی را اعمال کنید.