更新 Classic Load Balancer SSL 的交涉組態 - Elastic Load Balancing

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

更新 Classic Load Balancer SSL 的交涉組態

Elastic Load Balancing SSL 提供具有預先定義交涉組態的安全政策,可用於交涉用戶端和負載平衡器之間的SSL連線。如果您為接聽程式使用 HTTPS/SSL 通訊協定,則可以使用其中一個預先定義的安全政策,或使用您自己的自訂安全政策。

如需關於安全政策的詳細資訊,請參閱SSL Classic Load Balancer 的交涉組態。如需有關 Elastic Load Balancing 提供之安全政策的組態的詳細資訊,請參閱 Classic Load Balancer 的預先定義SSL安全政策

如果您建立 HTTPS/SSL 接聽程式而不將安全政策建立關聯,Elastic Load Balancing 會將預設預先定義的安全政策 ELBSecurityPolicy-2016-08與負載平衡器建立關聯。

如果您願意的話,您可以建立自訂組態。強烈建議您在升級負載平衡器組態之前先測試您的安全政策。

下列範例示範如何更新 SSL HTTPS/SSL 接聽程式的交涉組態。請注意,變更不影響負載平衡器節點所接收的請求,而這些請求都在等待路由到運作狀態良好的執行個體,但更新的組態將會與新的請求一起使用。

使用主控台更新交SSL涉組態

在預設情況下,Elastic Load Balancing 會建立最新預先定義政策與您的負載平衡器之間的關聯。新增新的預先定義政策時,建議您更新負載平衡器,以使用新的預先定義政策。或者,您可以選擇不同的預先定義安全政策或建立自訂政策。

使用主控台更新 HTTPS/SSL 負載平衡器的SSL交涉組態
  1. 在 開啟 Amazon EC2主控台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格的 Load Balancing (負載平衡器),選擇 Load Balancer (負載平衡器)

  3. 選擇負載平衡器的名稱來開啟其詳細資訊頁面。

  4. 接聽程式索引標籤中,選擇管理接聽程式

  5. 管理接聽程式頁面上找到要更新的接聽程式,在安全政策下方選擇編輯,然後使用下列其中一個選項選取安全政策:

    • 保留預設政策 ELBSecurityPolicy-2016-08,然後選擇儲存變更

    • 選取預設政策以外的預先定義政策,然後選擇儲存變更

    • 選取自訂並至少啟用一個通訊協定和一個加密方式,如下所示:

      1. 對於SSL通訊協定 ,選取要啟用的一或多個通訊協定。

      2. 對於SSL選項 ,選取伺服器順序偏好設定,以使用 中列出的順序Classic Load Balancer 的預先定義SSL安全政策進行SSL交涉。

      3. 針對 SSLCiphers ,選取要啟用的一或多個密碼。如果您已有SSL憑證,則必須啟用用來建立憑證的密碼,因為 DSA和 RSA 密碼是簽署演算法特有的。

      4. 選擇 Save changes (儲存變更)。

使用 SSL 更新交涉組態 AWS CLI

您可以使用預設的預先定義安全政策、ELBSecurityPolicy-2016-08、不同的預先定義安全政策,或自訂安全政策。

使用預先定義的SSL安全政策
  1. 使用以下describe-load-balancer-policies命令列出 Elastic Load Balancing 提供的預先定義安全政策。您使用的語法取決於您所使用的作業系統和 Shell。

    Linux

    aws elb describe-load-balancer-policies --query 'PolicyDescriptions[?PolicyTypeName==`SSLNegotiationPolicyType`].{PolicyName:PolicyName}' --output table

    Windows

    aws elb describe-load-balancer-policies --query "PolicyDescriptions[?PolicyTypeName==`SSLNegotiationPolicyType`].{PolicyName:PolicyName}" --output table

    下列為範例輸出:

    ------------------------------------------ | DescribeLoadBalancerPolicies | +----------------------------------------+ | PolicyName | +----------------------------------------+ | ELBSecurityPolicy-2016-08 | | ELBSecurityPolicy-TLS-1-2-2017-01 | | ELBSecurityPolicy-TLS-1-1-2017-01 | | ELBSecurityPolicy-2015-05 | | ELBSecurityPolicy-2015-03 | | ELBSecurityPolicy-2015-02 | | ELBSecurityPolicy-2014-10 | | ELBSecurityPolicy-2014-01 | | ELBSecurityPolicy-2011-08 | | ELBSample-ELBDefaultCipherPolicy | | ELBSample-OpenSSLDefaultCipherPolicy | +----------------------------------------+

    若要判斷哪些加密已針對來政策啟用,請使用下列命令:

    aws elb describe-load-balancer-policies --policy-names ELBSecurityPolicy-2016-08 --output table

    如需有關為預先定義安全政策的組態的詳細資訊,請參閱Classic Load Balancer 的預先定義SSL安全政策

  2. 使用 SSL create-load-balancer-policy命令,使用您在上一個步驟中描述的其中一個預先定義安全政策來建立交涉政策。例如,以下命令會使用預設的預先定義安全政策:

    aws elb create-load-balancer-policy --load-balancer-name my-loadbalancer --policy-name my-SSLNegotiation-policy --policy-type-name SSLNegotiationPolicyType --policy-attributes AttributeName=Reference-Security-Policy,AttributeValue=ELBSecurityPolicy-2016-08

    如果您超過負載平衡器政策數量的限制,請使用 delete-load-balancer-policy命令刪除任何未使用的政策。

  3. (選用) 使用下列describe-load-balancer-policies命令來驗證政策是否已建立:

    aws elb describe-load-balancer-policies --load-balancer-name my-loadbalancer --policy-name my-SSLNegotiation-policy

    回應包含政策的描述。

  4. 使用下列 set-load-balancer-policies-of-listener 命令,在負載平衡器連接埠 443 上啟用政策:

    aws elb set-load-balancer-policies-of-listener --load-balancer-name my-loadbalancer --load-balancer-port 443 --policy-names my-SSLNegotiation-policy
    注意

    set-load-balancer-policies-of-listener 命令會將指定的負載平衡器連接埠的目前政策集合取代為指定的政策。--policy-names 清單必須包含所有要啟用的 政策。如果您省略的政策目前已啟用,它會被停用。

  5. (選用) 使用下列describe-load-balancers命令來驗證是否已針對負載平衡器連接埠啟用新政策:

    aws elb describe-load-balancers --load-balancer-name my-loadbalancer

    該回應會顯示政策已在連接埠 443 上啟用。

    ... { "Listener": { "InstancePort": 443, "SSLCertificateId": "ARN", "LoadBalancerPort": 443, "Protocol": "HTTPS", "InstanceProtocol": "HTTPS" }, "PolicyNames": [ "my-SSLNegotiation-policy" ] } ...

當您建立自訂安全政策,您必須至少啟用一個通訊協定,和一個加密方式。DSA 和 RSA 密碼專屬於簽署演算法,並用於建立SSL憑證。如果您已有SSL憑證,請務必啟用用來建立憑證的密碼。您的自訂政策名稱不得以 ELBSample-ELBSecurityPolicy- 開頭,因為這些字首是預留給預先定義安全政策的名稱使用。

使用自訂SSL安全政策
  1. 使用 SSL create-load-balancer-policy命令來使用自訂安全政策建立交涉政策。例如:

    aws elb create-load-balancer-policy --load-balancer-name my-loadbalancer --policy-name my-SSLNegotiation-policy --policy-type-name SSLNegotiationPolicyType --policy-attributes AttributeName=Protocol-TLSv1.2,AttributeValue=true AttributeName=Protocol-TLSv1.1,AttributeValue=true AttributeName=DHE-RSA-AES256-SHA256,AttributeValue=true AttributeName=Server-Defined-Cipher-Order,AttributeValue=true

    如果您超過負載平衡器政策數量的限制,請使用 delete-load-balancer-policy命令刪除任何未使用的政策。

  2. (選用) 使用下列describe-load-balancer-policies命令來驗證政策是否已建立:

    aws elb describe-load-balancer-policies --load-balancer-name my-loadbalancer --policy-name my-SSLNegotiation-policy

    回應包含政策的描述。

  3. 使用下列 set-load-balancer-policies-of-listener 命令,在負載平衡器連接埠 443 上啟用政策:

    aws elb set-load-balancer-policies-of-listener --load-balancer-name my-loadbalancer --load-balancer-port 443 --policy-names my-SSLNegotiation-policy
    注意

    set-load-balancer-policies-of-listener 命令會將指定的負載平衡器連接埠的目前政策集合取代為指定的政策。--policy-names 清單必須包含所有要啟用的 政策。如果您省略的政策目前已啟用,它會被停用。

  4. (選用) 使用下列describe-load-balancers命令來驗證負載平衡器連接埠是否已啟用新政策:

    aws elb describe-load-balancers --load-balancer-name my-loadbalancer

    該回應會顯示政策已在連接埠 443 上啟用。

    ... { "Listener": { "InstancePort": 443, "SSLCertificateId": "ARN", "LoadBalancerPort": 443, "Protocol": "HTTPS", "InstanceProtocol": "HTTPS" }, "PolicyNames": [ "my-SSLNegotiation-policy" ] } ...