GH GambleHub

ניהול סודי

ניהול סודי

1) מדוע ומה בדיוק אנו רואים ב ”סוד” ‏

סודי - כל חומר שגילויו מוביל לפשרה של המערכת או נתונים: סיסמאות, אסימונים של API, מפתחות פרטיים של OAuth/JWT, מפתחות SSH, תעודות, מפתחות הצפנה (KEK/DEK), מפתחות חתימה של Webhook, מסדי נתונים/מטמונים של DSN ספקי SMS), מלחי עוגיות/פלפל, אסימונים בוט/צ 'אט, רישיונות.
סודות חיים בקוד, הגדרה, סביבה, תמונות מכולות, CI/CD, Terraform/Ansible, יומנים/זורקים - משימה לניהול סודות: account accort process production process extreme returation process accription.

2) עקרונות ארכיטקטורה

ריכוז. שכבה נאמנה אחת (מנהל סודי/ענן/KMS) לאחסון, הוצאה וביקורת.
הרשאות מינימום (PoLP). גישה רק לשירותים/תפקידים הדרושים, לתקופה מינימלית.
חיים קצרים. סודות דינמיים/זמן עם TTL/חכירה מועדפים.
זריזות מוצפנת. יכולת לשנות אלגוריתמים/אורכי מפתח ללא השבתה.
הפרדת סודות מקוד/תמונות. אין סיסמאות במאגרים, אין תמונות של דוקר.
יכולת תצפית וביקורת. כל פעולה של הנפקת/קריאת סודות מחוברת ונמחקת.
סיבוב אוטומטי. סיבוב הוא תהליך בצינור, לא פעולה ידנית.

3) פתרונות טיפוסיים ותפקידי רכיב

KMS/HSM. אמון שורש, הצפנה/עטיפת מפתח פעולות (מעטפה).
מנהל סודי/כספת. חנות גרסאות סודיות, ACL, ביקורת חשבונות, סודות דינמיים (DB, ענן-IAM, PKI), תבניות סיבוב.
PKI/CA. הנפקת חתימות קצרות טווח של mTLS/SSH/JWT.
סוכן/סירה. משלוח סודות לזמן הרצה (tmpfs, in-memory k/v, hot-reload files).
נהגי מז "פ/מפעילים. אינטגרציה עם קוברנטס (Secret Store CSI Driver, Cert-manager).
שכבת הצפנה בגיט. SOPS/age, git-cript (עבור קוד תשתית).

4) סיווג ומדיניות

סודות נפרדים על ידי ביקורתיות (P0/P1/P2) ונפח הנזק (דייר-מפוקפק, סביבה-מפוקפקת, org-wide). עבור כל מחלקה, ציין:
  • TL/חכירה ותדר סיבוב;
  • שיטת פלט (דינמיקה נגד סטטית), פורמט, מדיה;
  • מדיניות גישה (מי/איפה/מתי/למה), MTLS ודרישות אימות הדדי;
  • ביקורת חשבונות (שנרשום כמה אנחנו מאחסנים, מי מבקר);
  • נוהלי זכוכית שבורה ונזכר.

5) מחזור חיים סודי

1. יצירה: באמצעות API מנהל סודי עם metadata (בעלים, תגיות, היקף).
2. אחסון: מוצפן (מעטפה: DEK עטוף ב ־ KEK מ ־ KMS/HSM).
3. משלוח: לבקשת ישות מורשית (OIDC/JWT, SPIFE/SVID, mTLS).
4. שימוש: אך ורק בזיכרון/ב ־ tmpfs; איסור על כריתת עצים/השלכות.

5. סיבוב: על ידי TTL או אירוע (פשרה); תמיכה בגרסאות מקבילות (N-1)

6. החזרה/חסימה: תפוגה מיידית של חכירה, פירוק חשבון/מפתח במערכת המטרה.
7. סילוק: השמדת גרסאות/חומר, שרשרת ביקורת ברורה.

6) סודות דינמיים (מומלץ כברירת מחדל)

הרעיון: הסוד מונפק לזמן קצר ופג תוקף אוטומטית. דוגמאות:
  • אישורי בסיס נתונים (Postgres/MySQL) עם TTL 15-60 דקות.
  • מפתחות ענן זמניים (AWS/GCP/Azure) על ידי תפקיד שירות.
  • תעודות SSH (5-30 דקות), תעודות X.509 (שעה/יום).
  • ג 'יי-וי-טי זמני לחתימה על בקשות, מתווכי כרטיסים.
  • יתרונות: רדיוס פיצוץ מינימלי, זיכרון מפושט (שום דבר לא ”יישאר” בעולם).

7) משלוח סודות בזמן ריצה

קוברנטס:
  • Secret Store CSI Driver. Accomment Secreting Manager חיצוני לתא בתור קבצים (tmpfs).
  • הימנע מקוברנטס סודי כמקור היחיד (base64 excryption); אם יש צורך, אפשר לספק KMS עבור etcd.
  • סוכן סיד (כספת סוכן/חנות סודות) עם השכרת רנבל אוטומטית וטעינה מחדש.
  • VM/Bare-Metal: system + mTLS to Vault/Secret Manager, מטמון בזיכרון, TCB מינימלי.
  • Serverless: אינטגרציה ענן עם החלפה שקופה של סודות כמשתני סביבה/קבצים, אך הימנעות מקבצים ארוכי חיים - רצוי קבצים/בזיכרון.

דוגמה (קוברנטס + 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 (Workload Identity). איסור על סודות ”רעולי פנים” שנכנסים ליומנים; שלב ”דליפת סריקה” (כמהין/גיטליקס).
CD: פריסה לוקחת סודות בזמן התצוגה, לא כותבת אותם לחפצים.
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-operates, mTLS.
אסימונים זמניים: TTL קצר, היקף צר.
ABAC/RBAC במנהל סודי: ”מי שיכול לקרוא את הסוד X בסביבה Y” הוא נפרד מ ”מי יכול ליצור/לסובב”.
ריבוי דירות: אספות שמות נפרדות/טבעות מפתח לדייר; מדיניות ודיווח פרטניים.

10) סיבוב, גרסאות ותאימות

הפרד בין תעודת הזהות הסודית לבין הגרסה שלה (”secret/app/db # v17”).
תמוך בשתי גרסאות פעילות (N ו-N-1) לסיבוב ללא עצירה.
סיבוב הוא על בסיס אירוע: עם פיטורים, פשרה, שינוי של ספק, נדידה של אלגוריתמים.
אוטומט: Cron/backend rotation in Vault/Secret Manager + webhook triggers עבור יישום מחדש/reneval.

מתכון מיני ”דו-מפתח” 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, חפצי מודיע.

12) יכולת תצפית, ביקורת חשבונות ו ־ SLO

מטריצות: מספר נושאים/שירות חשאי, נתח של חכירה שפג תוקפה, TTL ממוצע, זמן סיבוב, זמן התכנסות (שניות/דקות לפני ”קבלת” הגרסה החדשה).
רישומי ביקורת: מי/מה/מתי/איפה/למה; אחסון בנפרד, גם מוצפן.
SLO: 99% פלט <200 ms; 0 דליפות ביומנים; 100% מהסודות יש בעלים/TTL/תגיות; 100% סודות קריטיים - דינמי או סיבוב 30 יום.
התראות: סוד פג <7 ימים (עבור סטטי), קפיצה בכשלי אימות לאחסון, אין סוד קורא> ימים (מתים), מקורות גיאו/ASN בלתי צפויים.

13) טעויות תכופות וכיצד להימנע מהן

סודות בגיט/דימויים. השתמש ב 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 של בקשות (טווח קצר)

המפתח הפרטי מאוחסן ב ”מנהל סודי”; השירות מבקש אות חתימה קצר ימים והסוכן המקומי חותם על המטען (המפתח אינו מועבר ליישום כמחרוזת).

תעודות SSH למנהלים

הנפקת SSH-Cert למשך 10 דקות באמצעות SSO (OIDC), ללא הפצת מפתחות קבועים.

15) בטיחות בקצוות

רישומים/שבילים/מדדים: מחטאים, מסננים עבור מפתחות/תבניות ידועות; שדות ”סודיים” - מסווה ב APM.
Dupps/Crush Reports: Cut by default; אם יש צורך - להצפין ולנקות.
יישומים/ניידים: מזעור סודות לא מקוונים, שימוש בפלטפורמה אחסון (Keychain/Keystore), קשירת התקן, סיכת TLS עם גלגול חירום.

16) ציות

PCI DSS: אוסר על אחסון פאן/סודות ללא הצפנה; בקרת גישה קפדנית וסבב.

ISO 27001/SOC 2 - ניהול נכסים, כריתת עצים, בקרת גישה, דרישות הגדרה מחדש

GDPR/ויסות מקומי: מזעור, גישה לפי הצורך, ביקורת.

17) תהליכים וספר ריצות

הזמנה

1. מלאי של סודות (מאגרים, מודיע, תמונות, זמן ריצה, גיבויים).
2. סיווג ותגים (בעלים, סביבה, דייר, מדיניות סיבוב).
3. קמרון/ענן SM + KMS/HSM אינטגרציה.
4. הגדרת פלט על ידי זהות טעינת עבודה (OIDC/SPIRE).
5. אפשר סודות דינמיים עבור DB/Cloud/PKI.
6. סיבוב אוטומטי וטעינה מחדש; התראות על תפוגה.
7. הגדרת סורקי דליפה וקטלוג נתונים/ET.

תרחישי חירום

דליפה חשודה: רשימת עצירות גישה, סיבוב מיידי, שלילת תעודות/מפתחות, הנפקה מחדש של אסימונים, אפשרות לביקורת מוגברת, RCA.
מנהל סודי אינו זמין: מטמון מקומי בזיכרון עם TTL נמוך, הפלת פונקציות, הגבלת חיבורים חדשים, מדרגות זכוכית פריצה ידניות.
פשרת מפתח שורש: התחדשות היררכית מפתח, ראפ מחדש של כל DEKs, בדיקת כל החשיפה לחלון הסיכון.

18) רשימות בדיקה

לפני המכירה

[ ] סודות הוסרו מקוד/תמונות; סורקי דליפה כולל.
[ ] המנגנונים הדינמיים מאפשרים סודות קריטיים.
[ משלוח ] באמצעות סירה/CSI/tmpfs עם-מחדש חם, ללא מערבולת עמידה.
[ ] מדיניות IAM/ABAC מוגדרת, מחויבת להעמיס זהות.
[ ] סיבוב אוטומטי וגרסאות כפולות (N, N-1) לתאימות.
[ ] Metrics/Audits/Audits operated; מבחני השפלה עברו.

מבצע

דו "ח חודשי : בעלים, TTL, סודות שפג תוקפם, ללא שימוש.

[ ] סיבובים תקופתיים ומבחני חדירה של נתיבי דליפה (רישומים, מצרכים, חפצים).
[ ] תכנית קריפטו-זריזות והחלפת חירום של CA/שורשים.

19) FAQ

קיו: האם המנהל הסודי ללא KMS מספיק? ‏

א. ברמה הבסיסית - כן, אבל עדיף להשתמש בהצפנת מעטפות: KEK ב- KMS/HSM, סודות עטופים. זה מפשט משוב וציות.

ש: מה לבחור - סטטי או דינמיקה? ‏

א ': ברירת המחדל היא דינמיקה. השאר סטטי רק היכן שאין ספקים נתמכים, וצרוב TTL עד ימים/שעות + סיבוב אוטומטי.

ש: איך להשליך סודות בבטחה לתוך המיקרו-רוטב?
Designate: Workload identity # MTLS Manager Secret # Sidecar/CSI + hot-reload. בלי בולי עץ, בלי קנאים ”לנצח”.

קיו: האם אני יכול לשמור סודות בסוד קוברנטס? ‏

א ': רק עם הצפנת etcd מאופשרת עם ספק KMS ומדיניות קפדנית. מעדיף אחסון חיצוני וזיהוי פלילי.

קיו: איך אתה ”מוחק” גישה של דייר?
A: לבטל/לחסום את מדיניותו ב-Secret Manager, לבטל את כל החכירה, סיבוב מפתח/התחדשות; כאשר משתמשים ב ־ KMS - לא ניתן לנטרל את ה ־ KEK המתאים.

חומרים קשורים:
  • ”בהצפנת מנוחה”
  • ”בהצפנת מעבר”
  • ”ניהול מפתח וסבב”
  • ”אימות S2S”
  • ‏ ”לחתום ולאמת בקשות” ‏
Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

Telegram
@Gamble_GC
התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

בלחיצה על הכפתור אתם מסכימים לעיבוד הנתונים שלכם.