GH GambleHub

Criteri e ACL di Firewall

1) Obiettivi e principi

Firewall/ACL è il controllo del piano dati. Principi di base:
  • Least private: consente solo ciò di cui hai bisogno (allow, implicit deny).
  • Segmentazione - Isolamento di ambienti (prod/stage/dave), tenanti, contorni critici (PCI/KMS/DB).
  • Egress Control: il traffico in uscita è limitato agli elenchi FQDN/IP e endpoint privati.
  • Identity-aware (L7) - Le decisioni vengono prese in base all'entità autenticata (SPIFFE/OIDC) e non solo sull'IP.
  • Infrastrutture as Code: regole come codice, review/CI/CD, controllo delle modifiche.

2) Tassonomia: dove e cosa filtrare

2. 1 Livelli e stato

L3/L4 stateless: ACL classiche (CIDR, protocollo, porta).
L3/L4 stateful: security groups/NSG, monitorano le connessioni.
L7-aware: proxy/WAF/mesh RBAC (metodi, percorsi, JWT-clims, SNI).
Inline vs out-of-band - Il firewall inline installa il traffico; out-of-band - analisi/alert.

2. 2 Tracciati

Perimeter: edge/WAF/Anti-DDoS.
Core: transit hub / меж-VPC/VNet.
Workload: SG/NSG на VM/ENI/POD.
App-level: Envoy/Istio/NGINX policy, service-to-service mTLS.

3) Modelli cloud

AWS

Security Group (SG): stateful на ENI/instance/LB.
Rete ACL (NACL) - Stateless sulla subnet, ordine delle regole, record bidirezionali.
AWS Network Firewall/GWLB: L7 ispezione/IDS.
Raccomandazione: «SG - controllo principale, NACL - serratura/deny list».

Azure

NSG (stateful), ASG (gruppi di applicazioni per tag), Azure FW per L7/IDS, Private Endpoants.
Raccomandazione: NSG su sabnet + NIC, tag di servizio tramite ASG.

GCP

VPC Firewall Rule (stateful), Hierarchical FW (organizzazione/cartelle), Cloud Armor (L7), Private Service Connect.
Raccomandazione: org-level guardrails + progetto allow.

4) Design delle regole: pattern

4. 1 Set di base

Deny all egress è autorizzato da FQDN/IP a: repository batch, registri artefatti, API di terze parti (tramite uscite private/fisse).
East-West minimo: i servizi comunicano solo con le dipendenze necessarie.
Ammin accesso: tramite base/JIT con MFA, scrittura sessioni.

4. 2 Tag e gruppi

Usa labels/tags invece di IP: «eng», «service», «tier», «tenant», «pci = true».
Aggiorna i criteri quando si modifica un tag senza modificare manualmente le griglie IP.

4. 3 Ciclo di vita

Propose → Evoluate (staging) → Enforce (prod), con dry-run/loghi di impatto.
Obsolescenza: TTL/owner per ogni regola, automazione non utilizzata.

5) Kubernets e servizio-mesh

5. 1 NetworkPolicy (L3/L4)

Minimo, «vietare tutto tranne quello che serve».

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 в mesh (Istio/Envoy)

mTLS + autorizzazione per JWT/clims/scopes/paths.

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) Egress control e perimetri privati

Preferisci PrivateLink/Private Service Connect a PaaS/maiuscole/archivi.
Il resto di egress tramite NAT/proxy con allowlist FQDN e IP fissi (per allowlist di terze parti).
Bloccare l'accesso diretto a Internet/VM; eccezioni solo attraverso il gateway egress.

7) Regole DNS e SNI consapevoli

Split-horizon - Le zone interne non vengono tagliate all'esterno.
FW/Proxy con supporto FQDN/SNI per HTTPS in uscita (SNI allow).
Fissare il pinning su specifici domini fornitori; Monitora le modifiche del loro IP.

8) Logi, verifiche, osservabilità

Attivare il flow logs (VPC/VNet/NSG/NACL), inviarlo a SIEM.
Correlare con le applicazioni tramite trace _ id.
Metriche: hit/miss regole, top talkers, drop-rates, asimmetria del traffico, «fuga egress».
Report: «regole inutilizzate», «autorizzazioni più ampie».

9) Controllo come codice (IaC) e controlli

Terraform/CloudFormation + criteri modulari per modelli.
Policy as Code (OPA/Gatekeeper/Conftest) - Divieto di "0. 0. 0. 0/0 ', requisito «descrizione/owner/ttl», divieto di miscelazione prod/uv.
CI: lente, analisi, simulatori di raggiungibilità (reachability analyzer), piano di visualizzazione, peer review di mandato.

10) Test di raggiungibilità e caos

Campionamenti Synthetic provenienti da diverse subnet/AZ/regioni: TCP/443, porte di database/broker specifiche.
Deny temporale per il controllo dei percorsi DR: la disattivazione della dipendenza deve scattare retries/circuito/fallback.
MTU/MSS: assicurati che non ci sia nessuna frammentazione sui perimeters (in particolare IPsec/NAT-T).

11) Prestazioni e affidabilità

Evitare lo stretto centralizzato: ridimensionare in modo orizzontale inline-FW (GWLB/scale set).
ECMP/AS-path/BGP da distribuire tra gli hub.
I profili di ispezione TLS includono (costoso), memorizzano le impronte delle chiavi separatamente, rispettano la compilazione.

12) Esempi di configure (scorciatoie, abbreviazioni)

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: deny-by-default + allow bastion

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 GCP hierarchical firewall: 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 Envoy RBAC (L7 allow)

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 'nell'ingress/egress «temporaneo» del → rimane per sempre.
Fiocchi di neve (modifiche manuali nella console) senza codice o revisione.
Comuni SG/NSG per prod/stage/dave; una miscela di sottoteti critici e non critici.
La mancanza di egress control e endpoint'o'a'a'a'a'a'a'a'a'a'sporta di chiavi/segreti fuori.
Ignora DNS/SNI: autorizzato il provider IP. Domani è cambiato e si è aperto l'intero intervallo.
Nessun flow logs e runbook non è possibile.

14) Specificità iGaming/Finanza (PCI/Regolatore)

PCI CDE in un segmento VRF/segmento separato, niente internet; Accesso PSP/Logs tramite private connettività/proxy con mTLS e HMAC.
Data residency: PII/eventi di pagamento - all'interno del paese/regione; interregionale - solo aggregazioni/anonimi.
KMS/Vault/HSM: singole subnet/SG, solo client mTLS con certificati brevi.
Controllo WORM: fogli FW/flow in un deposito non modificabile (Object Lock), retro e minimi regolatori.
Partner (PSP/KYC): FQDN allowlist, eguress IP statico, monitoraggio SLA sui provider.

15) Assegno-foglio prod-pronto

  • Modello unico di segmentazione (hub-and-spoke, VRF), CIDR senza intersezioni.
  • Deny-by-default на egress; endpoint privati a PaaS/storage.
  • SG/NSG stateful per workload, NACL/route-filters per subnet/hub.
  • K8s: NetworkPolicy «deny-all», mesh mTLS + L7 RBAC.
  • Tag/gruppi anziché IP; owner/TTL/descrizione di ogni regola.
  • IaC + Policy-as-Code; CI con simulazione di raggiungibilità peer review obbligatorio.
  • Flow logs abilitati dashboard top-talkers, drop-rates; Gli alert per la fuga di egress.
  • Base/JIT per l'accesso admin; MFA; Registrazione delle sessioni.
  • Runbook 'e: come aggiungere/togliere una regola, come lavorare in caso di incidente; Revisioni regolari delle regole dei morti.
  • Per PCI/finanza: isolamento CDE, controllo WORM, FQDN-allow per PSP/KYC, egress IP statico.

16) TL; DR

Costruisci la protezione su livelli: SG/NSG stateful sui worcload, NACL/route-filters sui sottoassiemi, L7 RBAC su mesh/proxy, WAF/edge sul perimetro. Per impostazione predefinita, deny-by-default, egress solo attraverso punti controllati o private endpoants. Descrivere le regole come codice, verificare le regole e i simulatori di raggiungibilità e assemblare i loghi flow. Per iGaming/Finanza, aggiungere segmentazione PCI, controllo WORM e FQDN-allow rigoroso a PSP/KYC.

Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Telegram
@Gamble_GC
Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.