Como configuro listeners TLS/SSL do Application Load Balancer para usar cifras ECDSA?

4 minuto de leitura
0

A política de segurança do My Application Load Balancer lista as cifras RSA e ECDSA. Mas quando me conecto ao Load Balancer, sempre vejo as cifras RSA selecionadas. Como consigo que o Load Balancer use cifras ECDSA para criptografia TLS?

Breve descrição

Um listener HTTPS do Application Load Balancer pode ser configurado com vários certificados, mas requer uma única política de segurança. Cada política de segurança contém cifras para os algoritmos criptográficos RSA e ECDSA. Durante o handshake TLS, o Application Load Balancer usa a lógica do processo de seleção para determinar qual certificado do Application Load Balancer será usado para a conexão HTTPS. Se o certificado escolhido for criado usando chaves RSA ou ECDSA (curva elíptica), o Application Load Balancer utilizará cifras RSA ou ECDSA para criptografia.

Observação: os certificados públicos gerados pelo AWS Certificate Manager (ACM) usam chaves RSA. Portanto, é esperado que a criptografia com um Application Load Balancer usando qualquer certificado do ACM utilize cifras RSA. Você deve importar certificados assinados ECDSA para o ACM e associá-los ao listener HTTPS para utilizar cifras ECDSA para criptografia.

Resolução

Para usar cifras ECDSA com o Application Load Balancer, realize as seguintes etapas:

Importe os novos certificados ECDSA para o AWS Certificate Manager e vincule-os ao HTTPS Listener

Depois de trabalhar com a CA (autoridade de certificação) para obter certificados ECDSA para o domínio no formato PEM, execute as seguintes etapas:

1.    Importe o novo certificado ECDSA para o AWS Certificate Manager.

2.    Associe o certificado ECDSA recém-importado ao Application Load Balancer.

(Opcional) Teste o listener TLS do balanceador de carga para verificar as cifras compatíveis

Para testar quais protocolos e cifras serão usados, use uma ferramenta da linha de comando de código aberto, como o sslscan.

Observação: o uso do sslscan permite obter informações completas de todas as cifras sem usar um utilitário adicional de terceiros. Por exemplo, se você usar cURL, deverá especificar conjuntos de cifras individuais que exigem solicitações cURL separadas especificando protocolos TLS e conjuntos de cifras.

Você pode instalar e executar o comando sslscan em qualquer instância Linux do Amazon Elastic Compute Cloud (Amazon EC2) ou em seu sistema local. Certifique-se de que o Load Balancer que você deseja testar aceite conexões TLS do endereço IP de origem.

Para usar o sslscan em uma instância do Amazon Linux EC2, realize as seguintes etapas:

1.    Habilite o repositório Extra Packages for Enterprise Linux (EPEL).

2.    Instale o sslscan na instância Linux do Amazon EC2 usando o seguinte comando:

sudo yum install sslscan

3.    Use a seguinte sintaxe de comando para verificar as cifras compatíveis no Application Load Balancer, substituindo “example.com” pelo nome do domínio:

[ec2-user@ ~]$ sslscan --show-ciphers example.com | grep Accepted

Veja um exemplo de saída que mostra os resultados da execução de uma verificação de vulnerabilidade no Application Load Balancer usando um certificado P-256 ECDSA e uma política de segurança padrão:

    Accepted  TLSv1  256 bits  ECDHE-ECDSA-AES256-SHA
    Accepted  TLSv1  128 bits  ECDHE-ECDSA-AES128-SHA
    Accepted  TLS11  256 bits  ECDHE-ECDSA-AES256-SHA
    Accepted  TLS11  128 bits  ECDHE-ECDSA-AES128-SHA
    Accepted  TLS12  256 bits  ECDHE-ECDSA-AES256-GCM-SHA384
    Accepted  TLS12  256 bits  ECDHE-ECDSA-AES256-SHA384
    Accepted  TLS12  256 bits  ECDHE-ECDSA-AES256-SHA
    Accepted  TLS12  128 bits  ECDHE-ECDSA-AES128-GCM-SHA256
    Accepted  TLS12  128 bits  ECDHE-ECDSA-AES128-SHA256
    Accepted  TLS12  128 bits  ECDHE-ECDSA-AES128-SHA

Para comparação, veja o exemplo de saída de uma verificação de vulnerabilidade no Load Balancer usando um certificado RSA 2048 e uma política de segurança padrão:

    Accepted  TLSv1  256 bits  ECDHE-RSA-AES256-SHA
    Accepted  TLSv1  256 bits  AES256-SHA
    Accepted  TLSv1  128 bits  ECDHE-RSA-AES128-SHA
    Accepted  TLSv1  128 bits  AES128-SHA
    Accepted  TLS11  256 bits  ECDHE-RSA-AES256-SHA
    Accepted  TLS11  256 bits  AES256-SHA
    Accepted  TLS11  128 bits  ECDHE-RSA-AES128-SHA
    Accepted  TLS11  128 bits  AES128-SHA
    Accepted  TLS12  256 bits  ECDHE-RSA-AES256-GCM-SHA384
    Accepted  TLS12  256 bits  ECDHE-RSA-AES256-SHA384
    Accepted  TLS12  256 bits  ECDHE-RSA-AES256-SHA
    Accepted  TLS12  256 bits  AES256-GCM-SHA384
    Accepted  TLS12  256 bits  AES256-SHA256
    Accepted  TLS12  256 bits  AES256-SHA
    Accepted  TLS12  128 bits  ECDHE-RSA-AES128-GCM-SHA256
    Accepted  TLS12  128 bits  ECDHE-RSA-AES128-SHA256
    Accepted  TLS12  128 bits  ECDHE-RSA-AES128-SHA
    Accepted  TLS12  128 bits  AES128-GCM-SHA256
    Accepted  TLS12  128 bits  AES128-SHA256
    Accepted  TLS12  128 bits  AES128-SHA

Se você configurou corretamente os certificados ECDSA no Application Load Balancer, a saída mostrará os conjuntos de cifras <ECDHE-ECDSA-*> negociados. Se a saída mostrar outros conjuntos de cifras, revise e atualize a política de segurança do Application Load Balancer.


AWS OFICIAL
AWS OFICIALAtualizada há 2 anos