مقاوم سازی بهره برداری از نرم افزار (Hardening)

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

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

مقاوم‌سازی نرم افزار مجموعه ملاحظات، سیاست‌ها و اقداماتی است که در سطوح تولید، استقرار، میزبانی، راهبری و بهره برداری نرم افزار باید رعایت و اجرا شوند.

در چرخه تولید محصولات ایده، امنیت در صدر نیازمندی های غیرعملکردی از اهم موضوعات است (Nonfunctional requirements یا NFR ها مجموعه ای از مشخصات هستند که قابلیت ها و محدودیت های عملیاتی سیستم را توصیف می کنند. از جمله مواردی مانند سرعت، امنیت، اطمینان پذیری، یکپارچگی داده ها).

به همین خاطر اقدامات متعددی در سطح برنامه پیش‌بینی شده و نرم افزارها مجهز به مکانیزم‌های دفاعی و فرآیند های پیشگیری از آسیب های ناشی از خطاهای سیستمی یا انسانی هستند، همچنین در جدید ترین ارزیابی انجام شده توسط سازمان فناوری اطلاعات ایران بر روی سامانه یکپارچه آموزش، یادگیری و عملکرد ایده بر روی استاندارد ISO/IEC/ISIRI 15408 مفتخر به کسب گواهینامه افتا (امنیت فضای تولید و تبادل اطلاعات) گردیده است.

پیش بینی تدابیر امنیتی در نرم افزار بخشی از فرایند امن سازی است که به صورت پیش فرض در کارکرد نرم افزار لحاظ شده و در اختیار همه مشتریان ایده قرار می گیرد. از سوی دیگر نیز مباحث شبکه و زیرساخت سرور میزبان دخیل است که باید توسط کارشناسان فناوری اطلاعات سازمان اجرایی گردد و متخصصان فنی ایده نیز توصیه‌ها و راهکارهای پیشنهادی را در اختیار سازمان بهره بردار قرار می دهند.

خدمات مقاوم سازی شامل چه مواردی می‌شود؟

علاوه بر نکات مرتبط با تولید و زیرساخت که پیش تر اشاره شد، موارد تخصصی متعددی نیاز به بررسی، پیکربندی، ارایه مستندات و آموزش، اقدام فنی خواهد داشت که در قالب خدمات مقاوم سازی قابل ارایه می باشند که در ادامه به  تشریح مراحل و فرآیندهای مقاوم سازی و امن سازی بهره برداری از نرم‌ افزار می پردازیم:

بروزرسانی زیرساخت‌های نرم افزاری
و مقاوم سازی کانال های ارتباطی

۱- امن سازی کانال های ارتباطی

تامین امنیت کاربران و حفاظت از داده های مهم آنها در بسیاری از موارد بر عهده صاحب وب سایت است. تبدیل پروتکل HTTP به HTTPS یکی از مهم ترین کارهایی است که صاحبان وب‌سایت ها برای ارتقای امنیت وب‌سایت خود و جلوگیری از سرقت اطلاعات کاربران توسط حملات سایبری انجام می‌دهند. در این زمینه گواهی معتبر تحت دامین های سازمان باید توسط ایشان تهیه و جهت نصب و پیکربندی در اختیار کارشناسان ایده قرار گیرد.

SSL(Secure Sokets Layer) : درست به همان دلیل که هرگز بزرگترین رازهای شخصی خود را در واگن های شلوغ مترو فریاد نمی‌زنید، لازم است پروتکل امنیتی SSL را بشناسید. چرا که گردش در سایت هایی که از گواهینامه امنیتی SSL برخوردار نیستند، درست مثل همین است. گواهینامه SSL به عنوان یک پروتکل امنیتی برای ایجاد ارتباط رمزنگاری شده بین سرور و مرورگر شناخته می‌شود، که در انواع DV، EV و OVارائه می‌شود.

TLS(Transport Layer Security) : پروتکل TLS در واقع نسخه تکامل یافته پروتکل رمز گذاری SSL است و به همین خاطر اصطلاحات TLS و SSL گاهی اوقات به جای یکدیگر استفاده می شود.

علاوه بر راه اندازی برنامه وب تحت پروتکل https به جای http باید تنظیمات متعدد نیز در سرور در جهت غیر فعال سازی الگوریتم های ضعیف و پروتکل های قدیمی صورت پذیرد. این تنظیمات شامل Server Protocols، Client Protocols، Ciphers، Hashes و Key Exchanges است.

۲- استفاده از نسخه بروز ویندوز و پایگاه داده

در صورت عدم استفاده از نسخ بروز، با تایید سازمان بهره بردار، نصب مجدد جهت مهاجرت به زیرساخت بروز در دستور کار قرار می گیرد و علاوه بر Windows Server نسخه Microsoft SQL Server نیز آپدیت شده و آخرین update patch ها نصب می شوند.

پیکربندی قوانین امنیتی طبق شیوه های بهینه
(Best Practices)

هدایت کاربران و سطوح دسترسی : تعیین حدود اختیارات کاربران و راهبران نرم افزار (با توجه ترکیب سیاست‌های سازمان، فرهنگ سازمانی، تجربه ایده در استقرار صدها پروژه بهره برداری نرم افزاری و دانش همکاران فنی ایده) می تواند مورد بازبینی قرار گیرد تا طبق راهبردهای اعلامی مراجع امنیتی بین المللی و داخلی نظیر مرکز افتا با کمترین تاثیر منفی در کاربری تنظیم شود.

پیکربندی شرایط رویدادنگاری، الزامات پیچیدگی رمز و زمان بندی الزام تغییر منظم، روش های بازیابی رمز، محدود نمودن فعالیت سامانه ها در زمان های عدم استفاده، مدیریت نشست‌ها مثال های این راهبردها هستند. روش های ورود نظیر مکانیزم احراز هویت یکپارچه (SSO)، رمز یکبار مصرف (OTP)، ورود دو مرحله ای (Two Step Verification) و ورود از طریق سامانه های جانبی نظیر پنجره ملی خدمات هوشمند نیز مکمل این مباحث هستند.

مقاوم سازی پایگاه داده

صرف نظر از نسخه SQL Server، ملاحظات امنیتی نظیر جلوگیری ازسرقت داده‌ها و جامعیت داده‌ها نیاز به توجه مضاعف دارد. درصورتی‌که داده‌ها محافظت نگردند، ممکن است به علت دستکاری و تغییرات غیرعمدی یا خرابکارانه پاک شوند یا تغییر یابند.

از این رو در اینجا به ذکر برخی از روش های جلوگیری از این آسیب ها می‌پردازیم:

  • نصب، به روز رسانی ها و وصله ها
  • نصب و بروزرسانی به آخرین نسخه بسته های سرویس SQL Server & Hotfixs
  • کاهش سطح آسیب پذیری
  • پیکربندی Distributed_Queries & CLR_SQL Server & Ownership Chaining & Mail XPs & Automation Procedures
  • احراز هویت و مجوزدهی
  • پیکر بندی و محدودیت دسترسی Authentications, Gest_Users
  • سیاست های کلمه عبور
  • پیکر بندی Must_Change, Check_Expiration, Check_Policy
  • بازرسی و ورود
  • بهینه سازی Error Logs & SQL Server Audit
  • پیکربندی توسعه نرم افزار
  • پیکربندی Assembly Permission & CLR Asseblies
  • رمزنگاری
  • پیکربندی کلید های متقارن و Symmetric Key

مقاوم سازی وب سرور
(IIS)

در این زمینه موارد متعدد مدنظر است که برخی به شرح زیر است :

مقاوم سازی IIS (Internet Information Services)

  • عدم نصب نرم‌افزار بر روی درایو سیستمی
  • پیکر بندی Host Header
  • پیکر بندی Directory Browsing
  • منحصر به فرد بودن نام Application Pools
  • پیکربندی application pool identity
  • محدودسازی Authorization Roles
  • پیکربندی سایت ها با اطلاعات حساس یا وب سرویس با خدمات غیر عمومی
  • استفاده از گواهینامه های SSL, TLS
  • بهینه سازی Form Authentication
  • پیکربندی لایه‌های Form Authentication
  • استفاده از روش های رمزگذاری پیچیده برای PasswordFormat
  • سایت ها به روش Deployment Retail
  • پیکربندی Credentialها
  • پنهان بودن جزئیات خطای IIS Http از راه دور
  • تنظیم HttpCookie برای SessionState
  • پیکربندی Machine Key
  • پیکربندی global .NET trust level
  • مدیریت Double-Encoded
  • مدیریت Http Trace Method
  • بهینه سازی فایل های Unlisted
  • اطمینان از عدم نوشتن و اجرای اسکریپت توسط Handler
  • پیکربندی notListedIsapisAllowed
  • پیکربندی notListedCgisAllowed
  • ایجاد محدودیت های Dynamic IP Address
  • پیکربندی Advanced IIS Logging
  • پیکربندی ETW Logging
  • پیکربندی درخواست های FTP

در صورت تمایل به بهره مندی از امکانات تشریح شده می توانید از طریق سامانه پشتیبانی ایده تیکت ثبت فرمایید یا با شماره زیر تماس حاصل نمایید :

۰۲۱-۴۹۱۱۲۰۰۰  داخلی ۴