¿Cómo configuro mis agentes de escucha TLS/SSL de Application Load Balancer para que usen cifrados ECDSA?

Última actualización: 11/03/2022

La política de seguridad de mi balanceador de carga de aplicaciones (Application Load Balancer) enumera los cifrados RSA y ECDSA. Sin embargo, cuando me conecto a mi equilibrador de carga, siempre veo seleccionados los cifrados RSA. ¿Cómo hago para que mi equilibrador de carga use cifrados ECDSA para el cifrado TLS?

Descripción corta

Un agente de escucha HTTPS de Application Load Balancer se puede configurar con varios certificados, pero requiere una única política de seguridad. Cada política de seguridad contiene cifrados para los algoritmos criptográficos RSA y ECDSA. Durante el protocolo de enlace TLS, Application Load Balancer utiliza la lógica del proceso de selección para determinar qué certificado de Application Load Balancer se va a usar para la conexión HTTPS. Si el certificado elegido se crea con claves RSA o ECDSA (curva elíptica), Application Load Balancer aprovechará los cifrados RSA o ECDSA para el cifrado.

Nota: Los certificados públicos que genere AWS Certificate Manager (ACM) utilizan claves RSA. Por lo tanto, se espera que el cifrado con Application Load Balancer que utilice cualquier certificado de ACM aproveche los cifrados RSA. Debe importar certificados firmados por ECDSA en ACM y asociarlos con su agente de escucha HTTPS para aprovechar los cifrados ECDSA para el cifrado.

Resolución

Para usar cifrados ECDSA con Application Load Balancer, lleve a cabo los siguientes pasos:

Importe los nuevos certificados ECDSA a AWS Certificate Manager y vincule a un agente de escucha HTTPS

Después de trabajar con su CA (autoridad de certificación) a fin de obtener certificados ECDSA para su dominio en formato PEM, lleve a cabo los siguientes pasos:

1.    Importe su nuevo certificado ECDSA a AWS Certificate Manager.

2.    Asocie su certificado ECDSA recién importado con Application Load Balancer.

(Opcional) Pruebe el agente de escucha TLS del equilibrador de carga en busca de cifrados compatibles

Para probar qué protocolos y cifrados se usarán, use una herramienta de la línea de comandos de código abierto, como sslscan.

Nota: El uso de sslscan le permite obtener información completa de todos los cifrados sin utilizar una utilidad de terceros adicional. Por ejemplo, si usa cURL, debe especificar conjuntos de cifrado individuales, que requieren solicitudes de cURL separadas que especifiquen protocolos TLS y conjuntos de cifrado.

Puede instalar y ejecutar el comando sslscan en cualquier instancia Linux de Amazon Elastic Compute Cloud (Amazon EC2) o desde su sistema local. Asegúrese de que el equilibrador de carga que desea probar acepte conexiones TLS de su dirección IP de origen.

Para usar sslscan en una instancia de EC2 de Amazon Linux, lleve a cabo los siguientes pasos:

1.    Habilite el repositorio Extra Packages for Enterprise Linux (EPEL).

2.    Instale sslscan en la instancia Linux de Amazon EC2 con el siguiente comando:

sudo yum install sslscan

3.    Use la siguiente sintaxis de comandos para analizar Application Load Balancer en busca de cifrados compatibles, sustituyendo "example.com" por su nombre de dominio:

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

A continuación, se muestra un resultado de ejemplo que muestra los resultados de la ejecución de un análisis de vulnerabilidades en Application Load Balancer con un certificado ECDSA P-256 y una política de seguridad predeterminada:

    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 comparar, este es el resultado de ejemplo de un análisis de vulnerabilidades en el equilibrador de carga con un certificado RSA 2048 y una política de seguridad predeterminada:

    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

Si configuró correctamente sus certificados ECDSA en Application Load Balancer, el resultado muestra los conjuntos de cifrado negociados <ECDHE-ECDSA-*>. Si su resultado muestra otros conjuntos de cifrado, revise y actualice la política de seguridad de Application Load Balancer.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?