Logo GH

הגנת חבילת DDOS וסינון

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

DoS (ראשי תיבות של Design Degradation of Resources: band/pps, state tables, Core CPU/IRQ), בריכות חיבור, גבולות יישומים. המטרה היא לחסום את ההגנה: לכבות את הנפח בהיקפי הרשת, לנטרל חריגות פרוטוקול לערימת TCP/IP, ולנתק בקשות לא רצויות על L7, לשמור SLO למשתמשים לגיטימיים.

2) שיעורי תקיפה

2. 1 L3/L4 (נפח/פרוטוקול)

מבול: UDP, UDP-Reflection/הגברה (DNS/CLDAP/NTP/SSDP/memcased/mDNS), מבול GRE.
פרוטוקול/תשישות מצב: שיטפון SYN, שיטפון ACK/RST, חיבור-תשישות TCP, שיטפון ICMP, פיצול TCP.
מאפייני QUIC/UDP: סופות ראשוניות/ריטרי כוזבות, מקור מזויף.

2. 2 L7 (יישום)

HTTP/1. 1: שאילתות מאחורי מסלולים יקרים, כותרת יתר/הברחת שדה.
HTTP/2: Rapid Respet, זרם-שיטפון, מבול כותרות, התעללות בעדיפות.
HTTP/3 (QUIC): חיבורים/אשכולות ללא סיום, שיטפון ראשוני.
לאט-לאט-לאט-פוסט.
GRPC/WebSocket: זרמים אינסופיים, הצפת הודעות, מסגרות גדולות.

3) ארכיטקטורת אבטחה בסיסית

1. כל קרצוף + קרצוף

לרסס תנועה גלובלית ולהניע דרך מרכזי קרצוף ספק (מנותק נפח/זיוף בקצה).

2. Multi-CDN/Multi-Edge

הפרדת דומיין (web, API, static), צבירה של הגנה ומטמון עבור עומס קריאה.

3. מסננים ברמה נמוכה בהיקפו

ACLs על נתבי גבול (RFC1918, בוגון, נמלים כוזבים ידועים).
eBPF/XDP לצניחה מוקדמת בחתימות והגבלת קצב עד קונטראק.

4. היקף L7 (NGINX/שליח/WAF)

דחיסת RPS באמצעות מפתחות, אתגר (Captcha/PoW), מטמון, עדיפות למסלולים ”יקרים”.

5. יציבות פנימית

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

4) רשת ”שסתומים”: מה להדליק באופן מיידי

4. 1 Linux sysctl (ליבה/ערימה)

bash
TCP SYN flood sysctl -w net. ipv4. tcp_syncookies=1 sysctl -w net. ipv4. tcp_max_syn_backlog=4096 sysctl -w net. ipv4. tcp_synack_retries=3

Conntrack/sysctl -w net tables. netfilter. nf_conntrack_max=262144 sysctl -w net. netfilter. nf_conntrack_tcp_timeout_established=300

ICMP/redirect sysctl -w net. ipv4. icmp_echo_ignore_broadcasts=1 sysctl -w net. ipv4. conf. all. accept_redirects=0 sysctl -w net. ipv4. conf. all. send_redirects=0

sysctl -w net socket resources. core. somaxconn=4096 sysctl -w net. core. netdev_max_backlog=250000 sysctl -w net. core. rmem_max=134217728 sysctl -w net. core. wmem_max=134217728

4. 2 שטרות: מסננים בסיסיים ורטלימיט על חבילות

nft table inet filter {
sets {
bogon { type ipv4_addr; flags interval; elements = { 0. 0. 0. 0/8, 10. 0. 0. 0/8, 100. 64. 0. 0/10,
127. 0. 0. 0/8, 169. 254. 0. 0/16, 172. 16. 0. 0/12, 192. 0. 2. 0/24, 192. 168. 0. 0/16, 198. 18. 0. 0/15, 224. 0. 0. 0/4 } }
}
chains {
input {
type filter hook input priority 0; policy drop;
ip saddr @bogon drop ct state established,related accept

UDP amplification ports - limit pps udp dport {53,123,1900,11211,389,1900,5353} limit rate over 2000/second drop

SYN rate-limit tcp flags syn tcp dport {80,443} limit rate over 2000/second drop

ICMP flood ip protocol icmp limit rate 100/second accept
}
}
}

4. 3 XDP/eBPF (רעיון)

חבילות טיפה מוקדמת עם מקור מזויף (uRPF רצוי על הנתב).
דליי חשיש pps per/32 ו-per/24; ”הסגר דינמי” של מקורות.
UDP-reflection: DNS response-like signatures (מסנן מחוץ להקשר).

5) UDP הגברה: מלאי ובלוקים

מחזירי אור/מגברים תכופים: DNS (open resolvers), NTP (monlist), CLDAP, SSDP, MDNS, Memcashed (UDP), Chargen.

מדידות:
  • סגור/להגביל שירותי UDP, למזער יציאות פתוחות.
  • במתחם, הגבל pps/bitrate לנמלים ידועים.
  • המלצת DNS: רקורסיבית רק עבור הרשתות שלה, RRL (Response Rate Limiting), מזערית את כל.
  • NTP - רק ”אתחול” לסמוך עליו, ”שום דבר” לציבור.

6) תשישות מצב TCP

מבול SYN: 'tcp _ syncookies = 1', מוגדל 'tcp _ max _ syn _ backlog', 'synack _ retries = 3', טיפה אחר pps.
שיטפון ACK/RST: גבולות ברמה נמוכה, סינון רצפים לא לגיטימיים (nftables/ebpf).
אין לבזבז טבלאות מצב היכן שהמסנן אפשרי על ידי חתימה חסרת מעמד.

7) התקפות אל-7 HTTP/2/3 וחכמות

HTTP/2 Rapid Response: הגבלת התדירות של מסגרות RST ומספר הנחלים הפתוחים; סגור את הקשר למקרה של חריגות.
התעללות בזרם: נחלים מקבילים, גודל כותרת, גודל מסגרת מקסימלי.
QUIC/HTTP/3: הגבל pps ראשוני, אפשר Retry; זמן לחיצת יד קצר.

NGINX (שבר L7)

nginx
Header/body constraint client_max_body_size 1m;
large_client_header_buffers 4 8k;

HTTP/2 limits http2_max_concurrent_streams 128;
http2_recv_buffer_size 256k;

Rate limit by IP (example)
limit_req_zone $binary_remote_addr zone=reqs:20m rate=100r/s;
limit_req zone=reqs burst=200 nodelay;

שליח (נגד איפוס ומגבלות)

yaml http2_protocol_options:
max_concurrent_streams: 128 initial_stream_window_size: 65536 max_outbound_frames: 10000 stream_error_on_invalid_http_messaging: true

8) התקפות איטיות והגנה על משאבים

Slowloris/slow-read/slow-POST: אפשר ”proxy _ request _ buffering on”, sell-timeout, מינימום מקובל ”read _ rate”.
סיום חיבורים במרווח ארוך בין מנות לכל בקשה.
על יישום - קריאה מוקדמת/השמטת גוף, מגבלות גודל/עומק JSON.

9) סינון L7: מי חשוב יותר - תן לו לעבור

סיווג תנועה: ידוע כטוב (mTLS/JWT partners), משתמשים רשומים, אנונימיים.
סדרי עדיפויות: ”נתיבי כתיבה” יקרים (פיקדונות/מסקנות) - להגן, אבל להחמיץ אושר; קריאת ספריות - מטמון + מצערת.
שכבת אתגר: Captcha/PoW/JS אתגרים לאזורים אפורים בשיא.

10) מטמון, פחם והשפלה

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

11) יכולת תצפית וטלמטריה

Metrics (per POP/node/cluster):
  • L3/L4: 'pps _ in/out', 'bps _ in/out', 'drop _ ppps', 'syn _ revv', 'contrack _ used/limit', 'xdp _ drop _ pps'.
  • L7: ”בקשות _ total _ road”, ”429 _ total”, ”total _ type”, ”h2 _ rst _ rate”, ”slow _ req _ total”.
  • תלות: CPU IRQ רך/קשה, טיפות תור NIC, אורך תור ריצה.

יומנים: דגימה, צבירה של 24/24, ASN, נמלים וחתימות; בלי מח "ש.
איתור: אפשר על וויטליסטים, התרסקות מרחיבה את הדגימה לדיבוג.

12) תוכניות תגובה (ריצה)

1. גילוי: הפעלה של סף pps/bps/429/h2_rst_rate.
2. סיווג: רמה (L3/4/7), פרוטוקול (UDP/TCP/H2/H3), גיאו/ASN.

3. שסתומים:
  • אפשר קרצוף/פרופילי חור שחור על הספק
  • לחזק את גבולות ntables/ebpf,
  • להוריד את הגבולות L7 ולהגדיל אתגרים,
  • אפשר ניסיון חוזר עבור QUIC (מבול ראשוני).
  • 4. תקשורת: עמוד מצב, תבניות הודעת שותף.
  • 5. לכידת PCAP ל 60-120 שניות, דגימת דברנים עליונים ASNs/ports.
  • 6. רטרוספקטיבה: עדכון חתימות, סף, רשימות השתקפות.

13) בדיקות ותרגולים

מחזורי DDOS-מקדחה רבעוניים: התפרצויות UDP/HTTP סינתטיות, תנועה איטית, איפוס HTTP/2.
יום משחק: כל מתג/נדידה בין CDNs, הידרדרות ל ”מצב קל”.
אימות ספק: קרצוף SLA, סינון בזמן/חופש, מקסימום pps/bps.

14) תרופות אנטי ־ פטריות

להסתמך רק על L7-WAF להתקפת נפח.
אין uRPF/ACL על המדרכה וקונטראק-כבד סינון חזיתית.
כותרות בלתי מוגבלות/גופות ושמירה ארוכה על חיים בשיא.
אזור אחד/ROR ללא Anycast/multi-edge.
אין מלאי NIC/IRQ/CPU וניטור תורים.
אין מטמון/פחם - תוספת RPS עבור גיבוי.

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

פסגות זמניות (גפרורים/דרבי/לוטו): הרחבת קיבולת POP מראש, כולל מטמון אגרסיבי של מקדמים, הטלת אתגרים קנריים עבור אנשים אנונימיים.
נתיבי תשלום/פלט: בריכת קצה נפרדת עם mTLS, פסקי זמן קצרים, גבולות תחרותיים; בלי 0-RTT.
גיאו-פוליטיקאים: אורות אזוריים, סינון ASN של ”אירוח”, החלפת גיאו מהירה.
הצטלבות עם אנטי-פראוד: מגבלות מהירות ו-Risk API נכנסים לפרופיל ”קשה” בתקרית DDOS.

16) רשימת מוכנות תומכת

[ ] Anycast ad supermulti-edge/CDN; ערוצי קרצוף בדקו.
[ ] גבול-ACL/uRPF; פרופילי Nftables/ebpf/XDP, סינון חסר קונטראק.
[ ] כוונון Sysctl TCP/SYN, להגביל pps עבור נמלי המגבר UDP.
[ ] גבולות HTTP/2/3 (זרמים, מסגרות, כותרות), הגנה איטית, הגבלת גוף/כותרת.
[ ] L7 גבולות ואתגר; מטמון ומתכווצים על ההיקף.
[ ] לוחות מחוונים pps/bps/contrack/IRQ + L7 RED; התראות לסטיות h2_rst/429.
[ ] Runbook/playbooks, אנשי קשר ספקים,
[ תורתו ]: התפרצויות, איטיות, HTTP/2 להתאפס; דו "ח ושיפורים שיא.
[ ] בריכות מפוצלות לתשלום/מסלולים קריטיים, MTLS, ומגבלות מחמירות.

17) TL; DR

הגנה סטראטיפית: Anycast + קרצוף נפח דמפנס, eBPF/XDP + Nftables חותכים אשפה לערימה, L7 גבולות/אתגרים/מטמון שומרים על SLAs. Tune TCP (עוגיות SYN, backlog), להגביל מגברי UDP, לקבוע גבולות HTTP/2/3 והגנה איטית. יש לי ספר ריצות ולאמן אותו; עבור iGaming - להרחיב את הקצה מראש בשעות השיא ונתיבי תשלום נפרדים עם mTLS ומגבלות קשות.

Contact

צרו קשר

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

התחלת אינטגרציה

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

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

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