Capas de seguridad en la infraestructura
(Sección: Tecnologías e Infraestructura)
Resumen breve
La seguridad es un sistema de capas: cada capa disuade y detecta ataques si la anterior ha fallado. Para iGaming, esto es especialmente crítico: flujos de pago, PII, integraciones de socios y cargas máximas. A continuación se encuentra el marco defense-in-depth que conecta la red, la identidad, las aplicaciones, los datos y los procesos operativos en un solo programa administrado.
1) Modelo de amenazas y principios básicos
Threat Modeling: STRIDE/kill chain para flujos clave (inicio de sesión, depósito, tasa, retiro, backofis).
Confianza cero: «no confiar por defecto», derechos mínimos, verificación en cada hop.
Least Privilege & Segregation of Duties: los roles son atómicos, las operaciones sensibles están separadas.
Secure by Default: puertos cerrados, políticas de deny-all, impagos seguros.
Auditabilidad: todos los accesos/cambios - en auditoría centralizada.
2) Red y perímetro
Objetivo: evitar el desplazamiento lateral y gestionar aisladamente el riesgo.
Segmentación/Zonas: Edge (CDN/WAF) → API → Servicios → Datos (DB/KMS) → Administración/Bacofis.
VPC/VNet aislamiento + subredes para servicios públicos/privados; NAT/egress-control (incluyendo egress-allowlist a PSP/proveedores de juegos).
mTLS en todas partes (mesh/Ingress), TLS 1. 2 +/HSTS/cifrado claro.
WAF/bot management/DDoS en el perímetro; anti-puntuación para credential stuffing.
Seguridad DNS: split-horizon, DNSSEC, tolerancia a fallas, pinning en caché para dominios críticos.
yaml apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: { name: api-deny-all, namespace: prod }
spec:
podSelector: { matchLabels: { app: api } }
policyTypes: [Ingress, Egress]
ingress: [] # deny-all egress:
- to:
- namespaceSelector: { matchLabels: { name: prod } }
podSelector: { matchLabels: { app: payments } }
ports: [{ protocol: TCP, port: 8080 }]
3) Identidad y acceso (IAM/PAM)
Objetivo: cada acceso está justificado, restringido y es auditado de manera transparente.
SSO + MFA para personas y máquinas; claves de hardware para cuentas privilegiadas.
RBAC/ABAC para la nube/K8s/Bacofis; SCIM - Encendido/apagado automático.
Acceso JIT (temporal), break-glass con auditoría mejorada.
Cuentas de servicio con tokens de vida corta (OIDC/JWT), auditoría de secretos del cliente.
Bastión/duplicación de comandos: acceso a prod-DB/nodos - sólo a través de bastión y sesiones de grabación.
4) Secretos y llaves
Objetivo: eliminar fugas y proporcionar un ciclo de vida de claves controlado.
KMS/HSM (clave de asistente), rotación regular; dividir las claves por zonas/objetivos.
Almacén de secretos (Vault/Cloud KMS Secrets) con creds dinámicos y lease.
- At nat (DB/baquetas/snapshots) con envelope encryption.
- In transit (TLS/mTLS).
- Tokenization para los datos de pago; flujos PAN-safe y 3-domain security (PCI DSS).
hcl path "kv/prod/payments/" {
capabilities = ["read","list"]
}
path "database/creds/readonly" {
capabilities = ["read"]
}
5) Seguridad de contenedores y Kubernetes
Objetivo: minimizar la superficie de ataque a nivel de rantime.
Imágenes: mínimo básico, sin compiladores/sedas; firmas (cosign) y SBOM.
Control de admisiones (OPA/Gatekeeper/Kyverno): prohibición ': latest', 'privileged', 'hostPath', 'root'.
Runtime-политики: Seccomp/AppArmor, `readOnlyRootFilesystem`, `drop ALL` capabilities + allow-list.
Secrets como volumen/env del gestor de secretos; sin bake-in en la imagen.
PodSecurity (или Pod Security Admission): enforce restricted.
Registros: privados, con comprobación de vulnerabilidades (SAST/DAST/CSA).
yaml apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sAllowedRepos metadata: { name: only-internal-registry }
spec:
repos: ["registry.internal.local/"]
6) Supply-chain и CI/CD
Objetivo: confiar en los artefactos desde el commit hasta la producción.
Branch-policies: rugido de código, ramas protegidas, verificaciones obligatorias.
Firma de artefactos y proveniencia (SLSA/COSIGN), etiquetas inmutables (imágenes inmutables).
SBOM (CycloneDX/SPDX), Dependabot/Renovate y Pinning dependencias.
Aislamiento CI: ranners efímeros, secretos sólo en jobs protegidos, no-plaintext.
CD-Gates: quality/SAST/licencias/políticas de venta; promoción sólo a través de GitOps.
7) Seguridad de aplicaciones (API/web/mobile)
Objetivo: prevenir ataques lógicos y técnicos.
AuthN/AuthZ: OAuth2/OIDC/JWT; TTL corto, rotación de claves, audience/issuer validación.
Seguridad de entrada: validación/normalización, protección inyectable, plantillas con parámetros.
CSP/HSTS/XFO/XSS-Protection, CORS estricto, limitación de las dimensiones/MIME descargables.
Rate limit/quotas, idempotency-keys para pagos/pagos.
Fichflags: rápido kill-switch para funciones peligrosas.
nginx add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;
add_header Content-Security-Policy "default-src 'self'; img-src 'self' data: https:;" always;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
8) Datos, PII y cumplimiento (incluyendo PCI)
Objetivo: recaudación mínima, acceso mínimo, máxima transparencia.
Data-zones/классы: `public/internal/confidential/pii/pci`. Etiquetas en almacenes y logs.
Minimizar PII: alias 'player _ id', tokenización de datos de pago.
Políticas de retención: caliente/frío, WORM para auditoría; eliminación automática por TTL.
Acceso: sólo a través de roles y atributos consistentes (región/objetivo).
Segmentación PCI: segmento aislado, registros de acceso, análisis regulares/ASV.
9) Edge-capa: CDN/WAF/DDoS/bot-protección
Objetivo: eliminar la «basura» al núcleo de la plataforma.
CDN: geo-blocks, estrategias de caché, protección layer-7.
WAF: firmas básicas + reglas personalizadas bajo API (circuitos JSON, prohibición de métodos no estándar).
Bots: análisis de comportamiento, device fingerprint, rate-limit/capchi en anomalías.
TLS/ALPN: desactive los cifrados antiguos, active OCSP stapling.
10) Monitoreo, telemetría y SecOps
Objetivo: ver los ataques y reaccionar antes del incidente.
Observabilidad: métricas/logs/tracks con 'trace _ id' y campos audit.
SIEM/SOAR: correlación de eventos (autenticación, cambios IAM, activación WAF, acceso a secretos).
Reglas de detección: ráfagas 401/403, role-escalation, pagos masivos, anomalías geo.
Exploración: SAST/DAST/IAST, CSPM/KSPM, pruebas regulares de pene y bug bounty.
Anti-frod: puntuación de transacciones/comportamiento, filtros velocity, listas de sanciones.
11) Fiabilidad, reserva y continuidad del negocio
Objetivo: sobrevivir a un fallo sin pérdida de datos y SLA.
Replicación y PITR para BD, snapshots frecuentes con recuperación de pruebas.
Plan DR: RTO/RPO, scripts de fallas regionales, pruebas de conmutación.
Secretos en DR: claves/réplica independientes de KMS, proceso de rotación de emergencia.
Gaidas formales: hojas de cheques de restauración y enseñanzas de game-day.
12) Procesos operativos y cultura
Objetivo: que la seguridad sea «predeterminada».
Seguridad por PR: revisión de seguridad obligatoria para cambios sensibles.
Directivas de lanzamiento: las ventanas nocturnas/de pico están cerradas; listas de cheques pre-flight.
Runbooks seguros: instrucciones con parámetros seguros, auditoría de acciones.
Entrenamiento: simulaciones de phishing, entrenamiento de incidentes, sesiones de tabletop «en vivo».
13) Listas de verificación (breve)
Red y perímetro
- Todo el ingreso detrás de WAF/CDN; DDoS habilitado
- mTLS entre servicios; directivas de red deny-all
- Egress-allowlist a proveedores externos
Identidad
- SSO+MFA; JIT y break-glass con audio
- RBAC/ABAC, desactivación de despidos SCIM
- Cuentas de servicio con tokens cortos
K8s/contenedores
- Firmas de imagen + SBOM; prohibición ': latest'
- Seccomp/AppArmor, read-only FS, drop caps
- Gatekeeper/Kyverno políticas y listas de deny
Secretos/claves
- Vault/KMS, rotación, división de claves
- Encriptación en tránsito/en tránsito
- Tokenization para pagos
CI/CD и supply-chain
- Earners efímeros; secretos sólo en jobs protegidos
- SAST/DAST/licencias; firmas de artefactos
- GitOps-promoción, gates de calidad
Datos/PII/PCI
- Clasificación de datos y etiquetas en repositorios
- Políticas de Retention/WORM; acceso por roles
- Aislamiento del segmento PCI, escáneres ASV
SecOps
- Reglas SIEM/SOAR, alertas de escalamiento
- Filtros antifraude y velocity
- Plan de DR, pruebas de RTO/RPO
14) Ejemplos de políticas «duras»
Kyverno: prohibición de contenedores privilegiados
yaml apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: { name: disallow-privileged }
spec:
rules:
- name: no-priv match: { resources: { kinds: ["Pod"] } }
validate:
message: "Privileged containers are not allowed"
pattern:
spec:
containers:
- securityContext:
privileged: "false"
OPA (Rego): prohibición de 'hostNetwork'
rego package kubernetes.admission
violation[msg] {
input.request.kind.kind == "Pod"
input.request.object.spec.hostNetwork == true msg:= "hostNetwork is not allowed"
}
15) Anti-patrones
«Protegemos el perímetro» sin mTLS/segmentation interno → movimiento lateral.
Secretos en las variables env CI, descarga en los registros.
Imágenes ': latest', ausencia de firmas y SBOM.
Política allow-all en el clúster; No es nada común para todo.
Cifrado «en papel» sin rotación real de claves y pruebas de recuperación.
Confiar en WAF en lugar de corregir la lógica y validar los datos.
No hay ejercicios de DR/scripts de tabla - el plan está «en polvo».
16) Cómo comenzar (plan de 90 días)
1. Semana 1-2: inventario de assets/datos, clasificación, mapa de flujos.
2. Semana 3-4: activar las políticas de red mTLS/deny-all, filtros WAF/DDoS/bot.
3. Semana 5-6: Vault/KMS, rotación de claves, tokenización de pagos.
4. Semana 7-8: Gatekeeper/Kyverno, Seccomp/AppArmor, prohibiciones 'privileged '/' hostPath'.
5. Semana 9-10: firmas de imágenes, SBOM, getas CI/CD, promoción GitOps.
6. Semana 11-12: Reglas SIEM/SOAR, alertas de escalamiento, anti-frod.
7. Semana 13: Ejercicios de RD, Actualización de Runabooks y Estado de Cumplimiento (PII/PCI).
Resultados
Las capas de seguridad son una arquitectura de soluciones, no un conjunto de «marcadores». Conecte la segmentación de la red y el fideicomiso cero, el IAM estricto, los contenedores seguros/K8s, los secretos gestionados y el cripto, las pipelines protegidas, la defensa edge y la vigilancia SecOps. Luego, incluso con ataques y fallas, la plataforma mantendrá la integridad de los datos, la privacidad de PII/PCI y la disponibilidad de los flujos clave - depósitos, apuestas y retiros - en cualquier hora pico.