CloudFlare Universal SSLのセキュリティリスク:無料でSSL/TLSが使えるとは思わないほうがいい

  • 投稿日:
  • by
  • Category:

はてなブックマークを見てたら人気エントリでこの話題が流れてきました。

パッと見てセキュリティ的に良くない点があるため、簡単に整理します。

Webで公開するシステムは、物理であろうとクラウドであろうと、Webサーバ―アプリケーションサーバ―データベースのような構成を取ります(Web3層モデルですね)。Webサーバのさらに外側にSSLアクセラレータやWebアプリケーションファイアーウォールなどのセキュリティやパフォーマンスのための装置があるにしても、バックエンドはシステムの内側にある管理された閉域ネットワークにあります。

CloudFlareはCDNサービスであり、システムの最も外側を担います。CloudFlareから自サーバへの接続方法は3通りあります。わかりやすい冒頭のブログ記事より:

  • Flexible SSL (つまりはSSLターミネーター。CFまではHTTPSで、CFから自分のサーバまではHTTP)
  • Full SSL (CFと自サーバまでもSSL、ただし証明書の検証しない)
  • Full SSL (strict)(CFと自サーバまでもSSL、証明書の検証もする)

インターネットというuntrasted networkをシステム内部、つまりバックエンドの一部として使用する構成になるため、「Full SSL (strict)」以外の選択肢はセキュリティ上の問題を認識した上で使用するべきです。特にFlexible SSLでの構成ではクライアントとCloudFlare間をSSLにした意味が失われてしまいます。

また、Full SSLにてオレオレ証明書を使用する場合では、SSL/TLSが提供するサーバ(クライアント)認証、暗号化、改ざん検出の3つの機能すべてを満たす事ができません。「通信路が暗号化されているからOK」ではないですよ。

という事で、CloudFlareはSSL/TLSの有無を問わずCDNとして使用するのが良いと思います。Full SSL (strict)でSSL/TLSするならば、自サーバも証明書ベンダから購入しましょう:-) 。あとCloudFlareの本機能のお知らせもチェック!:

このエントリーをはてなブックマークに追加

コメントする