Help us understand the problem. What is going on with this article?

IBM Cloud Internet Services (CIS)を使ってみた(TLSオプション)

More than 1 year has passed since last update.

はじめに

下記の続きです。
https://qiita.com/y_tama/items/9151b4c981abbb65c53d

CISのTLSオプションを使って、下記の通信の暗号化について制御し、ウェブサイトのセキュリティを向上させられます。

・エンドユーザーとCIS間の通信
・CISとオリジンサーバー間の通信

CISのTLSオプションには下記の4種類があります。下に行くほどセキュアになります。

TLSオプション エンドユーザーとCIS間 CISとオリジンサーバー間 備考
Off No No HTTP通信
Client-to-Edge Yes No CISとオリジンの間は暗号化されない
End-to-End flexible Yes Yes(自己署名証明書) DNSのオリジンのレコードが適切であればセキュア
End-to-End CA signed Yes Yes(CA署名証明書) 最もセキュア

参考:
https://console.bluemix.net/docs/infrastructure/cis/ssl-options.html#tls-options
https://support.cloudflare.com/hc/en-us/articles/200170416-What-do-the-SSL-options-mean-

本番業務で使う際は、最もセキュアな一番下の「End-to-End CA signed」が妥当と思いますが、下から2番目の「End-to-End flexible」は追加費用がかからずEnd-to-Endで暗号化できるため、開発・検証であれば悪くない選択肢に見えます。

image.png

このオプションの良いところは、エンドユーザーとCIS間の通信には、CISが提供する署名済みの証明書が使用されるため、ユーザー側のブラウザには自己署名証明書の警告メッセージが出ない点です。このオプションの場合、オリジンサーバーには自己署名照明を使うのでCISには警告メッセージが届いているはずですが、CISがこれを無視するので、ユーザーは裏で自己署名証明書が使われていることを意識しません。

今回は、この「End-to-End flexible」オプションを試してみます。

End-to-End flexibleオプションの設定

CISのSecurityのページで、「End-to-End flexible」を選択します。CIS側で、自身のドメインに対する証明書が用意されます。この証明書が、エンドユーザーのブラウザとCIS間の通信で使われます。

image.png

オリジン側に証明書を設定

オリジンサーバー側は、自己署名証明書を作成します。
探せば多くの情報が見つかるので詳細は省きますが、Linux上でopensslコマンドでサーバーの秘密鍵と自己署名証明書を作成しました。

今回は、オリジンサーバー側はIBM Cloud Load Balancer(と、その配下のウェブサーバー)なので、Cloud Load Balancerに、作成した自己署名証明書を配置し、そこで復号する構成とします。(Cloud Load Balancerとウェブサーバー間は、PrivateネットワークをHTTPで通信。)

管理ポータルのSecurity>SSL>Certificatesで、作成した自己署名証明書をインポートします。

image.png

自己署名証明書と、サーバー秘密鍵の情報をペーストし、Submitします。

image.png

image.png

Cloud Load Balancerで、HTTPSをプロトコルとして追加し、今、追加した自己署名証明書を選択します。

image.png

アクセスして確認

ブラウザから、Cloud Load BalancerのFQDNにアクセスすると、想定通り、自己署名証明書についての警告メッセージが出ます。例外に追加すると、ウェブサーバーのコンテンツにアクセスできます。

image.png

次に、CIS経由にするために、自身のドメインを指定してアクセスすると、特に警告メッセージが出ることなくコンテンツにアクセスできます。

image.png

エンドユーザーのブラウザとCIS間は、COMODOの証明書が使われていました。

image.png

ということで、End-to-EndのTLS化が可能な「End-to-End flexible」オプションを試しました。
本番業務で使う際は、CA署名の証明書を使う「End-to-End CA signed」が妥当と思いますが、開発・検証であれば「End-to-End flexible」は追加費用もかかりませんので、選択肢に含めてもよいかもしれません。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away