برای ایمنسازی بهتر برنامههای کاربردی ابری، باید درک کنید که امنیت برای هر لایه جدید stack برنامه چه مفهومی دارد. همچنین باید این نکته را بدانید که برای امن بودن یک برنامه، به یک مجموعه ابزار امنیتی مدرن در طول زمان توسعه برنامه نیاز دارید. این مقاله به نحوه کاهش خطرات و ایمنسازی برنامههای مستقر بر روی ابر میپردازد.
آنچه در این مقاله میخوانید:
دسته خطر امنیتی: هویت و دسترسی
دسته خطر امنیتی: جداسازی و حفاظت برنامه
دسته خطر امنیتی: امنیت دادهها
دسته خطر امنیتی: خطرات قابل مشاهده، حسابرسی، انطباق و قانونی
دسته خطر امنیتی: هویت و دسترسی
در دنیای ایدهآل، همه برنامههای کاربردی ابری تمام end point خود را ایمن میکنند و فقط به کاربران یا سرویسهای احراز هویت شده اجازه دسترسی خواهند داد. هر درخواستی که برای دسترسی به منابع یک برنامه ارسال میشود، باید شامل اطلاعاتی در مورد اینکه چه کسی با چه نقش و امتیازاتی درخواست را ارائه میدهد نیز باشد.
از آنجایی که میکروسرویسها و منابع حساس از هر نقطهای در اینترنت قابل دسترسی هستند، برای دسترسی به منابع، باید هویت کاربر را به صورت کامل مشخص کنید. کاربران هر برنامه میتوانند شامل کارمندان، مشتریان، شرکا و … باشند که میزان دسترسی و امتیازات هر کدام باید کاملا مشخص شده باشد. در یک برنامه کاربردی مبتنی بر میکروسرویسها، مشتریان نیاز دارند اطمینان حاصل کنند که ابزارهای مدیریت هویت و کنترل دسترسی، قوانین تجاری را به صورت کامل اجرا میکنند.
راه حل: هویت و دسترسی
احراز هویت یا سرویس هویت، برنامههای کاربردی مستقر در فضای ابری را قادر میسازد تا کاربران را در سطح برنامه بر اساس طیف وسیعی از ارائهدهندگان هویت، احراز هویت کنند.
دسته خطر امنیتی: امنیت شبکه
کاربران یک برنامه میخواهند اطمینان حاصل کنند که بارهای کاری و شبکهها به فضای ذخیرهسازی و سرورهای محاسباتی فشرده متصل میمانند و برنامههای کاربردی الزامات سرعت شبکه را برآورده می کنند و در عین حال انتظار حفاظت کارآمد از این برنامهها را نیز دارند. شبکههای ناامن مستعد نفوذ و حملات DDoS مخرب هستند.
راه حل: امنیت شبکه
شما میتوانید یک فایروال با سیاستهای شبکه سفارشی راهاندازی کنید تا بتوانید امنیت شبکه را به صورت اختصاصی برای گروه استاندارد خود فراهم کنید و هر گونه نفوذ به شبکه را شناسایی و اصلاح کنید. برای مثال، میتوانید یک دستگاه روتر مجازی راهاندازی کنید تا به عنوان دیوار آتش برای شما عمل کرده و ترافیک ناخواسته را مسدود کند. هنگامی که یک فایروال را راهاندازی میکنید، باید پورتها و آدرسهای IP مورد نیاز برای هر منطقه را نیز باز کنید تا مستر نودها (master nodes) و نودهای کارگر (worker nodes) بتوانند با هم ارتباط برقرار کنند.
دسته خطر امنیتی: جداسازی و حفاظت برنامه
استفاده از منابع مشترک مشخصه اصلی اپلیکیشنهای ابری (cloud-native) است. این رده ریسک امنیتی، درباره شکست مکانیسمهای امنیتی است که از آنها برای جداسازی ذخیرهسازی، حافظه، مسیریابی و … بین کاربران یک ابر عمومی و میکروسرویسها استفاده میشود. مشتریان میخواهند نسبت به میزان امنیت تمام نقاط پایانی اپلیکیشنها و میکروسرویسها اطمینان حاصل کنند. کاربران خواستار جداسازی کامل اجزاء در سطوح اپلیکیشن، حافظه، فرآیند پردازش و شبکه هستند.
راه حل: جداسازی و حفاظت برنامه
امنیت کانتینر اتوماسیون را با ویژگیهایی مانند میکروسگمنتیشن، ادغام با احراز هویت و کنترل دسترسی، ادغام با گواهیهای لایه سوکت امن (SSL) و … به سطح بالاتری میبرد. میتوانید نودهای کارگر (worker nodes) را بهعنوان نودهای لبه (edge nodes) برای میزبانی کنترلکننده Ingress و متعادلکننده بار که به دسترسی ورود عمومی نیاز دارند، تعیین کنید. کنترلکننده ورودی و متعادلکننده باربر روی نودهای لبه مستقر میشوند. نودهای لبه برای اطمینان از عدم استقرار سایر برنامهها بر روی این نودها علامتگذاری میشوند. درخواستها از گرههای لبه به اپلیکیشنها با استفاده از شبکه خصوصی مسیریابی میشوند. شما میتوانید به کاربران اجازه دهید تا استقرار خود را بخشبندی کرده و با استفاده از سیاستهای شبکه لیستهای کنترل دسترسی را مدیریت کنند.
گرههای غیر لبه (non-edge nodes) میتوانند دسترسی عمومی ورودی را مسدود کنند؛ آنها به اتصال عمومی خروجی، با ورود به سیستم و دسترسی به صفحه کنترل نیاز دارند.
دسته خطر امنیتی: امنیت دادهها
دادهها منابع حیاتی هر سازمانی هستند. اگر دادهها گم شوند، به خطر بیفتند یا دزدیده شوند، میتوانند تاثیر ویرانگری بر روی آن کسب و کار داشته باشند. یک اپلیکیشن ابری باید مکانیسمهایی برای محافظت از دادهها از دسترسی غیرمجاز، چه در حالت استراحت، چه در حالت انتقال و چه در حال استفاده داشته باشد.
راه حل: امنیت دادهها
دادهها در حالت استراحت (data at rest)
IBM Key Protect یک سرویس امنیتی مبتنی بر ابر است که مدیریت چرخه حیات را برای کلیدهای رمزگذاری مورد استفاده در سرویس های IBM Cloud یا اپلیکیشنهای ساخته شده توسط مشتری ارائه میدهد. سرویس IBM Key Protect مکانیزم Root of Trust (RoT) را با پشتیبانی یک ماژول امنیتی سخت افزاری (HSM) فراهم میکند.
داده در حال انتقال
IBM Cloud Certificate Manager یک سرویس امنیتی است که ذخیرهسازی امن و مرکزی گواهینامههای SSL و کلیدهای خصوصی مرتبط را فراهم میکند. این سرویس انقضای گواهینامهها را برای جلوگیری از خرابی سرویس مدیریت میکند، امکان استقرار آسان گواهینامهها را در منابع IBM Cloud ایجاد کرده و به برنامهها و سرویسهای مبتنی بر ابر اجازه میدهد که به راحتی گواهینامهها را سفارش دهند. سرویس IBM Cloud Certificate Manager همچنین حسابرسی و مدیریت فعالیتهای مرتبط با گواهینامه را برای اطمینان از انطباق با سیاستهای سازمان ارائه میکند.
دادههای در حال استفاده
Intel SGX در IBM Cloud از دادههای در حال استفاده از طریق امنیت سرور مبتنی بر سختافزار محافظت میکند. Intel SGX به توسعهدهندگان اپلیکیشن اجازه میدهد از کدها و دادههای انتخابی در برابر افشا شدن یا تغییر محافظت کنند. Intel SGX از مناطق تحت پوشش استفاده میکند که این مناطق محیطهای اجرایی قابل اعتمادی (trusted execution environments- TEE) هستند که از بخش جداگانهای از حافظه استفاده میکنند که برای استفاده TEE رمزگذاری شده است.
دسته خطر: DevOps ایمن
ابزارهای امنیتی سرور محور سنتی دیگر قدیمی شدهاند و برای ایمنسازی برنامههای کاربردی ابری مناسب نیستند. از آنجایی که تمام عملکردها در ابر برای توسعه و استقرار برنامههای کاربردی ابر بومی خودکار هستند، امنیت نیز باید در فرآیند DevOps ادغام شود تا اطمینان حاصل شود که از آسیبپذیری زیرساختها و برنامهها به کمک مکانیسمهای خودکار جلوگیری شود.
راه حل: DevOps ایمن
Vulnerability Advisor قابلیت اسکن زنده را فراهم میکند. این قابلیت بدین معنیست که میتوان در حین گسترش یک برنامه، آن را اسکن کرده و شکافهای امنیتی را پیدا کرد.
IBM Application Security on Cloud با اسکن و شناسایی آسیبپذیریهای امنیتی به امنیت برنامههای وب و موبایل سازمان شما کمک میکند. این سرویس به حذف آسیبپذیری برنامهها قبل از تولید و استقرار کمک میکند.
دسته خطر امنیتی: خطرات قابل مشاهده، حسابرسی، انطباق و قانونی
شما نیاز به یک دید کلی دارید تا بدانید هر کسی بر روی ابر و میکروسرویسها چه کاری را انجام میدهد. شما میخواهید فعالیتهای مشکوک را شناسایی کنید و یک سابقه حسابرسی کامل برای برآورده کردن الزامات قانونی داشته باشید. همه صدا زدنهای Cloud API را ثبت، ذخیره و مشاهده کنید. گزارش دادهها را به عنوان شواهدی برای مطابقت با سیاستهای شرکتی و مقررات خاص صنعت بازار یا برای نشان دادن انطباق با استانداردهای خاص صنعت یا الزامات نظارتی تولید یا صادر کنید.
راه حل: خطرات مشاهده، حسابرسی، انطباق و قانونی
رویدادهای مرتبط با این دسته، مانند افزودن گرههای کارگر، انجام بهروزرسانیهای دورهای و موارد دیگر، ثبت و به سرویسهای مانیتورینگ و ثبت IBM ارسال میشوند.
IBM Cloud Activity Tracker به مدیران امنیت و توسعهدهندگان ابری این قدرت را میدهد تا نحوه تعامل کاربران و برنامههایشان با سرویسهای IBM Cloud را جستجو و تجزیه و تحلیل کنند.
سوالات متداول
امنیت اپلیکیشن ابر بومی چیست؟
امنیت اپلیکیشن ابر بومی اولین رویکرد ابری است که برای استقرار برنامهها به صورت ایمن توسط تعبیه امنیت در چرخه عمر توسعه نرمافزار برای شناسایی سریع آسیبپذیریها استفاده میشود.
چگونه میتوان امنیت اپلیکیشن ابر بومی را تامین کرد؟
بهترین روشها برای امنیتی برنامه در ابر بومی عبارتند از:
در مورد آخرین تهدیدات و چرایی اهمیت آن به روز باشید.
از مدلسازی تهدید برای یافتن آسیبپذیریهای احتمالی در طراحی برنامه استفاده کنید.
پیادهسازی کنترلرهای امنیتی در سطح برنامه
اپلیکیشن ابر بومی چیست؟
اپلیکیشنهای ابر بومی برنامههایی هستند که برای معماری محاسبات ابری طراحی شدهاند. این اپلیکیشنها فواید زیادی دارند و معماری آنها امکان ساخت اپلیکیشنهای ابر بومی مستقل از یکدیگر را فراهم میکند؛ همچنین میتوانید این برنامهها را به صورت جداگانه مدیریت و اجرا کنید.