Pular para o conteúdo 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.

O MKA1 gerencia todas as chaves criptográficas através do AWS KMS, que é respaldado por módulos de segurança de hardware validados FIPS 140-2 Nível 3. O TLS 1.3 é aplicado em todos os endpoints públicos e nas conexões internas com o banco de dados, com tamanhos de chave verificados que atendem aos requisitos de conformidade.

O que está ativo

Gerenciamento de chaves protegido por HSM

Os seguintes controles foram verificados no ambiente de produção ao vivo:
  • A criptografia envelope dos segredos do EKS utiliza uma chave AWS KMS gerenciada pelo cliente (arn:aws:kms:us-west-2:REDACTED:key/...).
  • A chave KMS é protegida por HSMs validados FIPS 140-2 Nível 3 operados pela AWS.
  • Segredos criptografados com SOPS em repouso no repositório também utilizam AWS KMS para criptografia envelope.
  • Volumes EBS anexados ao cluster de produção usam encrypted: "true" com a classe de armazenamento gp3, com chaves de criptografia gerenciadas pelo KMS.

Aplicação do TLS 1.3

Os seguintes controles foram verificados no ambiente de produção ao vivo:
  • apigw.mka1.com:443 negociou TLSv1.3 com a suíte de cifras TLS_AES_128_GCM_SHA256.
  • livekit.mka1.com:443 negociou TLSv1.3 com a suíte de cifras TLS_AES_128_GCM_SHA256.
  • Ambos os endpoints utilizam troca de chaves X25519 (253 bits) e chaves públicas de servidor RSA de 2048 bits emitidas pelo AWS Certificate Manager.
  • A política SSL do ALB ELBSecurityPolicy-TLS13-1-2-2021-06 está configurada nos ingresses do Kong e LiveKit, garantindo apenas TLS 1.3 e cifras TLS 1.2 fortes.
  • O cluster CNPG/PostgreSQL de produção aplica ssl_min_protocol_version: TLSv1.3 e ssl_max_protocol_version: TLSv1.3.
  • Os certificados TLS do banco de dados são gerenciados pelo cert-manager com segredos dedicados clientCASecret, serverCASecret, serverTLSSecret e replicationTLSSecret.

Como validamos

Validamos o uso de chaves protegidas por HSM e a aplicação do TLS 1.3 com inspeção do cluster ao vivo e testes diretos nos endpoints. A chave KMS e o respaldo por HSM são confirmados via descrição do cluster EKS:
aws eks describe-cluster --name mk1-eks-production --region us-west-2 \
  --query 'cluster.encryptionConfig'
O handshake TLS 1.3 e os tamanhos das chaves são verificados com openssl s_client:
openssl s_client -connect apigw.mka1.com:443 -servername apigw.mka1.com -tls1_3 -brief
openssl s_client -connect livekit.mka1.com:443 -servername livekit.mka1.com -tls1_3 -brief
A configuração TLS do banco de dados é verificada diretamente no cluster ao vivo:
kubectl -n cnpg get cluster -o yaml | grep -A2 ssl

Evidências

Os trechos a seguir, devidamente sanitizados, foram extraídos de verificações contra nosso ambiente de produção ao vivo.

Provedor KMS no cluster EKS

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

Handshake TLS 1.3 com tamanhos de chave — apigw.mka1.com

CONEXÃO ESTABELECIDA
Versão do protocolo: TLSv1.3
Suíte de cifras: TLS_AES_128_GCM_SHA256
Chave temporária do par: X25519, 253 bits
Verificação: OK
...
Chave pública do servidor é 2048 bits
Código de retorno da verificação: 0 (ok)

Handshake TLS 1.3 com tamanhos de chave — livekit.mka1.com

CONEXÃO ESTABELECIDA
Versão do protocolo: TLSv1.3
Suíte de cifras: TLS_AES_128_GCM_SHA256
Chave temporária do par: X25519, 253 bits
Verificação: OK
...
Chave pública do servidor é 2048 bits
Código de retorno da verificação: 0 (ok)

Política SSL do ALB e configuração TLS do banco de dados

Ingress público do 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]