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

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

更新 Classic Load Balancer 的SSL交涉組態

Elastic Load Balancing 提供安全性原則,這些原則具有預先定義的SSL交涉組態,可用來交涉用戶端與負載平衡器之間的 SSL 如果您為監聽器使用HTTPS/SSL協定,您可以使用其中一個預先定義的安全性原則,或使用您自己的自訂安全性原則。

如需關於安全政策的詳細資訊,請參閱SSL傳統負載平衡器的交涉組態。如需有關 Elastic Load Balancing 提供之安全政策的組態的詳細資訊,請參閱 預先定義的SSL安全

如果您在未建立安全性原則關聯的情況下建立HTTPS/SSL偵聽程式,則 Elastic Load Balancing 會將預設預先定義的安全性原則與負載平衡器產生關聯。ELBSecurityPolicy-2016-08

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

下列範例說明如何更新HTTPS/SSL監聽程式的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選項」,請選取「伺服器順序偏好設定」以使用中列出的順序預先定義的SSL安全進行SSL交涉。

      3. 對於SSL密碼,請選取要啟用的一或多個密碼。如果您已有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

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

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

    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監聽程式命令,在負載平衡器連接埠 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. 使用此命create-load-balancer-policy令建立使用自訂安全性原則的SSL交涉原則。例如:

    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監聽程式命令,在負載平衡器連接埠 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" ] } ...