跳至內容

如何設定我的 Application Load Balancer TLS/SSL 接聽程式,以使用 ECDSA 密碼?

2 分的閱讀內容
0

我應用程式負載平衡器的安全政策列出了 RSA 和 ECDSA 密碼。但是當我連接到負載平衡器時,只看到了選擇的 RSA 密碼。

簡短描述

您可以為 Application Load Balancer HTTPS 接聽程式設定多個憑證。但是,它需要安全政策。每個安全政策都包含 RSA 和 ECDSA 加密演算法的密碼。在 TLS 信號交換過程中,Application Load Balancer 會使用選取處理邏輯來決定要使用哪個 Application Load Balancer 憑證進行 HTTPS 連線。如果選取的憑證是使用 RSA 或 ECDSA (橢圓曲線) 金鑰建立,則 Application Load Balancer 會使用 RSA 或 ECDSA 密碼進行加密。

解決方法

若要將 ECDSA 密碼與您的 Application Load Balancer 搭配使用,請完成以下步驟:

建立或匯入新的 ECDSA 憑證到 ACM,並將其繫結到 HTTPS 接聽程式

建立新的 ECDSA 憑證

首先,確定您的憑證要求。然後,從 AWS Certificate Manager (ACM) 要求 ECDSA 憑證

將 ECDSA 憑證匯入 ACM

與您的憑證授權單位合作取得網域的 ECDSA 憑證 (.pem 格式) 後,將新的 ECDSA 憑證匯入 ACM

建立 ECDSA 憑證或將其匯入 ACM 後,請將您的憑證與 Application Load Balancer 關聯

(選用) 測試負載平衡器的 TLS 接聽程式是否有支援的密碼

若要測試使用了哪些通訊協定和密碼,請使用開放原始碼命令列工具,例如 sslscan

**注意:**使用 sslscan 可讓您取得所有密碼的完整資訊,而無需使用其他第三方公用程式。例如,如果您使用 curl,則必須指定單獨的密碼套件。這些需要單獨的 curl 請求,以指定 TLS 通訊協定和密碼套件。

您可以在任何 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體上或本機系統安裝並執行 sslscan 命令。確認您要測試的負載平衡器接受來源 IP 位址的 TLS 連線。

若要在 Amazon Linux EC2 執行個體上使用 sslscan,請完成下列步驟:

1.    啟用適用於 Enterprise Linux (EPEL) 的額外套件儲存庫

2.    在您的 Amazon EC2 Linux 執行個體上安裝 sslscan

sudo yum install sslscan

3.    若要掃描 Application Load Balancer 以尋找支援的密碼,請執行下列命令。將 example.com 替換為您的網域名稱:

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

以下是一個輸出範例,顯示在 Application Load Balancer 上執行弱點掃描的結果。在此範例中,負載平衡器使用 P-256 ECDSA 憑證和預設安全政策:

    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

下列輸出範例顯示了一個使用 RSA 2048 憑證和預設安全政策的負載平衡器:

    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

如果您在 Application Load Balancer 上正確設定了 ECDSA 憑證,則輸出將顯示協商的 ECDHE-ECDSA-* 密碼套件。如果輸出顯示其他密碼套件,請檢閱並更新 Application Load Balancer 安全政策

AWS 官方已更新 1 年前