Skip to content

Reglas de Firewall — Detalle Completo

Última revisión: 2026-03-13
Plataforma activa: DigitalOcean
Total de firewalls en producción: 8

Detalle exhaustivo de todas las reglas de firewall activas en producción,
cubriendo los requisitos PCI DSS 1.2, 1.3 y 1.4.


1. Resumen de Capas de Firewall

CapaTecnologíaCantidadAlcance
1DO Cloud Firewalls4DMZ, CDE, App, Mgmt
2DO Database Firewall1Managed PostgreSQL
3K8s NetworkPolicies12 políticasNamespaces cde, app, monitoring, kafka
4DOKS Node Pool Isolation3 poolssystem, CDE, app
5Compliance VM Firewalls3Collector, VAPT, CDD

2. Cloud Firewalls — Zona DMZ

Nombre: fintrix-production-dmz-fw
Archivo Terraform: digitalocean/modules/networking/main.tf

Ingress

ProtocoloPuertoOrigenDescripción
TCP4430.0.0.0/0, ::/0HTTPS desde internet
TCP800.0.0.0/0, ::/0Health checks (Load Balancer)

Egress

ProtocoloPuertoDestinoDescripción
TCP1–65535cde_cidr, app_cidrSolo a zonas internas
UDP530.0.0.0/0DNS

Principio

Solo HTTPS/HTTP desde internet. El egress solo permite tráfico hacia las zonas CDE y App internas.


3. Cloud Firewalls — Zona CDE

Nombre: fintrix-production-cde-fw
Tags: fintrix-cde
Archivo Terraform: digitalocean/modules/networking/main.tf

Ingress

ProtocoloPuertoOrigenDescripción
TCP44310.100.1.0/24 (DMZ)HTTPS desde DMZ
TCP800010.100.1.0/24 (DMZ)Kong proxy desde DMZ
TCP3700App + CDE CIDRsauth-service
TCP3600App + CDE CIDRstokenization-service
TCP351010.100.10.0/24 SOLOcard-vault-service (solo CDE)
TCP10250–1025510.100.0.0/16 (VPC)K8s internal
TCP/UDPALLtag: compliance-scannerEscáner de cumplimiento
ICMPtag: compliance-scannerPing desde escáner

Egress

ProtocoloPuertoDestinoDescripción
TCP543210.100.10.0/24 (CDE)PostgreSQL
TCP909210.100.20.0/24 (App)Kafka
UDP530.0.0.0/0DNS
TCP4430.0.0.0/0HTTPS (webhooks, APIs externas)

Punto crítico

El servicio card-vault-service (puerto 3510) SOLO es accesible desde el CIDR CDE. Ni la zona DMZ ni la zona App pueden alcanzarlo.


4. Cloud Firewalls — Zona App

Nombre: fintrix-production-app-fw
Tags: fintrix-app
Archivo Terraform: digitalocean/modules/networking/main.tf

Ingress

ProtocoloPuertoOrigenDescripción
TCP3000–4200CDE + DMZ + App CIDRsPuertos de aplicación
TCP9092CDE + App CIDRsKafka
TCP218110.100.20.0/24 (App)Zookeeper
TCP543210.100.20.0/24 (App)PostgreSQL no-PCI
TCP10250–1025510.100.0.0/16 (VPC)K8s internal
TCP/UDPALLtag: compliance-scannerEscáner de cumplimiento
ICMPtag: compliance-scannerPing desde escáner

Egress

ProtocoloPuertoDestinoDescripción
TCP3600–370010.100.10.0/24 (CDE)Servicios CDE
TCP5432App + CDE CIDRsPostgreSQL
TCP909210.100.20.0/24 (App)Kafka
TCP4430.0.0.0/0HTTPS externo
UDP530.0.0.0/0DNS

5. Cloud Firewalls — Zona Mgmt

Nombre: fintrix-production-mgmt-fw
Tags: fintrix-mgmt
Archivo Terraform: digitalocean/modules/networking/main.tf

Ingress

ProtocoloPuertoOrigenDescripción
TCP22allowed_admin_cidrsSSH (IPs autorizadas)
UDP51820allowed_admin_cidrsWireGuard VPN
TCP909010.100.0.0/16 (VPC)Prometheus
TCP300010.100.30.0/24 (Mgmt)Grafana
TCP909310.100.30.0/24 (Mgmt)Alertmanager
TCP10250–1025510.100.0.0/16 (VPC)K8s internal

Egress

ProtocoloPuertoDestinoDescripción
TCP1–6553510.100.0.0/16 (VPC)Monitoreo interno completo
TCP4430.0.0.0/0HTTPS externo
UDP530.0.0.0/0DNS

Acceso administrativo

allowed_admin_cidrs está vacío por defecto ([]). Se configura explícitamente en producción con las IPs del equipo autorizado. Sin esta configuración, SSH y VPN no son accesibles desde ninguna IP.


6. Database Firewall — Managed PostgreSQL

Archivo Terraform: digitalocean/modules/managed_postgres/main.tf

Tipo de reglaValorDescripción
k8sID del clúster DOKSPermite acceso desde Kubernetes
ip_addr10.100.10.0/24Permite acceso desde CDE CIDR

Restricción estricta

La base de datos SOLO acepta conexiones desde el clúster K8s (verificado por ID) y la subred CDE. Ningún otro origen — ni App, ni DMZ, ni internet — puede conectarse.

Configuración del cluster:

  • Bases de datos: auth_db, vault_db, fintrix_payments
  • Usuarios: fintrix_app (RW), fintrix_readonly (RO)
  • HA: 2 nodos (primario + standby)
  • Connection pooling: modo transacción
  • Red: VPC privada (private_network_uuid)

7. Kubernetes NetworkPolicies

Archivo: backend/infra/kubernetes/network-policies.yaml (326 líneas)
Plataforma: DOKS (DigitalOcean Kubernetes Service)

7.1 Namespace cde (pci-scope: true)

PolíticaTipoRegla
default-deny-allIngress + EgressDeniega todo por defecto
allow-from-kongIngressSolo desde namespace kong o ingress-nginx
allow-cde-internalIngress + EgressComunicación entre pods CDE
allow-egress-pci-dbEgressSolo a 10.100.10.0/24, puertos 25060/25061
allow-egress-kafkaEgressSolo pods con label kafka-client: "true", puertos 9092/9093
allow-dnsEgressSolo a kube-dns, puerto 53

Puertos DigitalOcean

Los puertos 25060/25061 son los puertos nativos de DO Managed PostgreSQL (no el 5432 estándar). Esto confirma que las policies están adaptadas a la plataforma actual.

7.2 Namespace app (pci-scope: false)

PolíticaTipoRegla
default-deny-allIngress + EgressDeniega todo por defecto
allow-from-kongIngressSolo desde namespace kong
allow-egress-cdeEgressSolo a namespace CDE, puertos 3700 (auth), 3600 (tokenization)
allow-app-internal-kafkaIngress + EgressComunicación interna App + egress a kafka puerto 9092
allow-dnsEgressSolo a kube-dns, puerto 53

7.3 Namespace monitoring

PolíticaTipoRegla
allow-prometheus-scrapeEgressPods app: prometheus pueden scrape en puertos 9100, 9090, 3000, 4000

8. Node Pool Isolation (DOKS)

Archivo Terraform: digitalocean/modules/doks/main.tf

PoolTamañoNodosTaintPropósito
systems-2vcpu-4gb2dedicated=system:NoScheduleIngress, monitoreo, sistema
cdes-4vcpu-8gb2pci-scope=true:NoScheduleSolo cargas PCI
apps-4vcpu-8gb3 (2–6)ningunoAplicaciones no-PCI

Total: 7 nodos (escalable hasta 10)

Controles del clúster:

  • HA control plane en producción
  • auto_upgrade = true — parches de seguridad automáticos
  • surge_upgrade = true — actualizaciones sin downtime
  • Mantenimiento: domingos 4:00 AM

9. Compliance VM Firewalls

Archivo Terraform: digitalocean/modules/compliance/main.tf

9.1 Collector (fintrix-production-collector-fw)

DirecciónProtocoloPuertoOrigen/DestinoDescripción
IngressTCP220.0.0.0/0SSH admin
IngressTCP514, 1514, 5514–5516VPCSyslog TCP
IngressUDP514, 1514, 5514–5516VPCSyslog UDP
IngressTCP5508, 6608, 8037, 2024, 2028, 2030VPCAgentes
EgressTCP4430.0.0.0/0HTTPS (ControlCase/Rapid7)
EgressTCP1–65535VPCAcceso interno
EgressUDP530.0.0.0/0DNS

9.2 VAPT (fintrix-production-vapt-fw)

DirecciónProtocoloPuertoOrigen/DestinoDescripción
IngressTCP220.0.0.0/0SSH admin
EgressTCP1–65535VPCEscaneo TCP
EgressUDP1–65535VPCEscaneo UDP
EgressICMPVPCPing
EgressTCP4430.0.0.0/0HTTPS
EgressUDP530.0.0.0/0DNS

9.3 CDD (fintrix-production-cdd-fw)

DirecciónProtocoloPuertoOrigen/DestinoDescripción
IngressTCP220.0.0.0/0SSH
IngressTCP33890.0.0.0/0RDP (futuro Windows)
EgressTCP1–65535VPCDescubrimiento
EgressTCP4430.0.0.0/0HTTPS (ControlCase)
EgressUDP530.0.0.0/0DNS

Tag compliance-scanner

Las 3 VMs tienen el tag compliance-scanner, que les otorga acceso completo a los firewalls CDE y App para ejecutar escaneos autorizados de cumplimiento.


10. Cumplimiento PCI DSS

RequisitoDescripciónEvidencia
1.1Proceso de aprobación de cambios de FWTerraform IaC + Git + plan/apply
1.2.1Restricción ingress/egress al mínimo4 Cloud FW + DB FW + NetworkPolicies
1.3.1DMZ limita tráfico entranteDMZ FW: solo 443/80
1.3.2Ingress limitado a DMZCDE FW: ingress solo desde 10.100.1.0/24
1.3.4Sin tráfico directo CDE→internetDB FW: solo K8s + CDE CIDR
1.3.5Solo tráfico establishedCloud FW stateful + NP default-deny
1.3.6CHD en zona internaCDE namespace + node pool PCI
1.3.7IPs privadas ocultasBD y DOKS en VPC privada
2.2.2Solo servicios necesariosPuertos específicos por FW
3.4Cifrado datos almacenadosManaged PG cifrado nativo
4.1Cifrado en tránsitoTLS 1.3 + PostgreSQL SSL
10.1–3Logs centralizadosVM Collector (syslog)
11.2Escaneo de vulnerabilidadesVM VAPT + VM CDD

11. Historial de Revisiones

FechaRevisorCambios
2026-03-13Equipo de InfraestructuraDocumento inicial — detalle completo de reglas activas

Documentación Confidencial — Solo para uso interno y auditoría PCI DSS