امنیت در فضای ابری (Cloud) یک تفکر تزئینی نیست که روز آخر به معماری اضافه شود؛ بلکه زبان اصلی طراحی سیستمهای تابآور است. زمانی که بدون درک اصول امنیتی پایهای به سراغ ساخت زیرساخت میروید، ناخواسته قلعههای دیجیتجیل پیچیدهای با درهای پشتی باز میسازید. این فصل مدلهای ذهنی لازم برای تحلیل ریسک، اعتماد و مسئولیتپذیری را پیش از نوشتن حتی یک خط کد زیرساخت یا تنظیم سیاستهای هویت فراهم میکند. بهای شکافهای مفهومی شکافهای امنیتی نادر است که ناشی از نفوذهای پیچیده صفرروز باشند؛ بلکه معمولاً به این دلیل رخ میدهند که مهندسان مرزها و دسترسیهای اولیه را اشتباه درک کردهاند. بدون تسلط بر مفاهیم بنیادین، انرژی خود را صرف دفاع از بخشهایی میکنید که اهمیتی ندارند، در حالی که داراییهای حیاتی بدون محافظ باقی میمانند. هر معماری فرضهایی ضمنی درباره اینکه چه کسی و چه چیزی قابل اعتماد است دارد و آشکار کردن این فرضها وظیفه اصلی مهندس امنیت است. اصول کلیدی امنیت در عمل هسته اصلی طراحی امن، حداقل دسترسی (Least Privilege) است؛ اصلی که تأکید میکند کاربران، سرویسها و ابزارهای خودکار باید تنها به کمترین میزان مجوزهای لازم برای انجام وظایف خاص خود دسترسی داشته باشند. اگر به یک برنامه کاربردی دسترسی فراتر از نیاز بدهید، یک جزء هکشده به کل سیستم آسیب میزند. فرض کنید رستورانی که در آن هر آشپز کلید گاوصندوق را دارد چون گاهی نیاز به پول خرد پیدا میکند؛ حداقل دسترسی تضمین میکند که هر کس فقط به کشوی مربوط به خود دسترسی دارد. هیچ کنترل امنیتی منفردی بینقص نیست و به همین دلیل به دفاع در عمق (Defense in Depth) نیازمندیم. با لایهبندی کنترلهای مستقل مانند کنترل دسترسی شبکه، احراز هویت در سطح برنامه و رمزنگاری دادهها، تضمین میکنید که با شکست یک لایه، موانع بعدی از داراییها محافظت کنند. این رویکرد مشابه قلعهای با خندق، پل معلق، دروازههای تقویتشده و دیوارهای داخلی است. معماریهای مدرن باید از اعتماد صفر (Zero Trust) پیروی کنند که مفهوم محیط شبکه امن داخلی را کنار میگذارد. به جای اعتماد به نهادها صرفاً به این دلیل که از داخل شبکه داخلی آمدهاند، اعتماد صفر بر ارزیابی مداوم هر هویت و دستگاهی اصرار دارد. شبکههای سنتی مانند خانهای امن بودند که افراد داخل آن آزاد بودند، اما اعتماد صفر هر اتاق را به گونهای میبیند که نیاز به اسکن مجزا دارد. مدلسازی تهدید و مرزهای اعتماد برای اعمال این اصول، باید مهاجمان را بشناسید و مرزهای سیستم را ترسیم کنید. بازیگران تهدید (Threat Actors) انگیزههای متفاوتی دارند و دفاع شما باید با بردارهای تهدید همراستا باشد. ترسیم سیستم با دیاگرامها به شما کمک میکند نحوه تعامل کاربران با دادهها را ردیابی کنید. با کشیدن مرزهای اعتماد (Trust Boundaries) به صورت خطوط نقطهچین دور اجزا، مشخص میکنید کجا نیاز به تأیید اعتبار است. مدلهای تحویل ابری و مسئولیت مشترک انتقال به فضای ابری نحوه تقسیم وظایف امنیتی را تغییر میدهد. ارائهدهندگان ابری سرویسها را در قالب مدلهای تحویل سرویس ابری (Cloud Service Delivery Models) مانند زیرساخت به عنوان سرویس (IaaS) و پلتفرم به عنوان سرویس (PaaS) ارائه میکنند. این مدلها مانند تفاوت آشپزی در خانه و غذا خوردن در رستوران هستند. با این حال، برونسپاری زیرساخت به معنای سلب مسئولیت نیست. مدل مسئولیت مشترک ابری (The Cloud Shared Responsibility Model) تعیین میکند که ارائهدهنده امنیت از ابر را تأمین میکند، در حالی که شما مسئول امنیت در ابر، از جمله مدیریت هویت و دادهها هستید. درک نادرست از این تفکیک منجر به ایجاد خلأهای خطرناکی میشود. مدیریت ریسک امنیت مطلق وجود ندارد و مهندسی کارآمد درباره مدیریت ریسک (Risk Management) است. شما نمیتوانید تمام تهدیدها را بدون متوقف کردن توسعه حذف کنید. تنش دائمی میان سرعت و ایمنی وجود دارد: کنترلهای بیش از حد سرعت را میگیرد و کنترلهای کم امنیت را نابود میکند. چکلیست کاربردی [ ] معماری برنامههای خود را با رسم اجزا و تعریف دقیق مرزهای اعتماد نقشهبرداری کنید. [ ] نقشهای موجود در ابر را بررسی کرده و دسترسیهای اضافی را برای اجرای اصل حداقل دسترسی پاکسازی کنید. [ ] کنترلهای امنیتی چندلایهای در لایههای شبکه، برنامههای کاربردی و ذخیرهسازی دادهها پیادهسازی کنید. [ ] مستندات ارائهدهنده ابری را بررسی کنید تا تفاوت بین مسئولیتهای ارائهدهنده و وظایف پیکربندی خود را در مدل مسئولیت مشترک تشخیص دهید. [ ] داراییهای حیاتی را شناسایی کرده و ارزیابی تهدید پایهای را برای مطابقت با بار کاری خود انجام دهید.
