CloudflareのSSL for SaaSプロバイダー

オンライン事業者にとって、SSL/TLS暗号化を採用することは従来セキュリティ上のベストプラクティスでしたが、より安全なインターネットの構築を目指す大手テクノロジー企業からの圧力によって、これが必須要件となりつつあります。たとえばGoogle ChromeのWebブラウザーでは、2016年末より、HTTPSを使用しないWebサイトをユーザーにとって「安全でない」と明示するようになりました1。同時に、MozillaのFireFoxのWebブラウザーでは、HTTPSによって保護されていない情報フォームを提出しようとするユーザーに対して、深刻な警告を出すようになりました。2

Chrome 68によるHTTPページの処理

CloudflareのSSL for SaaSでは、SaaS企業のエンドカスタマーはカスタムバニティドメインを使用したまま、SSLによる通信を確保できます。エンドカスタマーのメリットには、ブランド名が含まれる訪問者の体験、信頼性の向上、SEOランキング、HTTP/2を使用した高速化などがあります。Cloudflareでは、購入から導入までのSSLライフサイクル全体を自動化しており、証明書の更新は数分で完了するため、顧客のオンボーディングフローの一環として、SaaS企業はこのメリットを提供できます。

お問い合わせ

SaaSプロバイダーがエンドカスタマーのSSLのニーズに対応する場合のシナリオには次の3つがあります。

暗号化未対応でブランド名が含まれるバニティドメイン

SSLを使用しないカスタムバニティドメインは、SSLによるパフォーマンスの利点がなく安全にデータを転送できません。のぞき見に対して脆弱なために訪問者が閲覧する前にコンテンツが編集されたりインジェクション攻撃を受けるおそれがあります。

暗号化に対応済みでブランド名が含まれないドメイン

SaaSプロバイダーを通じてSSLに対応済みでカスタムバニティドメインでないドメインは結果的にブランド力やSEOランキングが低くなります。

困難な社内での対応

暗号化したうえでブランド名を含むドメインを希望するSaaSプロバイダーはSSLのライフサイクルを手動で管理することができますが、展開期間が長期に及んで間接費がかかるか、複雑な自動ソリューションを社内で構築する結果になります。

「SSL for SaaSでは、CloudflareのAPIが顧客のSSL証明書のプロビジョニング、サービス提供、自動更新、保守を処理するため、フローはよりシンプルになりました。さらに、エンドツーエンドのHTTPSにより、顧客のプライバシーとパフォーマンスを強化し、ローカルストレージなど以前は使用できなかったブラウザー機能を活用できるようになりました」
Andrew Murray氏
Olo最高技術責任者

SaaS製品のパフォーマンスとセキュリティの最適化をご希望ですか?

Cloudflareにお問い合わせください。

Cloudflare Argo avoids congestion

ブランド名の含まれる訪問者の体験

ブランド名が含まれるカスタムドメインをエンドカスタマーに提供するオプションを持つSaaSプロバイダーは、それを継続したまま完全に管理されたSSL証明書の追加メリットを得ることができます。ブランド名が含まれるドメインは、エンドカスタマーに高いSEOランキングを提供し、訪問者の信頼を向上させます。

Cloudflare Argo reuses connections

顧客資産の安全性とパフォーマンスを確保

エンドカスタマードメインのSSL/TLS証明書は、重要な顧客データの安全な転送を保証し、中間者攻撃やネットワークののぞき見を防ぎます。さらに、HTTP/2プロトコルを使用することで、速度はさらに高速になります。

Cloudfare Argo works on Cloudflare's private network

SSLライフサイクルの自動管理

Cloudflareは、SaaSプロバイダーが提供する顧客のバニティドメインのSSLのライフサイクル全体において、プライベートキーの作成や保護から、ドメインの検証、発行、更新、再発行にいたるまで管理します。

Cloudflare Argo tiered caching

グローバルSSLを迅速に展開

SSL発行プロセスにおいて、Cloudflareは、グローバルネットワークの%_DataCenterCount_か所のデータセンターで新しい証明書を展開し、訪問者に可能な限り近いHTTPSを数分でオンラインにします。

社内SSLソリューション構築における課題

カスタムバニティドメイン向けの社内SSLソリューションを構築するためには、2つの方法があります。ただし、どちらもSaaSプロバイダーとエンドカスタマーの両者に大きな負担がかかります。下図の自動化されたパス(上部)はSSLプロセスを自動化しますが、大規模なエンジニアリングが必要で、数々の複雑なセキュリティの課題も伴います。手動のパス(下部)は、SaaSプロバイダーと顧客の両者の努力が必要となり、証明書有効期限の喪失と停止が見逃される可能性が高くなります。どちらのパスを選択するとしても、大規模なグローバル配信ネットワークにSSL証明書を展開できない限り、パフォーマンスは低下する可能性があります。

HTTPのみ CNAME 手動で 証明書を アップロード 手動で 証明書の ライフサイクルを 管理 顧客対応チームの 立ち上げ/ トレーニング カスタムAPI 統合(例: Let’s Encrypt 使用) 時間 エンジニアリング 労力 自動パス 手動パス Webサイトの 増加数あたり グローバル 証明書を 配布する ネットワーク 顧客の努力を 伴う 手動による更新 高度な 課題 暗号化キーの 安全な取り扱い 継続的な 保守と サポート続行の ための労力 Cloudflareパス 簡単なCloudflare API/ UI統合

HTTPのみのCNAME

SaaSプロバイダーのエンドカスタマーは、CNAMEを設定したカスタムバニティドメインでHTTPトラフィックを送受信しているだけです。

SSL for SaaSの仕組みについて

SSL for SaaSのプロセスはCloudflareがすべて行います。SaaSプロバイダーに必要な操作は、エンドカスタマーのカスタムドメインオンボーディングワークフローの一環として、単一のAPI呼び出しを送信するか、Cloudflareのダッシュボード内で数回クリックするのみです。その後、SaaSプロバイダーのエンドカスタマーは、最初のCNAMEをSaaSプロバイダーのドメインに追加するのみです。残りのカスタムドメインのオンボーディングプロセスは、Cloudflareがすべて管理します。

Cloudflareが管理する残りのプロセスは、次のとおりです。

  • SSL証明書発行用のエンドカスタマーのカスタムドメインの検証を認証機関に要求する。
  • 認証機関から検証トークンを受け取り、Cloudflareのエッジからアクセスできるようにする。
  • 認証機関にHTTP検証を完了するように指示し、SSL証明書の発行を認証機関に要求する。
  • 証明書を受け取り、世界中の%_DataCenterCount_か所以上のデータセンターにあるCloudflareのネットワークエッジにプッシュし、レイテンシーとTLSのパフォーマンスを最適化する。

よくある質問

Q:顧客のトラフィックはどのように配信元に送信されますか?安全ですか?

A:安全です。Cloudflareでは、FullまたはStrict SSLモードの使用を推奨しています。そうすることで、配信元へのトラフィックにはHTTPSが使用されます。このオプションは、ゾーンのCryptoタブで設定できます。Strictモードを使用している場合は、配信元の証明書に顧客のホスト名と一致するSubject Alternative Names(SAN:サブジェクトの別名)が含まれていることを確認する必要があります(例:support.yourcustomer.site)CloudflareのOrigin CA製品は、Strictモードでこれらの証明書を作成するために使用できます。

Q:証明書を発行して使用できるまでの時間はどのくらいですか?

A:証明書は通常数分以内に検証、発行され、Cloudflareのエッジにプッシュされます。GETを呼び出すことにより、初期化中、検証保留中、発行保留中、展開保留中、アクティブなどの進行状況を確認できます。

$ curl -sXGET -H "X-Auth-Key: [YOUR KEY]" -H "X-Auth-Email: [YOUR EMAIL]" https://www.cloudflare.com/api/v4/zones/[ZONE ID]/custom_hostnames?hostname=support.yourcustomer.site
{
  "result": {
  "id": "cdc2a12a-99b3-48b8-9039-ad1b48c639e5",
  "hostname": "support.yourcustomer.site",
  "ssl": {
  "id": "3463325d-8116-48f3-ab4e-a75fb9727326",
  "type": "dv",
  "method": "http",
  "status": "active"
  }
},
  "success": true
}

Q:更新や再発行の際に、プロバイダーまたは顧客に必要な手続きはありますか?

A:いいえ。Cloudflareがすべての手続きを代行します。発行する証明書は1年間(365日)有効で、有効期限の少なくとも30日前に自動更新が行われます。これらの証明書は顧客のホスト名で一意的に発行されるため、CNAMEが存在する限り、そのホスト名の「ドメイン検証コントロール」を実証することで簡単に更新を続けることができます。顧客が他のサービスに乗り換えた場合は、CloudflareにDELETE(削除)リクエストを送信してください。Cloudflareがエッジから証明書を引き出すことで、更新を停止できます。

Q:Cloudflareの顧客へのメリットは何ですか?

A:顧客のDNSインフラストラクチャの保護を除き(信頼できるネームサービスに顧客がCloudflareを使用していない限り)、顧客はすべてのメリットを受けることができます。顧客のトラフィックがホワイトラベルのホスト名をポイントすると、Cloudflareは業界をリードするDDoS保護、CDN、WAF、HTTP/2、負荷分散などを提供できます。

Q:顧客がすでにカスタムホスト名でHTTPSを使用している場合はどうなりますか?移行中にダウンタイムを避ける方法はありますか?

A:顧客から提供されたキーマテリアルに基づいて、すでに内部的にソリューションを組み合わせている場合があります。または、顧客がHTTPSを提供する競合他社(または社内ソリューション)で希望のホスト名を使用していて、短期の保守期間が許容されない場合もあります。

このようなケース向けに、SSL for SaaS製品(メールとCNAME)の専用証明書に利用できる、2つの代替の「事前検証」の手法を用意しました。上のAPI呼び出しでSSLの手法を「http」から「email」または「cname」に変更してリクエストを送信するだけです。詳細については、APIの資料を参照してください。

他の代替手法であるCNAMEトークンは、一般的にバニティネームのDNSをコントロールする際に使用されます(SaaSの一部の顧客、特にWebサイトの構築サービスやホスティングサービスを提供する顧客の一部で、カスタムドメインをワークフローの一部として登録できるようにします)。

最後に、配信元の「http」検証手法によって返されたHTTPトークンを自由に提供できます(Cloudflareがリバースプロキシ中に挿入するのではなく)。Cloudflareの自動再試行キューは、実行された時点で検出します。一旦Cloudflareを実行してすぐに再試行を希望する場合は、POST中に送信したのと同じSSL本体を使用してPATCHをエンドポイントに送信すると、Cloudflareはすぐにチェックを行います。

SaaS製品のパフォーマンスとセキュリティの最適化をご希望ですか?

Cloudflareにお問い合わせください。