Operations ו ־ Ac.Ac.Management Configurations
תצורות ביקורת
1) מטרה וערך
ביקורת תצורות מבטיחה אחריות מספקת וחזרה על השינוי: מי, מתי ומה השתנה; מה מוצדק; כפי שנבדק; איך להתגלגל בחזרה. זה מפחית את הסיכון של אירועים, הדלפות של סודות, חוסר עקביות ציות ועריכה ”חבויה” בדרבן.
תוצאות מפתח:- מקור אמת יחיד (SoT) עבור תצורות.
- איתור שינוי מלא (מקצה לקצה).
- שחרור צפוי וחזרה מהירה.
- ציות ומדיניות ביטחון.
2) היקף
תשתית: Terraform/Helm/Ansible/K8s מניפסטים, רשת ACL/WAF/CDN.
הגדרות היישום: 'yaml/json/properties' files, file flags, limits/cotas.
סודות ומפתחות: כספת/kms, תעודות, אסימונים, סיסמאות.
צינורות נתונים: תרשימים, טרנספורמציות, לוחות זמנים של ETL/זרם.
אינטגרציות: PSP/KYC/spectures, webhooks, retry/timeout policy.
כללי התראה, לוחות מחוונים, SLO/SLA.
3) עקרונות
הגדרה כדאטה: פריטים הצהרתיים, ממולאים וניתנים לבדיקה.
חוסר תזוזה ואידמפוטנטיות: רבייה של המדיום מהקוד.
מזימות וחוזים: אימות קפדני (JSON-Schema/Protobuf), תאימות לאחור/קדימה.
מזעור עריכה ידנית: שינויים רק באמצעות מר/יחסי ציבור.
הפרדת חובות (SoD) ו-4-עיניים: מחבר! ביקורת חובה.
ייחוס וחתימות: חתימות של מתחייבים/משחררים, התרשמות של חפצים.
4) ארכיטקטורת ביקורת
1. SCM (Git) כ-SoT: כל התצורות במאגר, הענף הראשי מוגן.
2. נרשמים:- רשומות קונפיג (תיקייה של תצורות, רכוש, SLAs, סביבות),
- Schema Registry (גרסאות סכימת הגדרות/אירוע),
- מנוע מדיניות (OPA/Confest) - סט של בדיקות.
- 3. CI/CD-Gates: format/scheme ac.check static policy checks = = סריקה סודית.
- 4. משלוח: GitOps (למשל: ArgoCD/Flux) עם גלאי סחף ויומני ביקורת יישומים.
- 5. חנות ראיות: מאגר של חפצי ביקורת (תוכנית, רישומים, חתימות, בנייה, SBOM).
- 6. יומן פעולה: רישום בלתי ניתן לרישום (append-only) של אירועי CREATION/EMLIP/ROLLBACK/ACCESS.
5) מודל מידע ביקורת (מינימום)
”קונפיגורציה (id, env, שירות, בעלים, schema_version, רגישות)”
”שינוי _ id, שחקן, פעולה, ts, diff_hash, סיבה, אישור [ ]”
"תוכנית _ url, test_report_url, policy_report, חתימה, release_tag'
חיבורים: RFC/ticket PR depla (sha) הקלטה.
6) תהליך שינוי (מקצה לקצה)
1. RFC/כרטיס = יעד, סיכון, גיבוי.
2. ריפוד יחסי ציבור, אימות סכמטי, בדיקות מדיניות, סריקה סודית.
3. תכנית/תצוגה מקדימה * הפעלה יבשה/תוכנית, הפרעת משאבים, אומדן עלות/השפעה.
4. אישור (4-eyes/SoD, תווית CAB בסיכון גבוה).
5. פריסה (על ידי חלון/לוח שנה) * GitOps חל; התראת סחיפה מאופשרת.
6. אימות = עשן/SLO-גרדלים, אישור התוצאה.
7. אחסון ראיות ארכיון פי ראיות; מעדכן את מילון ההגדרות.
7) מדיניות וכללים (דוגמאות)
סופר יחסי ציבור לא מחזיק בדרבן.
הגבלת זמן: אין ייצור מחוץ ל ”הקפאה”.
היקף: שינוי מפתחות רגישים דורש 2 עדכונים מאבטחה/ציות.
סודות: אסור לשמור repo; נתיב כספת + אזכורי תפקידים גישה בלבד.
רשתות: להיכנס עם '0. 0. 0. 0/0 אסור ללא יוצא מן הכלל זמני ו TTL.
התראות: אסור להפחית את הקריטיות של P1 ללא CAB.
8) שליטה סודית
אחסון כספת/KMS, טי-טי-אל קצר, סיבוב אוטומטי.
סריקה סודית במז "פ (תבניות מפתח, אנטרופיה גבוהה).
בידוד של סודות על ידי סביבות/תפקידים; מינימום זכויות הכרחיות.
הצפנה ”על החוט” ו ”במנוחה”; סגר יומני ביקורת של גישה לסודות.
9) כלים (משתנה)
מוך/סכימה: "yamlint'," jsonschema "," ajv "," cue ".
מדיניות: OPA/Confest, Checkov/tfsec/kube-policy.
GitOps: ArgoCD/Flux (גילוי סחף, ביקורת חשבונות, RBAC).
כספת האשיקורפ, KMS ענן, מנהלי סלט.
סורקים: כמהין, גיטליקים (סודות); אופ "א/רגולה (חוקים).
דיווח: ייצוא יומני DWH/BI, קישור לתקרית ושינוי מערכת.
10) דוגמאות של כללים וחפצים
סכימת JSON להגבלת הגדרות
json
{
"$schema": "http://json-schema. org/draft-07/schema#",
"title": "limits",
"type": "object",
"required": ["service", "region", "rate_limit_qps"],
"properties": {
"service": {"type":"string", "pattern":"^[a-z0-9-]+$"},
"region": {"type":"string", "enum":["eu","us","latam","apac"]},
"rate_limit_qps": {"type":"integer","minimum":1,"maximum":5000},
"timeouts_ms": {"type":"integer","minimum":50,"maximum":10000}
},
"additionalProperties": false
}
Confest/OPA (rego) - להכחיש '0. 0. 0. 0/0 'כניסה
rego package policy. network
deny[msg] {
input. kind == "IngressRule"
input. cidr == "0. 0. 0. 0/0"
msg:= "Ingress 0. 0. 0. 0/0 is not allowed. Specify specific CIDRs or throw an exception with TTL"
}
Confest/OPA - SoD
rego package policy. sod
deny[msg] {
input. env == "prod"
input. pr. author == input. pr. merger msg: = "SoD: PR author cannot hold in prod."
}
SQL (DWH) - שהפחית את הביקורתיות של התראות בחודש
sql
SELECT actor, COUNT() AS cnt
FROM audit_events
WHERE action = 'ALERT_SEVERITY_CHANGED'
AND old_value = 'P1' AND new_value IN ('P2','P3')
AND ts >= date_trunc('month', now())
GROUP BY 1
ORDER BY cnt DESC;
Git לבצע הודעה דוגמה (שדות נדרשים)
feat(config/payments): raise PSP_B timeout to 800ms in EU
RFC: OPS-3421
Risk: Medium (PSP_B only, EU region)
Backout: revert PR + restore timeout=500ms
Tests: schema ok, conftest ok, e2e ok
11) מעקב והתראה
סחיפה-גילוי: הגדרה באשכול GIT = GIT = P1/P2 signal + auto-reproducation (התפייסות).
שינוי בסיכון גבוה: שינוי רשתות/סודות/מדיניות - הודעה ב # ביטחון-Ops.
ראיות חסרות: לפרוס ללא תכנית/חתימה/דיווחים - לחסום או התראה.
נכסים שפג תוקפם: תקופות תוקף תעודה/מפתח = התראות פרו-אקטיביות.
12) Metrics ו ־ KPIs
כיסוי ביקורת% - הנתח של תצורות תחת סכימות/פוליסות/סורקים.
נסחף MTTR הוא זמן הסחיפה הממוצע.
ציות למדיניות% - להעביר מדיניות ליחסי ציבור.
סודות להדליף MTR - מדליפה לחזרה/סיבוב.
שיעור גיבוי - הפרופורציה של רולבקס של שינויים בהגדרות.
ממוצע שינוי גודל - ממוצע דיף על קווים/משאבים (פחות זה יותר טוב).
13) דיווח וציות
ביקורת עקבות: אחסון 1-3 שנים (בהתאם לדרישות), אחסון בלתי ניתן לשינוי.
רגולציה: ISO 27001/27701, SOX-like SOD, GDPR (PII), דרישות התעשייה (iGaming).
דוחות חודשיים: שינויים עליונים, הפרות מדיניות, סחיפה, פקיעת תעודות, מצב רוטציה.
14) ספרי משחק
א. סחיפה זוהתה בדרבן
1. לחסום הפקדה אוטומטית עבור שירות מושפע.
2. הסר את התמונה של המצב הנוכחי.
3. השווה עם Git, ליזום ”להתפייס” או rollback.
4. צור תקרית P2, ציין מקור סחיפה (kubectl/console ידני).
5. אפשר הגנה: ללא שינויים ישירים (PSP/ABAC), הודע לבעלים.
תוקף תעודת ה ־ B. PSP פג
1. עבור לנתיב הגיבוי/PSP, להנמיך את פסקי הזמן/חוזר.
2. הנפקת תעודה חדשה באמצעות תהליך PKI, עדכון ההגדרות באמצעות Git.
3. בדיקת עשן, חזרה תנועה, לסגור את האירוע, לאחר המוות.
ג. פגיעה חשאית ביחסי ציבור
1. בטל מפתח/אסימון, השתמש בסיבוב.
2. לשכתב את ההיסטוריה/להסיר חפץ ממגע, להוציא RCA.
3. הוסף כלל לסורק הסודי, לאמן את הפקודה.
15) אנטי דפוסים
עריכה ידנית ”במבצע” ללא עקבות וחזרה.
הגדרות ללא תוכניות וללא אימות.
סודות במשתני Git/CI ללא KMS/Vault.
מונוראפוסים עם מקבילה ל ”סופר-ימין גלובלי”.
גיטופס ”חירש” ללא התראות סחיפה ויומני יישום.
יחסי ציבור ענקיים ”בבת אחת” - ייחוס לא ברור וסיכון גבוה.
16) רשימות בדיקה
לפני המיזוג
[ ] תרשים וצירים עברו
[ מדיניות אופ "א/קונפסט ] ירוקה
[ סריקה סודית ] - ”נקי”
תכנית/diff מצורף, סיכון הערכת, בחזרה מוכן
[ ] 2 באפריל (Prod) ו SoD נפגשו
לפני פריסה
[ ] חלון שחרור ולוח שנה מסומן
[ ] ניטור הסחף פעיל
[ ] גני SLO מוגדרים, בדיקות עשן מוכנות
חודשי
[ ] סיבוב של מפתחות/תעודות על לוח זמנים
[ ] מלאי הבעלים והזכויות
[ ] OPA/Exclusion Rules Review (TTL)
[ ] תרגיל אש
17) עצות עיצוב
לפצל את השינויים לדיפוזיות קטנה; יחסי ציבור אחד הוא מטרה אחת.
יחסי ציבור/התחייבות חובה תבניות עם RFC/סיכון/rollback.
עבור הגדרות דינמיות, השתמש ב ”מרכזי הגדרות” עם ביקורת חשבונות ו ־ rollback.
Versionize מעגלים; לאסור על שבירה ללא נדידה.
דמיינו את ”מפת ההגדרות”: מה, איפה, מי נשלט.
18) אינטגרציה עם שינוי וניהול תקלות
יחסי ציבור ↔ RFC ↔ לשחרר לוח שנה ↔ תקריות/לאחר המוות.
metrics עניבה אוטומטית (SLO/business) כדי להגדיר שחרור.
משימות ייצור אוטומטי למחיקת דגלים/חריגים ישנים (TTL).
19) השורה התחתונה
ביקורת תצורות אינה ”דיווח נייר”, אלא מנגנון אמינות תפעולית: הגדרות הן נתונים, שינויים הם מבוקרים וניתנים לאימות, סודות הם תחת מנעול ומפתח, וכל הסיפור הוא שקוף וניתן לאימות. כך נבנית פלטפורמה יציבה, תואמת וצפויה.