LoginSignup
2
1

More than 3 years have passed since last update.

IBM Cloud Internet Service(CIS): TLSの暗号化スイートを制限する

Last updated at Posted at 2020-08-31

1. はじめに

https://www.ssllabs.com/ssltest/ などを利用すれば、暗号化スイート(Cipher Suite)の脆弱性などをチェックすることができる。CISではコマンドラインからCipherスイートのallowlistを変更することができるので、この記事で試してみた。

2. デフォルトのテスト結果

まずは、CISで保護しているサイトに対して、https://www.ssllabs.com/ssltest/を使ってテストしてみた。
image.png
image.png

(TLS1.0や1.1は論外として)上記の結果から分かる通り、TLS1.2以上を使うように構成していても、WEAK扱いされている暗号化スイートは存在し、後方互換性のために利用可能な状態になっている。一方で、

  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256

あたりが使えるようになっていれば最近の環境であれば問題なさそうだとうことが分かる(上記レポートをざっとでしか確認していないので、本番利用時にはより細かくチェックしてください)。

3. CISの設定

IBM Cloud docsとしては以下を参照
https://cloud.ibm.com/docs/cis?topic=cis-cli-plugin-cis-cli&locale=en#update-domain-settings
https://cloud.ibm.com/docs/cis?topic=cis-cis-tls-options&locale=en#cipher-suites

インスタンスを探す
# ibmcloud cis instances
Retrieving service instances for service 'internet-svcs' ...
OK
Name                    ID                                                                                                                     Location   State    Service Name
CIS-Enterprise-Usage1   crn:v1:bluemix:public:internet-svcs:global:a/039dbe6794084c7cb514a276dd2345da:cf4d8b04-b49e-4bf0-a99d-9303bba2cd90::   global     active   internet-svcs
コマンドごとにIDを指定しなくて済むように、デフォルトインスタンスを設定しておく
# ibmcloud cis instance-set CIS-Enterprise-Usage1
Setting context service instance to 'CIS-Enterprise-Usage1' ...
OK
Context service instance set succeeded.
ドメインを探す
# ibmcloud cis domains
Listing domains for service instance 'CIS-Enterprise-Usage1' ...
OK
ID                                 Name                 Status   Paused
a4135402d38fff24e32ef13c82c1ab4a   cisibm.tk           active   false
暗号化スイートの設定確認
# ibmcloud cis domain-settings a4135402d38fff24e32ef13c82c1ab4a -f "ciphers"
Getting 'ciphers' for domain 'a4135402d38fff24e32ef13c82c1ab4a'...
OK

ID            ciphers
Editable      true
Modified On   N/A
Value

CISの暗号化スイートでallowlistとして設定可能な値は以下のあたりのようなので、

ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-ECDSA-CHACHA20-POLY1305, ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-CHACHA20-POLY1305, ECDHE-ECDSA-AES128-SHA256, ECDHE-ECDSA-AES128-SHA, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES128-SHA, AES128-GCM-SHA256, AES128-SHA256, AES128-SHA, ECDHE-ECDSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES256-SHA384, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES256-SHA, AES256-GCM-SHA384, AES256-SHA256, AES256-SHA, DES-CBC3-SHA, default なので、

以下の4つを設定する。

  • ECDHE-ECDSA-AES128-GCM-SHA256
  • ECDHE-ECDSA-CHACHA20-POLY1305
  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-RSA-CHACHA20-POLY1305
暗号化スイートの設定変更
# ibmcloud cis domain-settings-update a4135402d38fff24e32ef13c82c1ab4a -f "ciphers" -v ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-ECDSA-CHACHA20-POLY1305,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-CHACHA20-POLY1305
Updating 'ciphers' for domain 'a4135402d38fff24e32ef13c82c1ab4a' to 'ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-ECDSA-CHACHA20-POLY1305,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-CHACHA20-POLY1305'...
OK

ID            ciphers
Editable      true
Modified On   N/A
Value
                 ECDHE-ECDSA-AES128-GCM-SHA256

                 ECDHE-ECDSA-CHACHA20-POLY1305

                 ECDHE-RSA-AES128-GCM-SHA256

                 ECDHE-RSA-CHACHA20-POLY1305

4. 再テスト

CISおよびhttps://www.ssllabs.com/ssltest/のキャッシュをクリアして再テスト。結果、利用できる暗号化スイートが大きく減った!

image.png
image.png

5. 設定を元に戻す(オプション)

# ibmcloud cis domain-settings-update a4135402d38fff24e32ef13c82c1ab4a -f "ciphers" -v default
Updating 'ciphers' for domain 'a4135402d38fff24e32ef13c82c1ab4a' to 'default'...
OK

ID            ciphers
Editable      true
Modified On   N/A
Value
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1