GH GambleHub

Politici firewall și ACL-uri

1) Obiective și principii

Firewall/ACL este controlul planului de date: cine, unde, când și pe ce protocol merge. Principii de bază:
  • Cel mai puțin privilegiu: permiteți doar necesar (permiteți explicit, negați implicit).
  • Segmentare: izolarea mediilor (prod/stage/dev), chiriași, contururi critice (PCI/KMS/DB).
  • Controlul ieșirii: traficul de ieșire este limitat la listele FQDN/IP și la punctele finale private.
  • Identitate (L7): Deciziile sunt luate de entitate autentificată (SPIFFE/OIDC), nu doar IP.
  • Infrastructura ca cod: reguli ca cod, revizuire/CI/CD, modificări de audit.

2) Taxonomie: unde și ce filtrăm

2. 1 Straturi şi stare

L3/L4 apatrizi: ACL clasice (CIDR, protocol, port).
L3/L4 statful: grupuri de securitate/NSG, conexiuni monitor.
L7-aware: proxy/WAF/mesh RBAC (metode, căi, JWT-revendicări, SNI).
Inline vs out-of-band: Inline firewall rutele de trafic; out-of-band - analiză/alertă.

2. 2 Contururi

Perimetru: edge/WAF/Anti-DDoS.
Nucleu: nod de tranzit/ меж -VPC/VNet.
Volumul de lucru: SG/NSG на VM/ENI/POD.
Nivelul aplicației: Politica Envoy/Istio/NGINX, service-to-service mTLS.

3) Modele Cloud

AWS

Security Group (SG): statful на ENI/instance/LB.
Rețeaua ACL (NACL): apatrizi pe subrețele, ordinea regulilor, intrări bidirecționale.
AWS Network Firewall/GWLB: Inspecție L7/IDS.
Recomandare: „SG - control de bază, NACL - garduri grosiere/deny-list”.

Azure

NSG (statful), ASG (grupuri de aplicații după tag), Azure FW pentru L7/IDS, Private Endpoints.
Recomandare: NSG pe sabnet + NIC, etichete de serviciu prin ASG.

GCP

Reguli VPC Firewall (statutar), FW ierarhic (organizațional/folder), Cloud Armor (L7), Private Service Connect.
Recomandare: org-level guardrails + project allow.

4) Regula de proiectare: Modele

4. 1 Seturi de bază

Refuzați toate → de ieșire permise prin FQDN/IP către: depozite de loturi, registre de artefacte, API-uri terțe (prin ieșiri private/fixe).
Minim est-vest: serviciile comunică numai cu dependențele necesare.
Acces admin: prin bastion/JIT cu MFA, sesiuni de înregistrare.

4. 2 Etichete și grupuri

Utilizați etichete/etichete în loc de IP: 'env', 'service', 'tier', 'chiriaș', 'pci = true'.
Politica de actualizare atunci când tag-ul este schimbat - nici o editare manuală a grilelor IP.

4. 3 Ciclul de viață

Propune → Evalua (stadializare) → Enforce (prod), cu dry-run/hit busteni.
Îmbătrânire: TTL/proprietar pentru fiecare regulă, auto-verificare neutilizate.

5) Kubernete și plasă de serviciu

5. 1 Politica de rețea (L3/L4)

Minimul este „interzice totul, cu excepția a ceea ce este necesar”.

yaml apiVersion: networking. k8s. io/v1 kind: NetworkPolicy metadata: { name: deny-all, namespace: core }
spec:
podSelector: {}
policyTypes: ["Ingress","Egress"]
kind: NetworkPolicy metadata: { name: api-egress }
spec:
podSelector: { matchLabels: { app: api } }
egress:
- to:
- namespaceSelector: { matchLabels: { ns: db } }
ports: [{ protocol: TCP, port: 5432 }]
- to:
- ipBlock: { cidr: 10. 100. 0. 0/16 } # Private endpoints ports: [{ protocol: TCP, port: 443 }]

5. 2 L7 RBAC plasă de в (Istio/Trimisul)

mTLS + autorizație JWT/revendicări/scopuri/căi.

yaml apiVersion: security. istio. io/v1 kind: AuthorizationPolicy metadata: { name: api-rbac }
spec:
selector: { matchLabels: { app: api } }
rules:
- from:
- source:
principals: ["spiffe://svc. payments"]
to:
- operation: { methods: ["POST"], paths: ["/v1/payouts"] }
when:
- key: request. headers[x-tenant]
values: ["eu-1","eu-2"]

6) Control de ieșire și perimetre private

Preferați PrivateLink/Private Service Connect peste PaaS/registre/depozite.
Restul ieșirii prin NAT/proxy cu allowlist FQDN și IP fix (pentru lista de permise terță parte).
Blocarea accesului direct al păstăilor/VM la Internet; excepții numai prin poarta de ieșire.

7) Reguli DNS și SNI-conștient

Split-orizont: Zonele interioare nu se rezolvă din exterior.
FW/Proxy cu suport FQDN/SNI pentru HTTPS de ieșire (SNI permite).
Fixați fixarea anumitor domenii de furnizor; monitorizează modificările IP.

8) Jurnale, audit, observabilitate

Activați jurnalele de flux (VPC/VNet/NSG/NACL), trimiteți la SIEM.
Corelați cu aplicațiile prin intermediul 'trace _ id' în jurnalele.
Valori: reguli hit/miss, top-talkers, drop-rate, asimetrie de trafic, scurgeri de ieșire.
Rapoarte: „reguli neutilizate”, „permisiuni mai largi”.

9) Gestionarea ca cod (IaC) și verificări

Terraform/CloudFormation + politici modulare prin șabloane.
Politica ca cod (OPA/Gatekeeper/Conftest): no '0. 0. 0. 0/0 ', cerința "descriere/proprietar/ttl', interzicerea amestecării prod/dev.
CI: scame, analiză statică, analizor de accesibilitate, vizualizare plan, revizuire inter pares obligatorie.

10) Testarea accesibilității și haosul

Mostre sintetice din diferite subrețele/AZ/regiuni: TCP/443, porturi specifice de baze de date/brokeri.
Negați temporar pentru a verifica căile DR: dezactivarea dependenței de → ar trebui să declanșeze reîncărcări/circuit/rezervă.
MTU/MSS: Asigurați-vă că nu există fragmentare pe perimetre (în special IPsec/NAT-T).

11) Performanță și fiabilitate

Evitați un blocaj centralizat: Scala inline-FW (GWLB/seturi de scară).
ECMP/AS-path/BGP pentru distribuția între hub-uri.
Profile de inspecție TLS: includ punct (scump), stoca printuri cheie separat, să respecte conformitatea.

12) Exemple de configurații (referințe, scurtate)

12. 1 AWS SG: API → Postgres + S3 PrivateLink

hcl resource "aws_security_group" "api" {
name    = "sg-api"
description = "Ingress from ALB, egress to DB and PrivateLink"
vpc_id   = var. vpc_id

ingress { from_port=8080 to_port=8080 protocol="tcp" security_groups=[aws_security_group. alb. id] }
egress { from_port=5432 to_port=5432 protocol="tcp" security_groups=[aws_security_group. db. id] }
egress { from_port=443 to_port=443 protocol="tcp" prefix_list_ids=[aws_vpc_endpoint. s3. prefix_list_id] }
tags = { owner="team-api", env=var. env, ttl="2026-01-01" }
}

12. 2 Azure NSG: negare în mod implicit + permite bastionul

bash az network nsg rule create -g rg -n allow-bastion --nsg-name nsg-app \
--priority 100 --direction Inbound --access Allow --protocol Tcp \
--source-address-prefixes 10. 0. 0. 10 --source-port-ranges "" \
--destination-port-ranges 22 --destination-address-prefixes 10. 1. 0. 0/16

12. 3 firewall ierarhic GCP: org-guardrail

yaml direction: INGRESS priority: 1000 action: deny enableLogging: true match:
layer4Configs: [{ ipProtocol: "all" }]
srcIpRanges: ["0. 0. 0. 0/0"]
targetResources: ["organizations/123456"]

12. 4 Trimisul RBAC (L7 permite)

yaml
- name: envoy. filters. http. rbac typed_config:
rules:
action: ALLOW policies:
payments-post:
permissions: [{ url_path: { path: "/v1/payouts", ignore_case: true } }]
principals: [{ authenticated: { principal_name: { exact: "spiffe://svc. payments" } } }]

13) Antipattern

`0. 0. 0. 0/0 'la intrare/ieșire „temporar” → rămâne pentru totdeauna.
„Fulgi de zăpadă” (editări manuale în consolă) fără cod și revizuire.
SG/NSG comun pentru prod/stage/dev; amestecarea subrețelelor critice și non-critice.
Lipsa controlului ieșirii și a punctelor finale private → scurgerea cheilor/secretelor.
Ignorarea DNS/SNI: a permis IP-ul furnizorului - mâine sa schimbat și întreaga gamă sa deschis.
Nu există jurnale de flux și runbooks → fazarea este imposibilă.

14) Specificul iGaming/Finanțe (PCI/Reglementare)

PCI CDE într-un VRF separat/segment, fără internet; acces la PSP/jurnale - prin conectivitate privată/proxy cu mTLS și HMAC.
Rezidenta date: PII/evenimente de plata - in interiorul tarii/regiunii; interregional - numai agregate/anonime.
KMS/Vault/HSM: subrețele individuale/SG, numai clienții mTLS cu certificate scurte.
Audit WORM: jurnale FW/flux în stocare neschimbată (Object Lock), retenție ≥ minim de reglementare.
Parteneri (PSP/KYC): lista de permise FQDN, IP static de ieșire, monitorizarea SLA de către furnizor.

15) Lista de verificare Prod Readiness

  • Model de segmentare unificat (hub-and-speaked, VRF), CIDR fără intersecții.
  • Negarea implicită a ieșirii на; puncte finale private pentru PaaS/stocare.
  • SG/NSG statement pentru volumul de lucru, NACL/traseu-filtre - pe subrețele/hub-uri.
  • K8s: NetworkPolicy „neagă-toate”, mesh mTLS + L7 RBAC.
  • Etichete/grupuri în loc de IP; proprietar/TTL/descriere pentru fiecare regulă.
  • IaC + Policy-as-Code; CI cu simulare de accesibilitate; evaluarea inter pares obligatorie.
  • Flow busteni activat; tablouri de bord top-talkers, drop-rate; alerte la „scurgeri de ieşire”.
  • Bastion/JIT pentru acces admin; MAE; sesiuni de logare.
  • Runbook 'și: cum să adăugați/eliminați o regulă, cum să lucrați într-un incident; revizuiri regulate ale regulilor „moarte”.
  • Pentru PCI/Finanțe: izolarea CDE, auditul WORM, FQDN-permite PSP/KYC, IP static de ieșire.

16) TL; DR

Construiți protecție prin straturi: SG/NSG statement pe sarcini de lucru, NACL/traseu-filtre pe subrețele, L7 RBAC în mesh/proxy, WAF/margine pe perimetru. În mod implicit - negare în mod implicit, ieșire numai prin puncte controlate sau puncte finale private. Descrieți regulile ca cod, verificați-le cu politici și simulatoare de accesibilitate, colectați jurnalele de flux. Pentru iGaming/Finance, adăugați segmentare PCI, audit WORM și strict FQDN-permite PSP/KYC.

Contact

Contactați-ne

Scrieți-ne pentru orice întrebare sau solicitare de suport.Suntem mereu gata să ajutăm!

Telegram
@Gamble_GC
Pornește integrarea

Email-ul este obligatoriu. Telegram sau WhatsApp sunt opționale.

Numele dumneavoastră opțional
Email opțional
Subiect opțional
Mesaj opțional
Telegram opțional
@
Dacă indicați Telegram — vă vom răspunde și acolo, pe lângă Email.
WhatsApp opțional
Format: cod de țară și număr (de exemplu, +40XXXXXXXXX).

Apăsând butonul, sunteți de acord cu prelucrarea datelor dumneavoastră.