Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.mka1.com/llms.txt

Use this file to discover all available pages before exploring further.

MKA1 tiene controles de cifrado activos en el entorno de producción desplegado. Verificamos el cifrado en reposo para los secretos de Kubernetes y los volúmenes respaldados por EBS, y el cifrado en tránsito para el edge público y el clúster de producción CNPG/PostgreSQL.

Qué está activo

Cifrado en reposo

Los siguientes controles fueron verificados en el entorno de producción en vivo:
  • El cifrado envelope de secretos EKS está activo en mk1-eks-production.
  • El clúster EKS en vivo reporta encryptionConfig para el tipo de recurso secrets.
  • El clúster en vivo reporta una clave de proveedor KMS ARN: arn:aws:kms:us-west-2:REDACTED:key/5d84bfa7-REDACTED.
  • La clase de almacenamiento de producción ebs-sc utiliza el provisionador ebs.csi.aws.com con encrypted: "true" y type: gp3.
La infraestructura desplegada también declara almacenamiento respaldado por EBS cifrado:
  • infra-resources/mk1/resources/storage/ebs-storage-class.yaml establece encrypted: "true" en ebs-sc.
  • infra-resources/helm/cnpg/kube/cluster-production.yaml usa storageClass: ebs-sc para el clúster de PostgreSQL de producción.

Cifrado en tránsito

Los siguientes controles fueron verificados en el entorno de producción en vivo:
  • apigw.mka1.com:443 negoció TLSv1.3 con el conjunto de cifrado TLS_AES_128_GCM_SHA256.
  • livekit.mka1.com:443 negoció TLSv1.3 con el conjunto de cifrado TLS_AES_128_GCM_SHA256.
  • Ambas comprobaciones públicas de TLS se completaron con la verificación de certificado OK.
  • El ingreso público de Kong está configurado con alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06.
  • El clúster CNPG/PostgreSQL en vivo reporta ssl_min_protocol_version: TLSv1.3 y ssl_max_protocol_version: TLSv1.3.
  • El clúster CNPG/PostgreSQL en vivo reporta material de certificado activo en clientCASecret, serverCASecret, serverTLSSecret y replicationTLSSecret.
La infraestructura desplegada también declara la política de ingreso pública compatible con TLS:
  • infra-resources/kong/resources/ingress-proxy.yaml establece alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06.

Cómo lo validamos

Validamos el estado desplegado con scripts propios del repositorio en infra-resources e inspección directa del clúster en vivo. tools/compliance/verify_storage_encryption.sh captura evidencia de cifrado de almacenamiento ejecutando:
aws eks describe-cluster --name mk1-eks-production --region us-west-2
kubectl get storageclass ebs-sc efs-sc -o yaml
aws efs describe-file-systems --region us-west-2
aws ec2 describe-volumes --region us-west-2 \
  --filters Name=tag:kubernetes.io/created-for/pvc/name,Values='*'
tools/compliance/verify_tls13.sh captura evidencia pública de TLS ejecutando openssl s_client con -tls1_3 contra cada endpoint público:
openssl s_client -connect apigw.mka1.com:443 -servername apigw.mka1.com -tls1_3 -brief
openssl s_client -connect apigw.mka1.com:443 -servername apigw.mka1.com -tls1_3 -showcerts

openssl s_client -connect livekit.mka1.com:443 -servername livekit.mka1.com -tls1_3 -brief
openssl s_client -connect livekit.mka1.com:443 -servername livekit.mka1.com -tls1_3 -showcerts
También verificamos directamente la configuración del clúster en vivo:
kubectl -n kong get ingress kong-alb-ingress -o yaml
kubectl -n cnpg get cluster -o yaml

Evidencia

Los siguientes fragmentos saneados son extractos de comprobaciones contra nuestro despliegue de producción en vivo. Preservan las señales de cifrado verificadas y redactan detalles de infraestructura no relacionados.

Cifrado envelope de secretos EKS

{
  "cluster": {
    "name": "mk1-eks-production",
    "encryptionConfig": [
      {
        "resources": [
          "secrets"
        ],
        "provider": {
          "keyArn": "arn:aws:kms:us-west-2:[redacted-account]:key/[redacted-key-id]"
        }
      }
    ]
  }
}

Clase de almacenamiento respaldada por EBS cifrada

kind: StorageClass
metadata:
  name: ebs-sc
parameters:
  encrypted: "true"
  type: gp3
provisioner: ebs.csi.aws.com
volumeBindingMode: WaitForFirstConsumer

Handshake TLS 1.3 del gateway API público

Verificando TLS 1.3 para apigw.mka1.com:443
Conectando a [redacted-ip]
CONEXIÓN ESTABLECIDA
Versión del protocolo: TLSv1.3
Cifrado: TLS_AES_128_GCM_SHA256
Verificación: OK
Clave temporal del par: X25519, 253 bits
...
Nuevo, TLSv1.3, Cifrado es TLS_AES_128_GCM_SHA256
Protocolo: TLSv1.3
Clave pública del servidor es de 2048 bits
Código de retorno de verificación: 0 (ok)

Handshake TLS 1.3 de LiveKit

Verificando TLS 1.3 para livekit.mka1.com:443
Conectando a [redacted-ip]
CONEXIÓN ESTABLECIDA
Versión del protocolo: TLSv1.3
Cifrado: TLS_AES_128_GCM_SHA256
Verificación: OK
Clave temporal del par: X25519, 253 bits
...
Nuevo, TLSv1.3, Cifrado es TLS_AES_128_GCM_SHA256
Protocolo: TLSv1.3
Clave pública del servidor es de 2048 bits
Código de retorno de verificación: 0 (ok)

Extractos verificados del clúster en vivo

Ingreso público de Kong:
- alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06

CNPG/PostgreSQL:
- ssl_min_protocol_version: TLSv1.3
- ssl_max_protocol_version: TLSv1.3
- clientCASecret: mk1-db-[redacted]
- serverCASecret: mk1-db-[redacted]
- serverTLSSecret: mk1-db-[redacted]
- replicationTLSSecret: mk1-db-[redacted]