Come posso configurare i listener TLS/SSL di Application Load Balancer per l'utilizzo delle crittografie ECDSA?

Ultimo aggiornamento: 11/03/2022

La mia policy di sicurezza di Application Load Balancer elenca le crittografie RSA ed ECDSA. Ma quando mi connetto al mio bilanciatore del carico, vedo sempre le crittografie RSA selezionate. Come posso fare in modo che il mio bilanciatore del carico utilizzi le crittografie ECDSA per la crittografia TLS?

Breve descrizione

Un listener HTTPS di Application Load Balancer può essere configurato con più certificati, ma richiede un'unica policy di sicurezza. Ogni policy di sicurezza contiene crittografie per algoritmi crittografici sia RSA che ECDSA. Durante l'handshake TLS, Application Load Balancer utilizza la logica del processo di selezione per determinare quale certificato Application Load Balancer utilizzare per la connessione HTTPS. Se il certificato scelto viene creato utilizzando chiavi RSA o ECDSA (curva ellittica), Application Load Balancer utilizzerà i codici RSA o ECDSA per la crittografia.

Nota: i certificati pubblici generati da AWS Certificate Manager (ACM) utilizzano chiavi RSA. Pertanto, la crittografia con un Application Load Balancer che utilizza certificati ACM dovrebbe sfruttare le crittografie RSA. È necessario importare i certificati firmati ECDSA in ACM e associarli al listener HTTPS per sfruttare i codici ECDSA per la crittografia.

Risoluzione

Per utilizzare le crittografie ECDSA con Application Load Balancer, segui i seguenti passaggi:

Importa nuovi certificati ECDSA in AWS Certificate Manager e associali a HTTPS Listener

Dopo aver collaborato con la CA (autorità di certificazione) per ottenere i certificati ECDSA per il tuo dominio in formato PEM, segui i passaggi riportati qui sotto:

1.    Importa il tuo nuovo certificato ECDSA in AWS Certificate Manager.

2.    Associa il certificato ECDSA appena importato al tuo Application Load Balancer.

(Facoltativo) Testa il listener TLS del bilanciatore del carico per le crittografie supportate

Per verificare quali protocolli e crittografie verranno utilizzati, utilizza uno strumento a riga di comando open source, come sslscan.

Nota: l'uso di sslscan consente di ottenere informazioni complete su tutte le crittografie senza utilizzare un'utilità di terze parti aggiuntiva. Ad esempio, se si utilizza cURL, è necessario specificare singole suite di crittografia, che richiedono richieste cURL separate che specifichino protocolli TLS e suite di crittografia.

Puoi installare ed eseguire il comando sslscan su qualsiasi istanza Linux di Amazon Elastic Compute Cloud (Amazon EC2) o dal tuo sistema locale. Assicurati che il bilanciatore del carico che desideri testare accetti connessioni TLS dal tuo indirizzo IP fonte.

Per utilizzare sslscan su un'istanza Linux di Amazon EC2, segui i seguenti passaggi:

1.    Abilita il repository EPEL (Extra Packages for Enterprise Linux).

2.    Installa sslscan sull'istanza Linux di Amazon EC2 utilizzando il seguente comando:

sudo yum install sslscan

3.    Utilizza la seguente sintassi di comando per eseguire la scansione di Application Load Balancer alla ricerca di crittografie supportate, sostituendo "example.com" con il tuo nome di dominio:

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

Di seguito è riportato un esempio di output che mostra i risultati dell'esecuzione di una scansione delle vulnerabilità sul proprio Application Load Balancer utilizzando un certificato ECDSA P-256 e una policy di sicurezza predefinita:

    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

Per fare un confronto, viene riportato di seguito l'output di esempio di una scansione delle vulnerabilità sul tuo bilanciatore del carico utilizzando un certificato RSA 2048 e una policy di sicurezza predefinita:

    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 i certificati ECDSA sono stati configurati correttamente su Application Load Balancer, l'output mostra le suite di crittografia <ECDHE-ECDSA-*> negoziate. Se l'output mostra altre suite di crittografia, rivedi e aggiorna la policy di sicurezza di Application Load Balancer.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?