GH GambleHub

مدیریت مخفی

مدیریت مخفی

1) چرا و دقیقا چه چیزی را «راز» می دانیم

راز - هر ماده ای که افشای آن منجر به سازش سیستم یا داده ها شود: رمزهای عبور، نشانه های API، کلیدهای خصوصی OAuth/JWT، کلیدهای SSH، گواهینامه ها، کلیدهای رمزگذاری (KEK/DEK)، کلیدهای امضای webhook، پایگاه داده ها/انبارهای DSN، کلیدهای فروشنده (پرداخت، نامه/ارائه دهندگان پیام کوتاه)، نمک/فلفل کوکی، ربات/نشانه های چت، مجوز.

اسرار در کد، پیکربندی، محیط، تصاویر ظرف، CI/CD، Terraform/Ansible، سیاهههای مربوط/تخلیه زندگی می کنند - وظیفه مدیریت اسرار: حساب → ذخیره سازی → تحویل → استفاده → چرخش → پاسخ → حسابرسی → استفاده

2) اصول معماری

متمرکز سازی یک لایه قابل اعتماد (Vault/Cloud Secret Manager/KMS) برای ذخیره سازی، صدور و حسابرسی.
حداقل امتیازات (PoLP) دسترسی فقط به خدمات/نقش های لازم، برای حداقل دوره.
عمر کوتاه اسرار پویا/زمان با TTL/اجاره ترجیح داده می شود.
چابکی کریپتو قابلیت تغییر الگوریتم/طول کلید بدون خرابی.
جدا کردن اسرار از کد/تصاویر. بدون کلمه عبور در مخازن، بدون تصاویر Docker.
قابلیت مشاهده و حسابرسی هر عملیات صدور/خواندن اسرار ثبت شده و حذف شده است.
چرخش خودکار چرخش یک فرآیند در خط لوله است، نه یک عمل دستی.

3) راه حل های معمول و نقش های جزء

KMS/HSM اعتماد ریشه، عملیات رمزگذاری/کلید بسته بندی (پاکت).
مدیر مخفی/طاق. فروشگاه نسخه مخفی, ACL, ممیزی, اسرار پویا (DB, ابر IAM, PKI), قالب چرخش.
PKI/CA. صدور امضاهای کوتاه مدت mTLS/SSH/JWT.
مامور/راننده جانبی تحویل اسرار به زمان اجرا (tmpfs، در حافظه K/V، داغ بارگذاری مجدد فایل ها).
رانندگان/اپراتورهای CSI. ادغام با Kubernetes (Secret Store CSI Driver، cert-manager).
لایه رمزگذاری در گیت. SOPS/age, git-crypt (برای کد زیرساخت).

4) طبقه بندی و سیاست

اسرار جداگانه با انتقاد (P0/P1/P2) و حجم آسیب (محدوده مستاجر، محدوده محیط زیست، org-wide). برای هر کلاس، مشخص کنید:
  • TTL/اجاره نامه و فرکانس چرخش ؛
  • روش خروجی (دینامیک در مقابل استاتیک)، فرمت، رسانه ؛
  • سیاست دسترسی (چه کسی/کجا/چه زمانی/چرا)، mTLS و الزامات احراز هویت متقابل ؛
  • حسابرسی (که ما چقدر ما را ذخیره می کنیم، چه کسی بررسی می کند) ؛
  • روشهای شکستن شیشه و یادآوری.

5) چرخه زندگی مخفی

1. ایجاد: از طریق API مدیر مخفی با ابرداده (مالک، برچسب ها، دامنه).
2. ذخیره سازی: رمزگذاری شده (پاکت: DEK پیچیده شده با KEK از KMS/HSM).
3. تحویل: به درخواست یک نهاد مجاز (OIDC/JWT، SPIFFE/SVID، mTLS).
4. استفاده: به طور انحصاری در حافظه/در tmpfs ؛ ممنوعیت ورود به سیستم/تخلیه.

5. چرخش: توسط TTL یا رویداد (سازش) ؛ پشتیبانی از نسخه های موازی (N-1)

6. فراخوان/مسدود کردن: انقضای فوری اجاره نامه، غیرفعال کردن حساب/کلید در سیستم هدف.
7. دفع: تخریب نسخه/مواد، زنجیره حسابرسی روشن است.

6) اسرار پویا (توصیه می شود به طور پیش فرض)

ایده: راز برای مدت کوتاهی منتشر می شود و به طور خودکار منقضی می شود. مثال ها:
  • اعتبار پایگاه داده (Postgres/MySQL) با TTL 15-60 دقیقه.
  • کلید های موقت ابر (AWS/GCP/Azure) توسط نقش سرویس.
  • گواهی SSH (5-30 دقیقه)، گواهی X.509 (ساعت/روز).
  • JWT موقت برای امضای درخواست ها، کارگزاران بلیط جلسه.
  • مزایا: شعاع انفجار حداقل، فراخوان ساده (هیچ چیز «باقی می ماند» در جهان).

7) تحویل اسرار در زمان اجرا

کوبرنتیز:
  • Secret Store CSI Driver → نصب اسرار از یک مدیر خارجی به غلاف به عنوان فایل ها (tmpfs).
  • اجتناب از Kubernetes راز به عنوان تنها منبع (base64 ≠ رمزگذاری) ؛ در صورت لزوم، ارائه دهنده KMS را برای etcd فعال کنید.
  • عامل جانبی (Vault Agent/Secrets Store) با اجاره نامه خودکار و بارگیری مجدد داغ.
  • VM/Bare-metal: عامل سیستم + mTLS به Vault/Secret Manager، حافظه پنهان در حافظه، حداقل TCB.
  • Serverless: ادغام ابر با جایگزینی شفاف اسرار به عنوان متغیرهای محیطی/فایل ها، اما اجتناب از envvars طولانی مدت - ترجیحا فایل ها/در حافظه.

مثال (Kubernetes + CSI، از نظر مفهومی)

yaml apiVersion: v1 kind: Pod metadata: { name: app }
spec:
serviceAccountName: app-sa # is associated with a role in Secret Manager volumes:
- name: secrets csi:
driver: secrets-store. csi. k8s. io readOnly: true volumeAttributes:
secretProviderClass: app-spc containers:
- name: app volumeMounts:
- mountPath: /run/secrets name: secrets readOnly: true

8) ادغام CI/CD و IaC

CI: کارگران با توجه به OIDC (هویت بار کاری) توکن های کوتاه مدت دریافت می کنند. ممنوعیت اسرار «ماسک» که به سیاهههای مربوط وارد می شوند ؛ مرحله «اسکن نشت» (trufflehog/gitleaks).
CD: Deploy اسرار را در زمان نمایش می گیرد، آنها را به مصنوعات نمی نویسد.
IaC: Terraform متغیرها را در Secret Manager ذخیره می کند ؛ دولت رمزگذاری شده و دسترسی محدود است.
SOPS/age: برای مخازن - ذخیره مانیفست رمزگذاری شده، کلید - تحت کنترل KMS.

مثال (قطعه SOPS)

yaml apiVersion: v1 kind: Secret metadata: { name: app }
data:
PASSWORD: ENC[AES256_GCM,data:...,sops:...]
sops:
kms:
- arn: arn:aws:kms:...
encrypted_regex: '^(data    stringData)$'
version: '3. 8. 0'

9) سیاست های دسترسی و احراز هویت حجم کار

هویت حجم کار: SPIFFE/SPIRE، Kubernetes SA → OIDC → IAM- роль، mTLS.
نشانه های موقت: TTL کوتاه، دامنه باریک.
ABAC/RBAC در Secret Manager: «چه کسی می تواند راز X را در محیط Y بخواند» از «چه کسی می تواند ایجاد/چرخش کند» جدا است.

چند اجاره: فضای نام جداگانه/کلید حلقه برای هر مستاجر ؛ سیاست های فردی و گزارش دهی

10) چرخش، نسخه ها و سازگاری

شناسه مخفی و نسخه آن ('secret/app/db # v17') را جدا کنید.
پشتیبانی از دو نسخه فعال (N و N-1) برای چرخش بدون توقف.
چرخش مبتنی بر رویداد است: پس از اخراج، سازش، تغییر ارائه دهنده، مهاجرت الگوریتم ها.
خودکار: چرخش cron/backend در Vault/Secret Manager + webhook باعث راه اندازی مجدد/مجدد برنامه می شود.

دستور العمل کوتاه «دو کلید» چرخش وب هوک

text
T0: we publish two secrets in the provider: current, next
T1: the application starts accepting signatures by both current and next
T2: external system switches signature to next
T3: we do next -> current, re-release new next

11) ذخیره سازی خارج از زمان اجرا: پشتیبان گیری و مصنوعات

هرگز به مصنوعات (تصاویر، آرشیو ورود به سیستم، تخلیه).
پشتیبان گیری مدیر مخفی - رمزگذاری، کلیدهای ذخیره سازی در خارج از همان حلقه (تفکیک وظایف).
برچسب ها و اسکن DLP: تشخیص اسرار در S3/Blob/GCS، Git، مصنوعات CI.

12) قابلیت مشاهده، حسابرسی و SLO

معیارها: تعداد مسائل/راز/سرویس، سهم اجاره نامه منقضی شده، متوسط TTL، زمان چرخش، زمان همگرایی (ثانیه/دقیقه قبل از پذیرش نسخه جدید).
گزارش های حسابرسی: چه کسی/چه چیزی/چه زمانی/کجا/چرا ؛ ذخیره سازی به طور جداگانه، همچنین رمزگذاری شده است.
SLO: خروجی 99٪ <200 ms ؛ 0 نشت در سیاهههای مربوط ؛ 100٪ از اسرار صاحب/TTL/برچسب ها ؛ اسرار 100٪ بحرانی - پویا یا چرخش ≤ 30 روز.
هشدارها: راز منقضی می شود <7 روز (برای استاتیک)، سنبله در خرابی احراز هویت به ذخیره سازی، هیچ مخفی خواندن> N روز (مرده)، منابع جغرافیایی/ASN غیر منتظره.

13) اشتباهات مکرر و چگونگی اجتناب از آنها

اسرار در Git/تصاویر. استفاده از SOPS/سن و اسکنر ؛ سیاست ممنوعیت خطوط «لخت»

به عنوان یک میان مدت بلند مدت اولویت دادن به پروندههای tmpfs/in-memory ؛ محیط را در چنگال/تخلیه تمیز کنید.

همان اسرار برای dev/stage/prod. تقسیم بر محیط زیست

رمزهای عبور استاتیک طولانی مدت. سوئیچ به پویا/کوتاه مدت.
یک «کلید اصلی» برای همه چیز. "تقسیم بر مستاجر/پروژه/خدمات.
بدون بارگیری مجدد. این برنامه نیاز به راه اندازی مجدد → پنجره آسیب پذیری در طول چرخش.

14) نمونه هایی از ادغام (شماتیک)

دسترسی به صندوق پویا Postgres

hcl
Vault: role -> issues the user to the database with TTL 30m and privileges only to the app path "database/creds/app-role" {
capabilities = ["read"]
}
Application requests/database/creds/app-role -> receives (user, pass, ttl)

امضای درخواست های JWT (کوتاه مدت)

کلید خصوصی در Secret Manager ذخیره می شود ؛ این سرویس یک نشانه کوتاه مدت را درخواست می کند و عامل محلی payload را امضا می کند (کلید به عنوان یک رشته به برنامه منتقل نمی شود).

گواهینامه SSH برای مدیران

صدور SSH-cert به مدت 10 دقیقه از طریق SSO (OIDC)، بدون توزیع کلیدهای دائمی.

15) ایمنی در اطراف لبه ها

Logs/trails/metrics: ضدعفونی کننده ها، فیلترها برای کلید ها/الگوهای شناخته شده ؛ زمینه های «مخفی» - پوشش در APM.
تخلیه/سقوط گزارش: به طور پیش فرض کاهش ؛ در صورت لزوم - رمزگذاری و تمیز کردن.
برنامه های مشتری/تلفن همراه: به حداقل رساندن اسرار آنلاین، استفاده از ذخیره سازی پلت فرم (Keychain/Keystore)، اتصال دستگاه، TLS-pinning با نورد اضطراری.

16) انطباق

PCI DSS: ممنوعیت ذخیره PAN/اسرار بدون رمزگذاری ؛ کنترل دسترسی دقیق و چرخش.

ISO 27001/SOC 2 - مدیریت دارایی، ورود به سیستم، کنترل دسترسی، الزامات تنظیم مجدد

GDPR/تنظیم کننده های محلی: به حداقل رساندن، دسترسی به عنوان مورد نیاز، ممیزی.

17) فرآیندها و کتاب اجرا

راه اندازی

1. فهرست اسرار (مخازن، CI ها، تصاویر، زمان اجرا، پشتیبان گیری).
2. طبقه بندی و برچسب ها (مالک، محیط زیست، مستاجر، چرخش سیاست).
3. ادغام خرک/ابر SM + KMS/HSM.
4. تنظیم خروجی توسط هویت بار کاری (OIDC/SPIRE).
5. فعال کردن اسرار پویا برای DB/Cloud/PKI.

6. چرخش خودکار و بارگذاری مجدد داغ ؛ هشدار در مورد انقضا

7. راه اندازی اسکنر نشت و کاتالوگ داده ها/ET.

سناریوهای اضطراری

نشت مشکوک: لیست توقف دسترسی، چرخش فوری، لغو گواهینامه ها/کلید ها، علامت های مجدد، افزایش حسابرسی، RCA را فعال کنید.
Secret Manager در دسترس نیست: حافظه پنهان محلی در حافظه با TTL کم، تخریب عملکرد، محدودیت اتصالات جدید، مراحل شکستن شیشه دستی.
سازش کلید ریشه: بازسازی سلسله مراتب کلید، بازنویسی تمام DEK ها، بررسی تمام مواجهه برای پنجره خطر.

18) چک لیست

قبل از فروش

  • اسرار حذف شده از کد/تصاویر ؛ اسکنرهای نشت شامل.
  • مکانیسم های پویا برای اسرار بحرانی فعال می شوند.
  • تحویل از طریق sidecar/CSI/tmpfs با داغ بارگذاری، بدون envvars با دوام.
  • سیاست های IAM/ABAC پیکربندی شده، محدود به هویت حجم کار.
  • چرخش خودکار و نسخه های دوگانه (N، N-1) برای سازگاری.
  • متریک/هشدار/ممیزی را فعال کنید ؛ تست تخریب گذشت.

عملیات

  • گزارش ماهانه: صاحبان، TTL، اسرار منقضی شده، استفاده نشده است.
  • چرخش دوره ای و تست نفوذ از مسیرهای نشت (سیاهههای مربوط، تخلیه، مصنوعات).
  • طرح رمزنگاری چابکی و جایگزینی اضطراری CA/ریشه.

19) سوالات متداول

س: آیا مدیر مخفی بدون KMS کافی است ؟

پاسخ: برای سطح پایه - بله، اما بهتر است از رمزگذاری پاکت استفاده کنید: KEK در KMS/HSM، اسرار - پیچیده شده است. این امر بازخورد و انطباق را ساده می کند.

س: چه چیزی را انتخاب کنید - استاتیک یا دینامیک ؟

A: پیش فرض دینامیک است. فقط در جایی که ارائه دهنده پشتیبانی وجود ندارد، استاتیک را ترک کنید و TTL را تا روز/ساعت + چرخش خودکار بسوزانید.

س: چگونه می توان اسرار را به میکروسرویس پرتاب کرد ؟

: هویت بار کاری → mTLS مدیر مخفی → sidecar/CSI → tmpfs + hot-reload. بدون سیاهههای مربوط، بدون envvars «برای همیشه».

س: آیا می توانم اسرار را در راز Kubernetes حفظ کنم ؟

A: فقط با رمزگذاری etcd با ارائه دهنده KMS و سیاست های سختگیرانه فعال شده است. ذخیره سازی خارجی و CSI را ترجیح می دهد.

س: چگونه دسترسی به یک مستاجر را «رمزنگاری» می کنید ؟

A: لغو/مسدود کردن سیاست های خود را در مدیر مخفی، باطل کردن تمام اجاره نامه ها، چرخش کلید/بازسازی ؛ هنگام استفاده از KMS - باز کردن KEK مربوطه را غیرفعال کنید.

مواد مرتبط:
  • «رمزگذاری در حالت استراحت»
  • «در رمزگذاری حمل و نقل»
  • «مدیریت کلید و چرخش»
  • «احراز هویت S2S»
  • «ثبت و بررسی درخواستها»
Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

Telegram
@Gamble_GC
شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.