Τείχος προστασίας και φιλτράρισμα κυκλοφορίας
(Τμήμα: Τεχνολογία και Υποδομές)
Σύντομη περίληψη
Το Firewall δεν είναι ένα κουτί στην περίμετρο, αλλά ένα μοντέλο φιλτραρίσματος από το L3-L4 έως το L7: Cloud Security Groups/NACL, πολιτικές δικτύου στο Kubernetes, έλεγχος εξόδου, διαχείριση WAF και bot στην άκρη, και mTLS/πηγή-αλήθεια για υπηρεσία. Για το iGaming, το κλειδί είναι η προστασία των ροών πληρωμών και των παρόχων παιχνιδιών, της γεωπολιτικής, του ελέγχου DNS και της παρατηρησιμότητας (ποιος, πού, πότε και γιατί).
1) Στόχοι και αρχές
Εξ ορισμού άρνηση: εξ ορισμού, επιτρέπουμε την ελάχιστη απαιτούμενη.
Άμυνα σε βάθος - Ίδιες πολιτικές για την περίμετρο, το σύννεφο, το σύμπλεγμα και την εφαρμογή.
Πρώτη έξοδος: η κίνηση εξόδου είναι ο ίδιος κίνδυνος με την είσοδο (PSP, πάροχοι παιχνιδιών, ταχυδρομείο, ανάλυση).
Ταυτότητα> διεύθυνση: όπου είναι δυνατόν, να επιτρέπεται με ταυτότητα (mTLS/Spiffe) αντί για γυμνό IP.
Παρατηρησιμότητα και έλεγχος: αρχεία καταγραφής αποφάσεων (επιτρέπουν/αρνούνται), ίχνη, συσχέτιση με συμβάντα.
2) Χάρτης των στρωμάτων διήθησης
1. Ακμή: προστασία CDN/WAF/DDoS/bot, κανόνες L7, τερματισμός TLS.
2. Υπολογιστικό νέφος: Ομάδες ασφαλείας/κανόνες NACL/Firewall σε επίπεδο VPC/subnet/VM.
3. Δέσμη: Kubernetes NetworkPolicy, πλέγμα υπηρεσιών (Envoy/Istio) με φίλτρα mTLS και L7.
4. Υποδοχή: iptables/nftables/ufw, agent eBPF φίλτρα.
5. Εφαρμογή: όριο ταχύτητας/idempotency/WAF in-app, καταλόγους τομέα για έξοδο.
6. DNS: διαχωριστικός ορίζοντας, εξυγίανση καταλόγων δικαιωμάτων εκπομπής, δέσμη τομέων/τύπων κινδύνου.
3) Περίμετρος: διαχείριση WAF, DDoS και bot
WAF: βασικές υπογραφές + τελωνειακοί κανόνες για API (συστήματα JSON, μέθοδοι/τύπος περιεχομένου).
Bots: βαθμολόγηση συμπεριφοράς, δακτυλικό αποτύπωμα συσκευής, δυναμική captcha για ανωμαλίες.
DDoS: L3/4 (volum/synapse) και L7 (πλημμύρες HTTP) - αυτόματη απόρριψη στα άκρα.
GEO/ASN: περιορίζουμε τις περιφέρειες/αυτόνομα συστήματα για επικίνδυνες περιοχές (για παράδειγμα, μια διοικητική ομάδα).
nginx
Разрешаем только JSON POST/GET на /api/
location /api/ {
limit_req zone=rl_api burst=50 nodelay;
if ($request_method!~ ^(GET POST)$) { return 405; }
if ($http_content_type!~ "application/json") { return 415; }
proxy_pass http://api_upstream;
}
ModSecurity CRS + собственные правила modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/crs.conf;
4) Υπολογιστικό νέφος: Ομάδες ασφαλείας και NACL
Ομάδα ασφαλείας (stateful) - φίλτρα ανά λιμένα/πρωτόκολλο/τμήμα.
NACL (απάτριδες) - φιλτράρισμα υπο-διχτυών με τραχιά μάτια.
yaml security_group:
name: api-sg ingress:
- proto: tcp; port: 443; cidr: 0.0.0.0/0 # через CDN/WAF egress:
- proto: tcp; port: 443; cidr: 203.0.113.0/24 # PSP-X
- proto: tcp; port: 443; cidr: 198.51.100.0/24 # ProviderA
- proto: udp; port: 53; cidr: 10.10.0.10/32 # только наш DNS
Πρακτική: για τις πληρωμές διατηρούνται χωριστοί SG και λίστες εξόδου για συγκεκριμένες σειρές παρόχων υπηρεσιών πληρωμών/παιχνιδιών. Επικαιροποιήσεις - μέσω IaC και επανεξέταση.
5) Kubernetes: NetworkPolicy and Service Mesh
Η NetworkPolicy περιορίζει την L3/4 εντός του συμπλέγματος. εξ ορισμού «όλοι μιλούν σε όλους» - κλείσιμο.
Άρνηση-όλα + ανάλυση μόνο αναγκαία:yaml apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: { name: deny-all, namespace: prod }
spec:
podSelector: {}
policyTypes: [Ingress, Egress]
ingress: []
egress: []
---
Разрешаем API разговаривать с платежным сервисом и DNS apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: { name: api-allow-specific, namespace: prod }
spec:
podSelector: { matchLabels: { app: api } }
policyTypes: [Ingress, Egress]
egress:
- to:
- namespaceSelector: { matchLabels: { name: prod } }
podSelector: { matchLabels: { app: payments } }
ports: [{ protocol: TCP, port: 8080 }]
- to:
- ipBlock: { cidr: 10.10.0.10/32 }
ports: [{ protocol: UDP, port: 53 }]
Πλέγμα υπηρεσίας (Istio/Linkerd/Πρόξενος) προσθέτει:
- Το mTLS είναι παντού (επαλήθευση ταυτότητας υπηρεσίας με ταυτότητα, όχι με IP).
- Φιλτράρισμα L7 (μέθοδοι/ξενιστές/μονοπάτια/κεφαλίδες), διακόπτης κυκλώματος, εξερχόμενη εξώθηση.
- Πολιτικές πρόσβασης ανά λογαριασμό υπηρεσίας/αναγνωριστικό Spiffe.
yaml apiVersion: security.istio.io/v1 kind: AuthorizationPolicy metadata: { name: api-to-payments, namespace: prod }
spec:
selector: { matchLabels: { app: payments } }
action: ALLOW rules:
- from:
- source:
principals: ["spiffe://prod/ns/prod/sa/api-sa"]
to:
- operation:
methods: ["POST"]
paths: ["/deposit","/withdraw"]
6) Τείχη προστασίας: iptables/nftables/eBPF
Παράδειγμα nftables (statefull, reny-all):nft table inet filter {
sets {
psp { type ipv4_addr; elements = { 203.0.113.10, 203.0.113.11 } }
}
chains {
input { type filter hook input priority 0; policy drop;
ct state established,related accept iifname "lo" accept tcp dport {22,443} accept
}
output { type filter hook output priority 0; policy drop;
ct state established,related accept udp dport 53 ip daddr 10.10.0.10 accept # только наш DNS tcp dport 443 ip daddr @psp accept # egress к PSP
}
forward { type filter hook forward priority 0; policy drop; }
}
}
Οι παράγοντες eBPF (κίλιο κ.λπ.) παρέχουν λεπτές πολιτικές και ορατότητα (ροές, DNS, HTTP μεταδεδομένα).
7) Έλεγχος εξόδου και κατάλογοι προορισμού
Επιτρεπόμενοι τομείς/IP για εξωτερικές κλήσεις (PSP, ταχυδρομείο, KYC, πάροχοι παιχνιδιών).
DNS pinning/SNI πολιτικές: επίλυση μόνο μέσω αξιόπιστου επιλυτή· απαγορεύει την πρόωρη έξοδο IP.
Ξεχωριστή έξοδος VPC/VNet για πληρωμή, τυχερά παιχνίδια και γενικά κυκλώματα.
πληρεξούσιο με επιθεώρηση TLS για κυκλοφορία εκτός PII· ροές πληρωμών - καμία MITM, άμεση mTLS/PII-ασφαλής μόνο.
8) TLS/mTLS και πολιτική κρυπτογράφησης
TLS 1. 2 +, σύγχρονα κρυπτογραφήματα, συρραφή OCSP, HSTS.
mTLS στο εσωτερικό - δέσμευση στην ταυτότητα Spiffe/πιστοποίηση λογαριασμών υπηρεσιών.
Τακτική εναλλαγή πιστοποιητικού και επαλήθευση αλυσίδων εμπιστοσύνης.
CORS/CSP στον διαμεσολαβητή L7 για τη μείωση των πηγών επίθεσης στο μπροστινό μέρος.
9) Όριο ποσοστού και L7-quotas
Όρια ακμών κατά IP/ASN/προθέματα· όρια εφαρμογής - ανά ταυτότητα (λογαριασμός/ενοικιαστής/κλειδί).
Idempotency-keys για πράξεις πληρωμής POST έτσι ώστε τα retrays να μην δημιουργούν αντίγραφα.
Κάδος διαρροής/μανδύα με νευρώσεις. κατά τη διάρκεια της υποβάθμισης - «γκρίζες απαντήσεις «/captcha/επιβράδυνση.
10) Ασφάλεια DNS
Επιτρέπονται μόνο εταιρικές αναλύσεις (VPC resolver/αυξημένο CoreDNS).
Διαχωρισμός-ορίζοντας: Οι εσωτερικές ονομασίες δεν επιλύονται εξωτερικά.
Αποκλεισμός επιβλαβών TLD/κατηγοριών, απαγόρευση DoH/DoT από τις εστίες.
Αιτήματα καταγραφής και συναγερμός από ανωμαλίες (νέοι τομείς, συχνές NXDOMAIN).
11) Καταχωρίσεις, παρατηρησιμότητα και δοκιμές
Αρχεία καταγραφής τείχους προστασίας (επιτρέπουν/αρνούνται, κανόνες, ψηφιολέξεις), έλεγχος WAF, αρχεία καταγραφής DNS → SIEM/SOAR.
Παραδείγματα: κλείδωμα μετρήσεων με 'trace _ id' → ένα γρήγορο άλμα στο προβληματικό ίχνος ερωτημάτων.
Συνθετικά: τακτικοί έλεγχοι της διαθεσιμότητας παρόχων PSP/παιχνιδιών από τις σωστές περιοχές.
Δοκιμές χάους δικτύου: απώλεια πακέτων, RTT, σφάλματα DNS - ελέγξτε την αντίδραση των κανόνων και την αυτόματη αποκατάσταση.
12) Αυτοματοποίηση και IaC
Όλοι οι κανόνες είναι σαν κωδικός (Terraform/Ansible/Helm/Kyverno/Gatekeeper).
Προσέλκυση αιτήσεων επανεξέτασης με πολιτικές ασφάλειας (OPA).
Η έκδοση και η σημείωση σηματοδοτούν οποιονδήποτε κανόνα αλλάζει στα γραφήματα.
Αλλαγές καναρινιών: σταδιακή ανάπτυξη των πολιτικών δικτύου (ονοματοδοσία/σήμα, 5-10% των σταδίων).
13) Οι ιδιαιτερότητες του iGaming
Διαδρομές πληρωμής (ΠΥΠ): μεμονωμένες ομάδες εξόδου, αυστηρός κατάλογος εξόδων, παρακολούθηση κωδικού/χρονοδιαγράμματος.
Πάροχοι παιχνιδιών: whitelisting CDN domains, προστασία από ξαφνικές ανακατευθύνσεις.
Γεωλογικοί κανόνες: συμμόρφωση με τους τοπικούς περιορισμούς, τμήματα περιφερειών στην άκρη.
Backoffice/KYC: πρόσβαση μόνο από έμπιστα δίκτυα/μέσω προμαχώνα + ΜΧΣ.
Απάτη: όρια ταχύτητας σε L7 και «βαριά» αιτήματα για API μη φυσιολογικών πηγών.
14) Παραδείγματα ταχέων κανόνων
UFW (host)
bash ufw default deny incoming ufw default deny outgoing ufw allow 22/tcp ufw allow 443/tcp ufw allow out to 10.10.0.10 port 53 proto udp ufw allow out to 203.0.113.0/24 port 443 proto tcp
Istio EnvoundFilter (απαγόρευση μη τυποποιημένων μεθόδων, ιδέα)
yaml typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router до роутера — Lua/Match для блокировки методов not in [GET,POST,OPTIONS]
Όριο ταχύτητας NGINX
nginx limit_req_zone $binary_remote_addr zone=rl_api:10m rate=10r/s;
server {
location /api/ { limit_req zone=rl_api burst=50 nodelay; proxy_pass http://api; }
}
15) Κατάλογος ελέγχου εφαρμογής
1. Προκαθορισμένη άρνηση στο επίπεδο του νέφους (SG/NACL), του συμπλέγματος (NetworkPolicy) και των ξενιστών.
2. Επιτρεπόμενος κατάλογος εξόδου από τον πάροχο υπηρεσιών πληρωμών/πάροχοι υπηρεσιών, ο οποίος επιλύεται μόνο μέσω αξιόπιστου συστήματος DNS.
3. Διαχείριση WAF/bot/DDoS στην ακμή, κανόνες L7 για REST/JSON και τηλεφορτώσεις.
4. mTLS μεταξύ υπηρεσιών, έγκριση ταυτότητας (Spiffe/SA).
5. Οριακές τιμές/ποσοστώσεις στην ακμή και στην εφαρμογή, ιδιαιτερότητες-κλειδιά για τις πληρωμές.
6. Πολιτικές DNS: απαγόρευση DoH/DoT, διαχωρισμός-ορίζοντας, υλοτομία.
7. Αρχεία καταγραφής και SIEM: η κεντρική συλλογή επιτρέπει/αρνείται/WAF/DNS, προειδοποιήσεις για ανωμαλίες.
8. Διεργασίες IaC: κωδικός κανόνα, ανασκόπηση δημοσίων σχέσεων, ρολά καναριού, σημειώσεις.
9. Δοκιμές/χάος: αστοχίες RTT/απώλειας/DNS, έλεγχος διαδρομών και αυτόματων σεναρίων.
10. Τακτικοί έλεγχοι: έλεγχος των μη χρησιμοποιηθέντων κανόνων, εναλλαγή διευθύνσεων PSP/CDN.
16) Αντι-μοτίβα
«Ανοίξτε τα πάντα και ελπίστε για WAF» - η περίμετρος δεν θα σώσει την εσωτερική κυκλοφορία.
Χωρίς όργανο χειρισμού εξόδου - σήραγγα σωλήνα προς τα έξω για leaks/C2.
Enable-all NetworkPolicy in Kubernetes - η πλευρική κίνηση είναι εγγυημένη.
Φιλτράρισμα μόνο IP στον δυναμικό κόσμο CDN/PSP χωρίς έλεγχο πεδίου/DNS.
Το μόνο σημείο τερματισμού TLS χωρίς mTLS στο εσωτερικό είναι η αντικατάσταση υπηρεσίας.
Χειροκίνητες αλλαγές στις πωλήσεις χωρίς IaC/έλεγχο - μη αναπαραγωγιμότητα και χρέη.
Firewall logs «στο πουθενά» - χωρίς παρατηρησιμότητα είναι απλά ένα «μαύρο κουτί».
Αποτελέσματα
Το αποτελεσματικό φίλτρο κίνησης είναι ο αρχιτεκτονικός ιστός της πλατφόρμας: από το άκρο-WAF και το νέφος SG στο Δίκτυο Πολιτική και mTLS εντός του συμπλέγματος, με αυστηρό έλεγχο εξόδου από το PSP/παρόχους και διαχείριση μέσω IaC. Ένα τέτοιο σύστημα μειώνει τον κίνδυνο διαρροών και επιθέσεων, διατηρεί τις πληρωμές και τα παιχνίδια εντός του SLO και συμβάλλει στην ταχεία διερεύνηση συμβάντων μέσω πλήρους ελέγχου και επιτήρησης.