CLBのセキュリティポリシーをCLIで確認する

記事タイトルとURLをコピーする

こんにちわ、屋根裏エンジニアの折戸です。

今回はClassic Load Balancer(以下、CLB)のセキュリティポリシーをAWS CLI(以下、CLI)で確認する方法をご紹介します。

参考

詳細については以下をご覧ください。

aws.amazon.com

CLIドキュメント

awscli.amazonaws.com awscli.amazonaws.com

事前準備

AWS CLI

% aws --version
aws-cli/2.2.44 Python/3.8.8 Darwin/21.2.0 exe/x86_64 prompt/off

認証設定/プロファイル設定

適宜設定ください

CLBへ設定されている PolicyNames を確認

describe-load-balancers を実行

※必要に応じて --profile (プロファイル)をご指定ください。

% aws elb describe-load-balancers --load-balancer-name 【CLB名】 --query "LoadBalancerDescriptions[].ListenerDescriptions[].PolicyNames[]" --output text

出力例

AWSConsole-SSLNegotiationPolicy-【CLB名】-*************

セキュリティポリシーの詳細を確認

SSL プロトコル、SSL オプション(サーバーの優先順位)、SSL 暗号を確認します。

describe-load-balancer-policies 実行

PolicyNameを指定して、describe-load-balancer-policies を実行します。

※必要に応じて --profile (プロファイル)をご指定ください。

% aws elb describe-load-balancer-policies --load-balancer-name 【CLB名】 --policy-name 【PolicyName】 --output table

出力例

ELBSecurityPolicy-2016-08 の場合

------------------------------------------------------------------------------------------
|                              DescribeLoadBalancerPolicies                              |
+----------------------------------------------------------------------------------------+
||                                  PolicyDescriptions                                  ||
|+---------------------------------------------------------+----------------------------+|
||                       PolicyName                        |      PolicyTypeName        ||
|+---------------------------------------------------------+----------------------------+|
||  【CLB名】 |  SSLNegotiationPolicyType  ||
|+---------------------------------------------------------+----------------------------+|
|||                             PolicyAttributeDescriptions                            |||
||+--------------------------------------------+---------------------------------------+||
|||                AttributeName               |            AttributeValue             |||
||+--------------------------------------------+---------------------------------------+||
|||  Reference-Security-Policy                 |  ELBSecurityPolicy-2016-08            |||
|||  Protocol-TLSv1                            |  true                                 |||
|||  Protocol-SSLv3                            |  false                                |||
|||  Protocol-TLSv1.1                          |  true                                 |||
|||  Protocol-TLSv1.2                          |  true                                 |||
|||  Server-Defined-Cipher-Order               |  true                                 |||
|||  ECDHE-ECDSA-AES128-GCM-SHA256             |  true                                 |||
|||  ECDHE-RSA-AES128-GCM-SHA256               |  true                                 |||
|||  ECDHE-ECDSA-AES128-SHA256                 |  true                                 |||
|||  ECDHE-RSA-AES128-SHA256                   |  true                                 |||
|||  ECDHE-ECDSA-AES128-SHA                    |  true                                 |||
|||  ECDHE-RSA-AES128-SHA                      |  true                                 |||
|||  DHE-RSA-AES128-SHA                        |  false                                |||
|||  ECDHE-ECDSA-AES256-GCM-SHA384             |  true                                 |||
|||  ECDHE-RSA-AES256-GCM-SHA384               |  true                                 |||
|||  ECDHE-ECDSA-AES256-SHA384                 |  true                                 |||
|||  ECDHE-RSA-AES256-SHA384                   |  true                                 |||
|||  ECDHE-RSA-AES256-SHA                      |  true                                 |||
|||  ECDHE-ECDSA-AES256-SHA                    |  true                                 |||
|||  AES128-GCM-SHA256                         |  true                                 |||
|||  AES128-SHA256                             |  true                                 |||
|||  AES128-SHA                                |  true                                 |||
|||  AES256-GCM-SHA384                         |  true                                 |||
|||  AES256-SHA256                             |  true                                 |||
|||  AES256-SHA                                |  true                                 |||
|||  DHE-DSS-AES128-SHA                        |  false                                |||
|||  CAMELLIA128-SHA                           |  false                                |||
|||  EDH-RSA-DES-CBC3-SHA                      |  false                                |||
|||  DES-CBC3-SHA                              |  false                                |||
|||  ECDHE-RSA-RC4-SHA                         |  false                                |||
|||  RC4-SHA                                   |  false                                |||
|||  ECDHE-ECDSA-RC4-SHA                       |  false                                |||
|||  DHE-DSS-AES256-GCM-SHA384                 |  false                                |||
|||  DHE-RSA-AES256-GCM-SHA384                 |  false                                |||
|||  DHE-RSA-AES256-SHA256                     |  false                                |||
|||  DHE-DSS-AES256-SHA256                     |  false                                |||
|||  DHE-RSA-AES256-SHA                        |  false                                |||
|||  DHE-DSS-AES256-SHA                        |  false                                |||
|||  DHE-RSA-CAMELLIA256-SHA                   |  false                                |||
|||  DHE-DSS-CAMELLIA256-SHA                   |  false                                |||
|||  CAMELLIA256-SHA                           |  false                                |||
|||  EDH-DSS-DES-CBC3-SHA                      |  false                                |||
|||  DHE-DSS-AES128-GCM-SHA256                 |  false                                |||
|||  DHE-RSA-AES128-GCM-SHA256                 |  false                                |||
|||  DHE-RSA-AES128-SHA256                     |  false                                |||
|||  DHE-DSS-AES128-SHA256                     |  false                                |||
|||  DHE-RSA-CAMELLIA128-SHA                   |  false                                |||
|||  DHE-DSS-CAMELLIA128-SHA                   |  false                                |||
|||  ADH-AES128-GCM-SHA256                     |  false                                |||
|||  ADH-AES128-SHA                            |  false                                |||
|||  ADH-AES128-SHA256                         |  false                                |||
|||  ADH-AES256-GCM-SHA384                     |  false                                |||
|||  ADH-AES256-SHA                            |  false                                |||
|||  ADH-AES256-SHA256                         |  false                                |||
|||  ADH-CAMELLIA128-SHA                       |  false                                |||
|||  ADH-CAMELLIA256-SHA                       |  false                                |||
|||  ADH-DES-CBC3-SHA                          |  false                                |||
|||  ADH-DES-CBC-SHA                           |  false                                |||
|||  ADH-RC4-MD5                               |  false                                |||
|||  ADH-SEED-SHA                              |  false                                |||
|||  DES-CBC-SHA                               |  false                                |||
|||  DHE-DSS-SEED-SHA                          |  false                                |||
|||  DHE-RSA-SEED-SHA                          |  false                                |||
|||  EDH-DSS-DES-CBC-SHA                       |  false                                |||
|||  EDH-RSA-DES-CBC-SHA                       |  false                                |||
|||  IDEA-CBC-SHA                              |  false                                |||
|||  RC4-MD5                                   |  false                                |||
|||  SEED-SHA                                  |  false                                |||
|||  DES-CBC3-MD5                              |  false                                |||
|||  DES-CBC-MD5                               |  false                                |||
|||  RC2-CBC-MD5                               |  false                                |||
|||  PSK-AES256-CBC-SHA                        |  false                                |||
|||  PSK-3DES-EDE-CBC-SHA                      |  false                                |||
|||  KRB5-DES-CBC3-SHA                         |  false                                |||
|||  KRB5-DES-CBC3-MD5                         |  false                                |||
|||  PSK-AES128-CBC-SHA                        |  false                                |||
|||  PSK-RC4-SHA                               |  false                                |||
|||  KRB5-RC4-SHA                              |  false                                |||
|||  KRB5-RC4-MD5                              |  false                                |||
|||  KRB5-DES-CBC-SHA                          |  false                                |||
|||  KRB5-DES-CBC-MD5                          |  false                                |||
|||  EXP-EDH-RSA-DES-CBC-SHA                   |  false                                |||
|||  EXP-EDH-DSS-DES-CBC-SHA                   |  false                                |||
|||  EXP-ADH-DES-CBC-SHA                       |  false                                |||
|||  EXP-DES-CBC-SHA                           |  false                                |||
|||  EXP-RC2-CBC-MD5                           |  false                                |||
|||  EXP-KRB5-RC2-CBC-SHA                      |  false                                |||
|||  EXP-KRB5-DES-CBC-SHA                      |  false                                |||
|||  EXP-KRB5-RC2-CBC-MD5                      |  false                                |||
|||  EXP-KRB5-DES-CBC-MD5                      |  false                                |||
|||  EXP-ADH-RC4-MD5                           |  false                                |||
|||  EXP-RC4-MD5                               |  false                                |||
|||  EXP-KRB5-RC4-SHA                          |  false                                |||
|||  EXP-KRB5-RC4-MD5                          |  false                                |||
||+--------------------------------------------+---------------------------------------+||

AttributeValuetrue となっているものが有効になっています。

AttributeValueがtrueのみ抽出

% aws elb describe-load-balancer-policies --load-balancer-name 【CLB名】 --policy-name 【PolicyNames名】 --query "PolicyDescriptions[].PolicyAttributeDescriptions[?AttributeValue=='true'].[AttributeName]"  --output text

出力例

ELBSecurityPolicy-2016-08 の場合

Protocol-TLSv1
Protocol-TLSv1.1
Protocol-TLSv1.2
Server-Defined-Cipher-Order
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-AES128-SHA
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-AES256-SHA
AES128-GCM-SHA256
AES128-SHA256
AES128-SHA
AES256-GCM-SHA384
AES256-SHA256
AES256-SHA

最後に

例えばCLBからALBへ移行を検討する際に、CLBに設定されているセキュリティポリシーやSSL暗号の確認が必要となります。

今回ご紹介しましたCLI操作でCLBに設定されているセキュリティポリシーの確認を効率化できます。

どなたかの参考になれば幸いです。

では。

折戸 亮太(執筆記事の一覧)

2021年10月1日入社
クラウドインテグレーション部技術1課

屋根裏エンジニア