Προστασία και φιλτράρισμα πακέτων DDoS
1) Γιατί το χρειάζεστε
Το DDoS είναι μια «μαζική υποβάθμιση» των πόρων: ζώνη/pps, πίνακες κατάστασης, πυρήνας CPU/IRQ, ομάδες σύνδεσης, όρια εφαρμογής. Στόχος είναι η διαστρωμάτωση της προστασίας: εξάλειψη του όγκου στην περίμετρο του δικτύου, εξουδετέρωση των ανωμαλιών του πρωτοκόλλου στη στοίβα TCP/IP, και διακοπή ανεπιθύμητων αιτημάτων στο L7, εξοικονόμηση SLO για νόμιμους χρήστες.
2) Τάξεις επίθεσης
2. 1 L3/L4 (ογκομετρικό/πρωτόκολλο)
Ογκομετρική: πλημμύρα UDP, αντανάκλαση/ενίσχυση UDP (DNS/CLDAP/NTP/SSDP/memcached/mDNS), πλημμύρα GRE.
Εξάντληση πρωτοκόλλου/κατάστασης: πλημμύρα SYN, πλημμύρα ACK/RST, εξάντληση σύνδεσης TCP, πλημμύρα ICMP, κατακερματισμός TCP.
Χαρακτηριστικά QUIC/UDP: Ψευδείς αρχικές/Αναδρομικές καταιγίδες, πηγαία ψεύτικα.
2. 2 L7 (αίτηση)
. 1: ερωτήματα πίσω από ακριβά δρομολόγια, υπέρμετρο μέγεθος κεφαλής/λαθρεμπόριο.
: Rapid Reset, stream-flood, HEADERS πλημμύρα, κατάχρηση προτεραιότητας.
(QUIC): συνδέσεις/νήματα χωρίς τερματισμό, αρχική πλημμύρα.
Αργή - атаки: αργή/αργή ανάγνωση/αργή-POST.
gRPC/WebSocket: ατελείωτες ροές, πλημμύρες μηνυμάτων, μεγάλα πλαίσια.
3) Βασική αρχιτεκτονική ασφάλειας
1. Κάθε cast + Scrubbing
Η κυκλοφορία με ψεκασμό παγκοσμίως και η οδήγηση μέσω κέντρων καθαρισμού παρόχων (αποκοπή της ογκομετρικής/spoofing στην άκρη).
2. Multi-CDN/Multi-Edge
Διαχωρισμός τομέα (ιστός, API, στατικός), συγκέντρωση προστασίας και μνήμη για φορτίο ανάγνωσης.
3. Φίλτρα χαμηλής στάθμης στην περίμετρό του
ACL σε συνοριακούς δρομολογητές (RFC1918, bogon, γνωστοί ψευδείς λιμένες).
eBPF/XDP για την πρόωρη πτώση των υπογραφών και των ορίων ταχύτητας μέχρι τη σύνδεση.
4. L7 Περίμετρος (NGINX/Απεσταλμένος/WAF)
Συμπίεση RPS ανά κλειδιά, πρόκληση (captcha/PoW), κρύπτη, προτεραιότητα σε «ακριβά» μονοπάτια.
5. Εσωτερική σταθερότητα
Δεξαμενές σύνδεσης, ουρές αναμονής, κύκλωμα/timeout, απομόνωση υπηρεσίας (διάφραγμα) και αυτόματη αποτρίχωση.
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 nftables: βασικά φίλτρα και ratelimit σε συσκευασίες
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 (ιδέα)
Πακέτα πρώιμης πτώσης με spoofed πηγή (το uRPF είναι ευπρόσδεκτο στο router).
hash κουβάδες pps ανά 32 και ανά 24· δυναμική «καραντίνα» πηγών.
Αντανάκλαση UDP: Υπογραφές τύπου απόκρισης DNS (φίλτρο εκτός πλαισίου).
5) Ενίσχυση UDP: απογραφή και δέσμες
Συχνοί ανακλαστήρες/ενισχυτές: DNS (open resolvers), NTP (monlist), CLDAP, SSDP, mDNS, Memcached (UDP), Chargen.
Μέτρα:- Κλείσιμο/περιορισμός των υπηρεσιών UDP, ελαχιστοποίηση των ανοικτών λιμένων.
- Στην περίμετρο, οριακά pps/bitrate για γνωστές θύρες.
- Σύσταση DNS: αναδρομική μόνο για τα δίκτυά της, RRL (περιορισμός του ρυθμού απόκρισης), ελαχιστοποιώντας ΟΠΟΙΑΔΉΠΟΤΕ.
- NTP - μόνο «bootstrap» για να εμπιστεύεται, 'noquery' για το κοινό.
6) Εξάντληση του TCP
Πλημμύρα SYN: 'tcp _ syncookies = 1', αυξημένη 'tcp _ max _ syn _ backlog', 'synack _ redries = 3', πτώση με pps.
Πλημμύρα ACK/RST: όρια χαμηλού επιπέδου, έλεγχος των παράνομων αλληλουχιών (nftables/ebpf).
Χωρίς Conntrack στα σύνορα: μη σπαταλάτε πίνακες όπου το φίλτρο είναι δυνατό με υπογραφή από απάτριδα.
7) HTTP/2/3 και έξυπνες επιθέσεις L7
Ταχεία επαναφορά: περιορίστε τη συχνότητα των πλαισίων RST και τον αριθμό των ανοικτών ροών· να κλείσει η σύνδεση σε περίπτωση ανωμαλιών.
Κατάχρηση ρεύματος: лимит ταυτόχρονα ρεύματα, μέγεθος κεφαλίδων, μέγιστο μέγεθος πλαισίου.
: όριο αρχικών 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) Αργές επιθέσεις και προστασία των πόρων
Αργή/αργή ανάγνωση/αργή-POST: ενεργοποιήστε 'proxy _ request _ buffering on', χαμηλό χρόνο βραδυπορίας, ελάχιστο αποδεκτό 'read _ rate'.
Τερματισμός συνδέσεων σε μεγάλο διάστημα μεταξύ πακέτων ανά αίτημα.
Κατά την εφαρμογή - πρόωρη ανάγνωση/απόρριψη σώματος, όρια μεγέθους JSON/βάθους.
9) Φιλτράρισμα L7: ποιος είναι πιο σημαντικός - ας περάσει
Ταξινόμηση κυκλοφορίας: γνωστό καλό (mTLS/JWT partners), εγγεγραμμένοι χρήστες, ανώνυμοι.
Προτεραιότητες: «ακριβές» γραπτές διαδρομές (καταθέσεις/συμπεράσματα) - προστασία, αλλά μη επιβεβαιωμένη· καταλόγους ανάγνωσης - κρύπτη + γκάζι.
Στρώμα πρόκλησης: captcha/PoW/JS προκλήσεις για γκρίζες ζώνες στην κορυφή.
10) Κρύπτη, συσσωμάτωση και υποβάθμιση
Απόκρυψη ακμών για στατικές/οιονεί στατικές αποκρίσεις, «stale-while-revalidate».
Αίτημα συνένωσης: κατάρρευση παράλληλων αιτημάτων σε ένα κλειδί - στον διαμεσολαβητή και στην αίτηση.
Κατάσταση υποβάθμισης: απενεργοποίηση δευτερευόντων χαρακτηριστικών (εξατομίκευση, βαριές αναφορές), έκδοση σελίδων «φωτός».
11) Παρατηρησιμότητα και τηλεμετρία
Μετρήσεις (ανά POP/κόμβο/σύμπλεγμα):- : 'pps _ in/ou ,' bps _ in/ou , 'drop _ pps {λόγος}', 'syn _ recv', 'conntrack _ used/limit', 'xdp _ drop _ pp .
- L7: 'ζητά _ συνολικά {route}', '429 _ total', 'challenge _ total {type}', 'h2 _ rst _ rate', 'slow _ req _ total'.
- Εξαρτήσεις: CPU IRQ μαλακό/σκληρό, NIC σταγόνες αναμονής, μήκος αναμονής.
Καταχωρίσεις: δειγματοληψία, συγκεντρωτικά ανά/24, ASN, λιμένες και υπογραφές. χωρίς PII.
Ιχνηλάτηση: ενεργοποιήστε τις λευκές λίστες, επεκτείνετε τη δειγματοληψία για αποσφαλμάτωση.
12) Σχέδια αντίδρασης (runbook)
1. Ανίχνευση: ενεργοποίηση κατωφλίων pps/bps/429/h2_rst_rate.
2. Ταξινόμηση: επίπεδο (L3/4/7), πρωτόκολλο (UDP/TCP/h2/h3), geo/ASN.
- ενεργοποίηση προφίλ καθαρισμού/μαύρης οπής στον πάροχο
- ενίσχυση των ορίων nftables/ebpf,
- χαμηλότερα όρια L7 και αύξηση των προκλήσεων,
- Ενεργοποίηση επανάληψης για QUIC (Αρχική πλημμύρα).
- 4. Ανακοινώσεις: σελίδα κατάστασης, υποδείγματα κοινοποίησης εταίρων.
- 5. Εγκληματολογία: Σύλληψη PCAP για 60-120 δευτερόλεπτα, δειγματοληψία κορυφαίων ομιλητών ASN/θύρες.
- 6. Αναδρομική: επικαιροποίηση υπογραφών, κατωφλίων, καταλόγων ανακλαστήρων.
13) Δοκιμές και ασκήσεις
DDoS-τρυπάνι playbooks ανά τρίμηνο: συνθετικό UDP/HTTP εκρήξεις, αργή κίνηση, HTTP/2 επαναφορά.
Ημέρα παιχνιδιού: Οποιαδήποτε αλλαγή/μετάβαση μεταξύ CDN, υποβάθμιση σε «εύκολη λειτουργία».
Επαλήθευση παρόχου: SLA scrubbing, filter on/off time, max pps/bps.
14) Αντιπατερίδια
Βασιστείτε μόνο σε L7-WAF για ογκομετρική επίθεση.
Δεν υπάρχουν URPF/ACL στο πεζοδρόμιο και το χωνευτήριο-βαρύ φιλτράρισμα.
Απεριόριστες κεφαλές/σώματα και μακρά διάρκεια ζωής στην κορυφή.
Μονή περιφέρεια/ROR χωρίς Anycast/πολλαπλές ακμές.
Δεν υπάρχει καταγραφή NIC/IRQ/CPU και παρακολούθηση αναμονής.
Χωρίς κρύπτη/άνθρακα - επιπλέον RPS για backend.
15) Ιδιαιτερότητες του iGaming/Finance
Προσωρινές κορυφές (αγώνες/derby/lotto κληρώσεις): επέκταση της χωρητικότητας POP εκ των προτέρων, περιλαμβάνουν μια επιθετική κρύπτη συντελεστών, θέτουν προκλήσεις καναρίνι για τους ανώνυμους ανθρώπους.
Διαδρομές πληρωμής/εξόδου: χωριστή δεξαμενή ακμών με mTLS, σύντομες χρονικές περιόδους, ανταγωνιστικά όρια. όχι 0-RTT.
Γεωπολιτικοί: περιφερειακά επιτρεπόμενα φώτα, φιλτράρισμα ASN της «φιλοξενίας», γρήγορη γεω-αλλαγή.
Τομή με την καταπολέμηση της απάτης: τα όρια ταχύτητας και το API κινδύνου εντάσσονται σε ένα «σκληρό» προφίλ σε ένα περιστατικό DDoS.
16) Κατάλογος ελέγχου ετοιμότητας Prod
- Anycast или multi-edge/CDN; ελέγχθηκαν τα κανάλια καθαρισμού.
- Border-ACL/URPF· nftables/προφίλ ebpf/XDP, φιλτράρισμα χωρίς σύνδεση.
- Συντονισμός Sysctl TCP/SYN, οριακές αντλίες για θύρες ενισχυτή UDP.
- όρια HTTP/2/3 (ρεύματα, πλαίσια, κεφαλίδες), αργή προστασία, όρια σώματος/κεφαλής.
- L7 όρια και πρόκληση, κρύπτη και κάρβουνο στην περίμετρο.
- Dashboards pps/bps/conntrack/IRQ + L7 RED· προειδοποιήσεις για την h2_rst/429 ανωμαλιών.
- Runbook/playbooks, επαφές παρόχου, προφίλ ενεργοποίησης ενός κλικ.
- Διδασκαλίες: εκρήξεις, αργή, HTTP/2 επαναφορά? υποβολή εκθέσεων και βελτιώσεις ρεκόρ.
- Διασπασμένοι όμιλοι για διαδρομές πληρωμής/κρίσιμης σημασίας, mTLS, και αυστηρά όρια.
17) TL, DR
Προστασία από στρωματοποίηση: Το Anycast + scrubbing μειώνει τον όγκο, το eBPF/XDP + nftables κόβουν τα σκουπίδια στη στοίβα, τα όρια L7/προκλήσεις/κρύπτες διατηρούν SLA. Συντονίστε TCP (cookies SYN, εκκρεμότητες), περιορίστε τους ενισχυτές UDP, θέστε όρια HTTP/2/3 και βραδεία προστασία. Να έχετε ένα εγχειρίδιο λειτουργίας και να το εκπαιδεύσετε. για iGaming - να επεκταθεί η ακμή εκ των προτέρων κατά τις ώρες αιχμής και ξεχωριστές διαδρομές πληρωμής με mTLS και σκληρά όρια.