قابلیت · حاکمیت
امنیت بهعنوان معماری، نه بهعنوان چکلیست
هفت مرز امنیتی، رمزنگاری AEAD سراسری، سیاست پذیرش که بسته میشکند، و مدل تهدیدی که منتشرش کردهایم.
مدل تهدید — چه کسی، چه چیزی را میخواهد
| مهاجم | هدف | دفاع اصلی |
|---|---|---|
| مستأجر مخرب | رسیدن به دادهٔ مستأجر دیگر | ایزولهسازی namespace، سیاست شبکهٔ default-deny، بررسی مالکیت در هر مسیر |
| کد مخرب در بار کاری | فرار از container و رسیدن به نود | سطوح ایزوله (gVisor/Kata)، سیاست امنیت پاد، rootless بودن بیلد |
| کاربر داخلی با دسترسی بیشازحد | سوءاستفاده از مجوز | کمترین دسترسی، دسترسی موقت با انقضا، کلید اضطراری با ثبت کامل |
| مهاجم روی زنجیرهٔ تأمین | تزریق کد در ایمیج | SBOM، اسکن، امضا، اطلاعات اصالتی که پادِ بیلد نمیسازد |
| مهاجم روی مسیر شبکه | شنود یا تزریق | TLS، امضای زماندار وبهوک، هویت بار کاری |
| کسی که به بکاپ میرسد | باجگیری یا استخراج | قفل شیء (WORM)، کلید جدا، دسترسی فقط-نوشتن |
| کسی که دیتابیس را میخواند | خواندن اسرار | رمزنگاری AEAD در حال سکون، ماسک در همهٔ پاسخها |
رمزنگاری
- الگوریتم
- AEAD (رمزنگاری با احراز اصالت) — یعنی داده هم محرمانه است هم دستکاریناپذیر
- چه چیزی رمز میشود
- متغیر محرمانه، کلید SSH، اعتبارنامهٔ رجیستری، توکن ارائهدهندهٔ گیت، اعتبارنامهٔ ارائهدهندهٔ مدل، اعتبارنامهٔ منبع مهاجرت
- مدیریت کلید
- کلید پلتفرم، یا Vault، یا کلید اختصاصی مستأجر
- چرخش کلید
- با پشتیبانی از کلید قبلی برای رمزگشایی دادههای موجود
- ماسک در پاسخ
- هیچ مقدار محرمانهای در پاسخ API برنمیگردد
- رمزنگاری در حال سکون
- LUKS برای دیسک، KMS برای etcd
- نابودی قطعی کلید
- تنها عملیات غیرقابلبازگشت پلتفرم
چرا AEAD و نه فقط رمزنگاری ساده؟
رمزنگاری بدون احراز اصالت، محرمانگی میدهد ولی یکپارچگی نمیدهد. مهاجمی که به دیتابیس دسترسی نوشتن دارد، میتواند متن رمزشده را دستکاری کند بدون اینکه بتوانید بفهمید. AEAD این را غیرممکن میکند.
سیاست پذیرش
برخی چیزها نباید حتی وارد کلاستر شوند. سیاست پذیرش، آنها را در لحظهٔ ورود رد میکند.
- وبهوک پذیرش
- اعتبارسنجیِ چیزهایی که schema نمیتواند ببیند — بهویژه گذارهای وضعیت
- سیاست امنیت پاد
- سطوح enforce/audit/warn قابل تنظیم
- موتور سیاست (Kyverno)
- قواعد سازمانی، با حالت اعمال یا فقط ثبت
- گیت ایمیج VM
- فقط ایمیجهای کاتالوگ تأییدشده اجرا میشوند
| کنترل | رفتار در خطا | چرا |
|---|---|---|
| گیت ایمیج ماشین مجازی | بسته میشکند | ماشینِ ناشناخته نباید اجرا شود |
| اعتبارسنجی شیء مدیریتشده | باز میشکند | وابستهکردن هر نوشتنِ کلاستر به کنترلپلن، خودش یک نقطهٔ شکست است |
هر دو در تست قفل شدهاند
کپیشدن رفتار یکی روی دیگری، در هر دو جهت یک باگ جدی است.
هویت بار کاری
یک بار کاری چطور ثابت میکند خودش است، بدون اینکه رمزی حمل کند؟
- توکن با مخاطب اختصاصی
- توکنِ پیشفرضِ پاد پذیرفته نمیشود
- راستیآزمایی
- هویت از بررسی توکن در خود Kubernetes میآید، نه از محتوای JWT
- توکن دو-مخاطبه
- رد میشود
چرا توکن پیشفرض رد میشود؟
توکنی که بهطور خودکار در پاد قرار میگیرد، یک اعتبارنامه برای API server است. پذیرفتنش یعنی هر کسی که فایلسیستم آن پاد را بخواند، میتواند اعتبارنامهٔ پلتفرم بسازد.
یکپارچگی ارتباطات
- امضای وبهوک خروجی
- HMAC با زمان داخل امضا، نه کنارش
- شناسهٔ تحویل
- یکبار ساخته میشود و در همهٔ تلاشهای مجدد ثابت میماند
- فهرست میزبان مجاز
- وبهوک فقط به مقصدهای مجاز میرود
- تاریخچهٔ تحویل
- هر تلاش با نتیجه ثبت میشود
چرا زمان داخل امضا؟
اگر زمان در امضا نباشد، یک تحویلِ ضبطشده برای همیشه معتبر میماند و قابل بازپخش است.
تشخیص ناهنجاری
- تشخیص تلاش ناموفق
- الگوی ردهای پیاپی روی یک هدف
- هدفهای بحرانی
- فهرست منابعی که تلاش ناموفق روی آنها هشدار فوری میسازد
- حذف انبوه
- تشخیص و توقف الگوی حذف غیرعادی
- خروجی SIEM
- ارسال زنجیرهٔ ممیزی به سامانهٔ SIEM سازمان
گزارش آسیبپذیری
مسیر مشخصی برای گزارش مسئولانه داریم. اگر چیزی پیدا کردید، از همان مسیر بفرستید — نه در یک ایشوی عمومی.
اینها را هم ببینید
این را روی زیرساخت خودتان ببینید.
مدل تهدید و کنترلهای واقعی را با تیم امنیت شما مرور میکنیم.