GH GambleHub

אבטחת API וסינון בקשה

1) למה אתה צריך את זה

API - גבול פלטפורמה חיצוני ופנימי. כל שגיאה באימות, אישור, אימות או נורמליזציה של בקשות הופכת לניצול של נקודות תורפה (BOLA/IDOR, הזרקה, SSRF, תשישות משאבים). מטרה: ליצור הגנה לעומק מהיקף לחוקים עסקיים, עם סל "ד מדיד ובקרת סיכון.

2) מלאי API וסיווג

ספריית API: רשום את כל השירותים/נקודות הקצה, בעלים, גרסאות, סוגי לקוחות (אינטרנט, סלולרי, שותפים), מצב (ציבורי/שותף/פנימי), מידע פיננסי/PII.
ביקורתיות: High (עסקאות פיננסיות/אישור), Medium (קריאת פרופיל), Low (ספריות ציבוריות).
משטח התקפה: REST, GRPC, WebSocket, Webshooks.
סטטוס: Prod/Staging/Experimental policy, deprecate, token/key life.
API Shadow/נטוש: גילוי באמצעות יומני אינגרסט, טלמטריה eBPF/Service Mesh, השוואה עם ספרייה.

3) מודל איום (קצר)

זיהוי: חטיפת אסימון, התחייבות מפגש, MitM, שידור חוזר.
אישור: בולה/זיהוי, הסלמה אופקית/אנכית.
קלט: הזרקות (SQL/NOSQL/LDAP), תבנית/סריאליזציה, תוואי מסלול, כותרות.
שיטפונות DDoS/L7, בקשות איטיות, מגשים רנטומים.
אינטגרציה: חוברות אינטרנט חסרות ביטחון, SSRF באמצעות פרמטרים של URL, הורדות קבצים/סריקה.
היגיון: ניצול לרעה של בונוסים, מירוצים, חוסר עקביות של חוסר אונים.

4) תקן בטיחות בסיסי (מינימום)

1. TLS 1. 2 + בכל מקום; HSTS; צפנים חלשים מושבתים.
2. אימות: OAuth2/OIDC ללקוחות, mTLS/או HMAC - שירות לשירות.
3. אישור: PDP מרכזי (RBAC/ABAC), Object Level Inspection (בולה).
4. אימות: סכימה קפדנית (OpenAPI/JSON Schema/Protobuf), כישלון עם שדות נוספים.
5. גבולות: קצב/מכסות + פרץ, לכל לקוח/לכל IP/לכל אסימון.
6. אימפוטנציה על פעולות כתיבה, הגנה מפני חזרות/גזעים.
7. סינון WAF/שער: נורמליזציה של נתיב/כותרת, רשימות הכחשה, בלוק מטען נגד תבניות.
8. סודות: KMS/כספת, סיבוב מפתח/תעודה, בקרת דליפה.
9. תצפיות: איתור, רישומי ביקורת אבטחה (מי/מה/מתי/תוצאה), התראות.
10. נהלים: תקריות משחק, מקרי מבחן וחומש רגיל/DAST.

5) אימות וניהול סמלים

OAuth2/OIDC: אסימוני גישה קצרי ימים, רענון אך ורק על פי OIDC; קהל/שליח/exp נבדקים על השער.
JWT: RS256/ES256; מינימום של צדפות; "nbf/exp/aud' נדרשים; איסור על אחסון מח "ש. סיבוב מפתח דרך JWKS.
DPOP/PoP: קושר אסימון למפתח הלקוח כדי להפחית את הסיכון של שידור חוזר/חטיפה.
MTLS למערכות פנימיות ושותפים מהימנים (CN/SAN, CRL/OCSP).
HMAC (חתימות): canonicalization דטרמיניסטי (שיטה + path + timamp + nunce + body-hash); חלון זמן תקף (שנות ה-30).
מפגשי דפדפן: GreatSite = קפדן/רופף, HttpOnly, Secure; הגנת CSRF (אסימונים כפולים/מדינתיים).
אחסון לקוח: במחסן הנייד - המאובטח (Keychain/Keystore), הגנה על דיבאג, אישורים.

6) אישור (בולה-ראשון)

רמת אובייקט: כל פעולה בודקת את הזכות למשאב מסוים (בעל משאב/היקף/תכונות).

RBAC/ABAC: תפקידים + תכונות (ארץ, פלח, גבולות סיכון, רמת KYC)

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

7) מסנן ומנרמל בקשות (בשער/WAF)

נורמליזציה: דחיסה של חתכים חוזרים, איסור '/', פענוח פעם אחת, גיזום מרחבים/אפס בייטים.
כותרות: Lost-list (”מארח”, ”תוכן-סוג”, ”קבל”, ”אישור”, ”תאריך”, ”Idempotency-Key”, ראשי עקבות הכרחיים).
שיטות: ”קבל/ראש” ללא גוף; פוסט/לשים/תיקון 'עם סוג' יישום/ג 'סון' או מותר בקפדנות.
ממדים: מקסימום גוף, מקסימום כותרות, מקסימום נתיב; דחייה מוקדמת 413/431.
קבצים: מאמת MIME, אנטי וירוס/ארגז חול, איסור תוכן פעיל, מיחזור תמונה/חיטוי.
URL מפנה מחדש/fetchi: SSRF block (מונע מטווחים פרטיים/metadata IP, סכימה רק 'https', תחומים ברשימה מאפשרת).
תבניות SQL/NoSQL: הזרקת חתימות באמצעות WAF rule-sets + server parmiterization של שאילתות.

מדיניות כותרת לדוגמה (תבנית פסאודו)


deny_headers: ["X-Forwarded-Proto","X-Original-URL","Proxy-Connection","Destination"]
require_headers: ["Authorization" (для protected), "Content-Type" (для write)]
strip_duplicates: true max_header_count: 32 max_header_size: 16KB

8) מגבלות, מכסות והגנה על אנטיביוטיקה

קצב מגביל: token-דלי/דולף-דלי; רמות לכל IP, לכל מפתח API, לכל משתמש, לכל org.
מכסות: יומי/חודשי, בנפרד לשיטות כתיבה/נרחבות.
הסתגלות: הידוק דינמי תחת אנומליות (התפרצות פתאומית/מילוי אישורים).
איטי לוריס/איטי פוסט: לקרוא/לשמור על הזמן, הגבלת חיבור מקביל.
אנטיוט: טביעת אצבע התקן, סימנים התנהגותיים, הוכחה לעבודה/קפטצ 'ה לסיכון מוגבר, רשימה של רשתות טורוס/פרוקסי.
בקרת IP: מסנני Geo/ASN, מכחישים רשימות של תת-רשתות ”מלוכלכות”, מאפשרים רשימה של לוחות שותפים/מנהל.

9) אימות של נתוני קלט ומעגלים

כל מה שנכשל בתכנית הוא 400. שדות נוספים - לדחות.
סוגים/טווחים: מספרים, תאריכים (UTC/ISO-8601), ערכי אנום, אורכי שורות, רגקסים.
איכות JSON: מקסימום קינון, איסור על מערכים גדולים/מפתחות, סדר קנוני (אופציונלי).
אימות עסקי: אידמפוטנטיות לפי 'Idempotency-Key'; חוקים נגד הונאה (מגבלות תדר פעולה, פקקי כמות).
GraphQL: מגבלות עומק/מורכבות, שאילתות רשומות, אישור לשדה.
GRPC: מזימות פרוטובוף קפדניות, שדות חובה, גבולות גודל הודעה.

10) חוברות אינטרנט ושיחות חיצוניות

חתימות: HMAC עם חותמת זמן/nonce; אימות לפני עיבוד; חלון +/-5 דקות.

משלוח: Retrae עם הפסקה מעריכית וג 'יטר; מקסימום ניסיונות; ביטול זיהוי האירוע

Lower IP Lower-List Subdomain/Path; ערימת אירוח מינימלית.
תשובות: 2xx רק לאחר הקלטה פנימית מוצלחת; אחרת 4xx/5xx עם קוד ברור.
בקרת SSRF יוצאת: כאשר URL מתקשר - הרשה-רשימה, למנוע כתובות פרטיות.

11) הצפנה וניהול סודי

בערוץ: TLS 1. 2+/1. 3, מצמיד, מדיניות צופן קפדנית.
לבד: הצפנת אחסון DB/אובייקט, מפתחות נפרדים עבור מידע PII/פיננסי.
KMS/Vault: אחסון מרוכז של סודות, TTL קצר, סיבוב אוטומטי.
מפתחות ותעודות: נפרדים לסביבות; ביקורת של נושאים; איסור על תפוקה ליומנים.
טוקן-אינטרוספקציה: רשימות ביטול מקוונות, קיצור 'exp'.

12) יכולת תצפית, ביקורת ותגובה

יומני אבטחה: ניסיונות אימות/הצלחות, כשלים באישור, אירועים עם מגבלת קצב, שינויים בתפקיד/הגבלה.
איתור: מתאם-זיהוי מקצה לקצה; איתור שיחות חיצוניות.
Metrics: RPS, P95/P99 Latency, שגיאה-rate by code, נתח של 401/403/429, מגבלות קצב פגיעה, אנומליות.
התראות: קוצים 401/403/429, צמיחה של 5xx, קונפליקטים תכופים של אידמפוטנטיות, סטיות חדות של הגרף של QL.
חוברות השמעה: חסימת מפתחות/אסימונים, החזרת כללים במהירות, חימום רשימת המכחישים, הודעה לבעלי השירות.
זיהוי פלילי: שימור מטען שנוי במחלוקת (עם עריכה מאובטחת של PII), שידור חוזר על עמדה מבודדת.

13) שגיאות ותשובות ללקוח

תבנית שגיאה אחידה (קוד, הודעה, זיהוי עקבות, קטגוריה).
אין הדלפות: אין לחשוף SQL, שמות שולחן, אידיאות פנימיות; 403 במקום ”למה לא”.
קודים: 400 (אימות), 401 (אין אימות), 403 (אין זכויות), 404 (קיום מסכה), 405/406, 413/429, 500/503.
Retry-Hints: iti 429 - 'Retry-After'; עבור אידמפוטנטיות - עצה על חזרה עם אותו מפתח.

14) תבניות ארכיטקטוניות

אפס-אמון: mTLS, אישור מפורש בין כל השירותים, הרשאות מינימליות.
שער API + WAF + שירות רשת: הפרדת חובות - היקף, מדיניות L7, אימות פנימי.
קנרית/כחול-ירוק: רול את כללי סינון חדשים בשלבים עם פיקוח.
כשל סגור: לכתיבה ביקורתית, עדיף לסרב בבטחה מאשר לאפשר פעולה שגויה.
תורים/חוצצים, מפסק חשמלי, פסקי זמן/תקציבים.

15) דוגמאות של כללים מעשיים (פסאודו-קונפיג)

15. 1 מגביל מסלולים ושיטות


/api/v1/payments:
allow_methods: [POST, GET]
auth: oauth2_required body:
content_type: application/json max_size: 256KB

15. 2 אידמפוטנטיות


require_header: Idempotency-Key (UUIDv4)
store: redis:ttl=24h on_duplicate: return_previous_result

15. 3 חתימת בקשה (HMAC)


signature:
scheme: "HMAC-SHA256"
required_headers: ["X-Signature","X-Timestamp","X-Nonce"]
allowed_drift: 300s string_to_sign: METHOD + "\n" + PATH + "\n" + SHA256(body) + "\n" + X-Timestamp + "\n" + X-Nonce

15. 4 הגנת SSRF


outbound_http:
allowlist_domains: ["kyc. partner. com","psp. example. net"]
block_private_ip: true require_https: true

15. הגבלת גרפQL 5


graphql:
max_depth: 8 max_complexity: 500 allowlisted_operations_only: true

16) פרטים של iGaming/Finance

גבולות קטע: תלוי בפרופיל CCM/Country/Disk.
חלונות זמן: פקדון/תדר משיכה, ”התקררות” בין עסקאות.
בונוס נגד שימוש לרעה: מנעולים עקביים בחשבון/התקן/IP/כלי תשלום.
ביקורת דרישות רגולטוריות: אחסון לוגים של פעולות והחלטות (KYC/AML), תקופות שימור, יומנים בלתי משתנים.

17) רשימת בדיקות מוכנות של Prod

[ ] ספריית Full API ומפת זרימת נתונים (PII/Financial Plow Map).
[ ] תוכניות OpenAPI/Protobuf, בדיקות אימות וחוזים ב CI.
[ ] mTLS/HMAC/OAuth2 מוגדר; אסימונים קצרים של TL; סיבוב מפתח.
[ ] בדיקות בולה ומקרי אישור שליליים; PDP מרכזי.
[ גבולות ]/מכסות/אנטי-בוט, הגנה מפני איטי-לוריס; מסנני IP.
[ ] WAF/Gateway נורמליזציה, חתימות נגד הזרקה.
[ ] אידמפוטנטיות של פעולות כתיבה; הגנה מפני שידור חוזר.
[ ] חתימות Webhook ורשימת היתר; נקודות סוף מבודדות.
[ ] סודות בקמרון/KMS; חנויות מוצפנות; התראות לסטיות.
[ ] לוחות מחוונים, התראות, יומני ביקורת; עבדתי על תקריות של ספרי שעשועים.
[ ] החומש/DAST/SAST הרגיל, עקבות פגיעות והורדת טלאי.

18) תרופות אנטי ־ פטריות (דבר שאינו אפשרי) ‏

תאמין ”X-Forwarded” - ללא TLS נוקשה בהיקפו.
קבל ”תוכן-סוג” שרירותי ו ”רך” מזימות JSON.
ג 'יי-וי-טי ארוך ימים ללא זיכרון/סיבוב.
לערבב תפקידים וכללים עסקיים בקוד ללא מדיניות מרכזית.
יומנים עם סודות/PII; מפורט 500 הודעה כלפי חוץ.
נקודות סוף פתוחות ”זמניות” ללא מגבלות ואישור.

19) ורסינינג ודיפרקט

גרסאות בנתיב/כותרת; מדיניות תמיכה (למשל: N-2).
הכרזות: מועדים להגרלה, ניטור השימוש בגרסאות ישנות, כיבוי מבוקר.
תאימות: חוזי לקוחות/שותפים ומטריצות מבחן.

20) בדיקות בטיחות

בדיקות חוזה של תוכניות/פוליסות, קלט מזורז, auth שלילי.
פרופילי ביצועים עם גבולות/מכסות, מבחן הגנה (תנועת כאוס).
Red-team/bug-bounty: תסריטי בולה, SSRF, חתימות/הילוכים חוזרים, מורכבות GraphQL.

TL; DR

1. ספריית API + תוכניות מחמירות.
2. OAuth2/OIDC ללקוחות, MTLS/HMAC בפנים.
3. היקף בולה לכל משאב (ABAC/RBAC).
4. סינון: נורמליזציה של נתיבים/כותרות, גבולות, כללי WAF.
5. אידמפוטנטיות, חתימות, הגנה חוזרת/SSRF.
6. KMS/כספת וסבב סודי.
7. תצפית, התראות, ספרי משחק.

Contact

צרו קשר

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

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

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

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

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