GH GambleHub

Cifrado en tránsito

Cifrado en tránsito

1) Definición y límites de control

El cifrado in transit es la protección de datos en toda la ruta de transmisión de la red (navegador ↔ servidor, servicio ↔ servicio, agente ↔ corredor, base ↔ aplicación, datacenter ↔ datacenter) para que la intercepción pasiva y los ataques activos al canal no revelen el contenido ni permitan su modificación sin detectarlo.

Lo que cubrimos son: APIs públicas y privadas (HTTP/HTTPS, gRPC), streaming y brokers (Kafka, NATS, RabbitMQ), WebSocket, bases y cachés a través de la red, tráfico de servicios dentro de clústeres, VPN/entre centros de datos y nubes, consultas DNS, clientes móviles/IoT.

Lo que no cubrimos completamente: ataques a puntos finales (compromiso host/navegador), vulnerabilidades de aplicaciones, filtraciones de registros/volcado. Esto lo resuelven los controles separados (A&A, minimización de derechos, encriptación de datos, lógica segura).

2) Modelo de amenazas y objetivos

Riesgos: interceptación/sustitución de tráfico (MITM), downgrade de protocolo/cifrado, certificados/CA falsos, fugas de claves, ataques a SNI/metadatos, contenido mixto, terminación de TLS incorrecta en equilibradores, conexiones interservicios inseguras.

Objetivos:

1. Privacidad + integridad con autenticación criptográfica.

2. Confrontación con el downgrade (política estricta y confección).

3. Identificación de las partes (servidor, si es necesario, mutuo).

4. Ciclo de vida administrado de certificados/claves y auditoría.

5. Perfil de rendimiento sin compromiso de seguridad.

3) Principios básicos

TLS está en todas partes por defecto. Tráfico externo e interno - cifrado.
Versiones modernas. TLS 1. 3 como estándar; TLS 1. 2 - sólo con políticas estrictas. Desactivar 1. 0/1. 1.
AEAD cifrados con PFS. AES-GCM o ChaCha20-Poly1305; PFS a través de (EC) DHE.
Curvas/kay-exchange. X25519 (preferiblemente) o secp256r1 (P-256). Llaves RSA ≥2048, mejor ECDSA (P-256).
mTLS donde hay poca confianza. Canales interservicios, API de administración, corredores, bases - a través de la autenticación mutua.
HSTS para la web. Forzar HTTPS + preload para dominios públicos.
«Cifrar y volver a cifrar» conscientemente. Terminal TLS en el perímetro + encriptación re-backend o passthrough de extremo a extremo - seleccione por modelo de amenaza.
Crypto-agility. Posibilidad de cambiar curvas/suites/versiones con tiempo de inactividad cero.

4) Pila de protocolos y scripts

4. 1 HTTP/2, HTTP/3 (QUIC), gRPC, WebSocket

ALPN: h2 para HTTP/2, h3 para HTTP/3; prohibición h2c (sin TLS).
HTTP/3/QUIC: reduce la latencia, la 0-RTT incorporada y la migración de conexiones; 0-RTT resolver selectivamente (riesgo de reproducción).
gRPC: sobre h2/h3; necesariamente TLS, opcional mTLS + autorización per-RPC.
WebSocket: sólo wss ://; en proxy/balancers - actualización correcta y pinning TLS del dominio.

4. 2 Tráfico interservicios y servicio-meshi

Modelo Sidecar (Istio/Linkerd, etc.). mTLS automático, directivas de permiso, rotación de certificados.
SPIFFE/SPIRE. Identidades descentralizadas de servicios (SPIFFE ID), certificados SVID, TTL cortos.
Los parámetros TLS se centralizan. Minimizar la variedad de confecciones en el código de servicio.

4. 3 Corredores/streaming/colas

Kafka/NATS/RabbitMQ: TLS para kliyent↔broker y broker↔broker; si es posible - mTLS.
SASL sobre TLS: si mTLS no es posible, la autenticación es por token/login, pero el canal es cifrado.
ACL y autorización de temas. Cifrado ≠ control de acceso.

4. 4 Bases de datos y cachés

PostgreSQL/MySQL/SQL Server: habilitar TLS, validación CN/SAN, pin CA/raíz.
Redis/Memcached: utilizar rábanos stunnel/TLS; prohibición del tráfico de plain en la venta.

4. 5 Red/túneles

Entre centros de datos/nubes: IPsec (IKEv2) o WireGuard (conjunto moderno de primitivas).
Acceso administrativo: SSH con CECH/cifrados modernos; prohibición de contraseñas, sólo claves/SSO.

4. 6 DNS y protocolos auxiliares

DNS over HTTPS (DoH )/DNS over TLS (DoT) para clientes y dentro del clúster donde sea posible.
Deshabilitar contenido mixto. Nada por http ://en las páginas https ://.

5) Certificados, PKI y administración de claves

Modelo PKI: para dominios externos - CA públicos; para el tráfico interno - su propia CA o SPIRE-CA.
Automatización: ACME/Cert-manager para Kubernetes, TTL corto, rotación automática.
OCSP stapling и CRL. Habilitar el stapling en los frentes; actualizar las cadenas regularmente.
Pinning - con precaución. En clientes móviles/de escritorio - pin CA/SPKI con mecanismo de laminación de emergencia.
Almacenamiento de claves: claves privadas en HSM/KMS/repositorios secretos; mínimo de exposiciones; prohibición de la lógica.

6) Configuraciones: perfiles prácticos

Perfil recomendado TLS (perímetro exterior):
  • Versiones: TLS 1. 3 (obligatorio), TLS 1. 2 (fallback).
Suites (ejemplo):
  • TLS 1. 3: `TLS_AES_128_GCM_SHA256`, `TLS_AES_256_GCM_SHA384`, `TLS_CHACHA20_POLY1305_SHA256`.
  • TLS 1. 2: 'ECDHE-ECDSA-AES128-GCM-SHA256', 'ECDHE-RSA-AES128-GCM-SHA256' (+ opciones AES256/CHACHA20 si es necesario).
  • Curvas: X25519, secp256r1.
  • Certificados: ECDSA-preferiblemente, RSA-fallback.
  • Títulos seguros: 'Strict-Transporte-Seguridad', 'X-Content-Type-Options', 'X-Frame-Options' (por caso), 'Referrer-Policy'.
  • Cookies: 'Secure', 'HttpOnly', 'SameSite' (Lax/Strict por diseño).
Perímetro interior (mTLS):
  • Certificado de cliente obligatorio.
  • Cortocircuito TTL cliente SVID (horas/días), rotación automática.
  • Políticas: quién puede conectarse a quién (intent-based/trabajo a través de la autorización mesh).

7) Rendimiento y confiabilidad

Aceleración por hardware: AES-NI/ARMv8 Crypto, preferencia por ChaCha20-Poly1305 en CPU sin AES-NI.
Session resumption: TLS 1. 3 tickets; pensar en la vida útil (equilibrio entre la perforación y la seguridad).
0-RTT: sólo para solicitudes idempotentes; proteja contra el replay (mecanismos anti-replay del servidor).
Equilibradores/proxy: seleccione claramente termination vs passthrough; con termination - volver a cifrar al backend.
Observabilidad: métricas de apretones de manos/errores/negociaciones ALPN, porcentaje TLS 1. 3, certificados de caducidad, estado OCSP.

8) Pruebas y verificación

Escaneo de perfil TLS. Revisiones regulares de versiones/suits/curvas compatibles y HSTS/OCSP.
Pruebas negativas: prohibición de downgrade, desviación de suits débiles, fallas de compuestos sin SNI/sin certificado de cadena válida.
Pentest de canal: simulaciones MITM, comprobación de pinning en clientes móviles, intentos de replay 0-RTT.
Pruebas Chaos: caducidad/revocación del certificado, inaccesibilidad de OCSP/CA.

9) Errores frecuentes y cómo evitarlos

TLS habilitado, pero sin validación de host. Siempre revisamos CN/SAN, prohibimos 'InsecureSkipVerify'.
Contenido mixto. Bloquee los recursos http en las páginas https, use CSP.
Versiones débiles/obsoletas y suites. Desactivar TLS 1. 0/1. 1, CBC/RC4/3DES.
No hay encriptación en el interior. El tráfico de Plain del balanceador a la aplicación es un riesgo.
Certificados de larga vida. Haga una actualización corta de TTL y auto.
SNI/ALPN incorrecto por proxy. Transmisión correcta de SNI/ALPN a TLS pass-tru/termination.

10) Mini recetas (fragmentos de configuración)

Nginx (frente, TLS 1. 3/1. 2, HSTS, OCSP stapling):

ssl_protocols      TLSv1. 3 TLSv1. 2;
ssl_ciphers       TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
ssl_ecdh_curve     X25519:P-256;
ssl_stapling      on;
ssl_stapling_verify   on;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Envoy (mTLS entre servicios, esquema):

transport_socket:
name: envoy. transport_sockets. tls typed_config:
"@type": type. googleapis. com/envoy. extensions. transport_sockets. tls. v3. DownstreamTlsContext common_tls_context:
tls_params:
tls_minimum_protocol_version: TLSv1_3 validation_context:
trusted_ca: { filename: /etc/tls/ca. crt }
tls_certificates:
certificate_chain: { filename: /etc/tls/tls. crt }
private_key:   { filename: /etc/tls/tls. key }
require_client_certificate: true
WireGuard (túnel entre centros de datos, esquemáticamente):

[Interface]
PrivateKey = <priv>
Address  = 10. 10. 0. 1/24
[Peer]
PublicKey = <pub>
AllowedIPs = 10. 10. 0. 0/24
Endpoint  = gw. example. com:51820
PersistentKeepalive = 25

11) Políticas y cumplimiento

Requisitos mínimos: TLS 1. 3 siempre que sea posible; TLS 1. 2 - con un conjunto limitado de suits.
Regulación: PCI DSS/finsector - prohibición de versiones débiles/suites; rotación obligatoria y auditoría.
Enfoque de confianza cero: identidades para cada carga de trabajo, verificación continua y políticas a nivel de servicio.

12) Operación y SLO

SLO: ≥99% de apretones de manos exitosos, ≥95% de tráfico en TLS 1. 3, 0% de contenido mixto.
Alertas: expiración de certificados (<14 días), aumento de fallos de apretones de manos, caída de la proporción de TLS 1. 3, errores de stapling OCSP.
Procedimientos: reemplazo de emergencia de CA/raíz, revocación de clave comprometida, desactivación de 0-RTT.

13) Hojas de cheques

Antes de poner:
  • TLS 1 está deshabilitado. 0/1. 1 y suits débiles, incluidos AEAD y PFS.
  • ALPN configurado (h2/h3); prohibición h2c.
  • HSTS está habilitado (para dominios públicos), no hay contenido mixto.
  • Los certificados se actualizan automáticamente, OCSP stapling funciona.
  • Los canales internos están protegidos por mTLS (o equivalente a WireGuard/IPsec).
  • Validación verificada de hosts/cadenas en clientes/SDK.
Operación:
  • Monitoreo de versiones TLS/ALPN/errores y expiraciones.
  • Plan crypto-agility (traducido a nuevas suitas/curvas).
  • Los pentestos periódicos del canal y el rugido de las confesiones.

14) FAQ

P: ¿El TLS solo es suficiente en el perímetro?
Oh no. El tráfico interno también debe ser encriptado (mTLS/túneles/mesh), especialmente en las nubes y cuando hay varios alquileres.

P: ¿Necesitas 0-RTT?
R: Encienda puntualmente para solicitudes idempotentes, de lo contrario, desconecte debido al riesgo de repetición.

P: ¿Qué elegir para el centro de datos? ¿IPsec o WireGuard?
R: WireGuard es más fácil y rápido, IPsec es maduro y ampliamente compatible. Ambos son válidos con la configuración correcta.

P: ¿Cómo proteger los webhooks «en camino»?
R: HTTPS con perfil moderno + verificación del certificado del remitente (si mTLS) + firma de carga útil y verificación de tiempo de ejecución (consulte "Garantías de entrega de webhooks'," Firma y verificación de solicitudes ").

Materiales relacionados:
  • «Encriptación de At Nat»
  • «Autenticación y autorización»
  • «Firma y verificación de solicitudes»
  • «Autenticación S2S»
  • «Administración de claves y rotación»
Contact

Póngase en contacto

Escríbanos ante cualquier duda o necesidad de soporte.¡Siempre estamos listos para ayudarle!

Telegram
@Gamble_GC
Iniciar integración

El Email es obligatorio. Telegram o WhatsApp — opcionales.

Su nombre opcional
Email opcional
Asunto opcional
Mensaje opcional
Telegram opcional
@
Si indica Telegram, también le responderemos allí además del Email.
WhatsApp opcional
Formato: +código de país y número (por ejemplo, +34XXXXXXXXX).

Al hacer clic en el botón, usted acepta el tratamiento de sus datos.