この実装ガイドでは、プロキシされた ホスト名向けの HTTP/S リクエストに対する L7(アプリケーション層)のセキュリティを扱います。クライアントと Cloudflare の 最初の接続 も含みます。
mTLS のよくある用途は次のとおりです。
- TLS/SSL ハンドシェイクで提示されるクライアント証明書を検証し、正当な API トラフィックを保護します。
- TLS/SSL ハンドシェイクで提示されるクライアント証明書を検証し、IoT デバイスの身元を確認します。
Cloudflare で mTLS を使う主な方法は 2 つです。Application Security(任意で API Shield を含む)を使う方法と、Cloudflare Access を使う方法です。違いは次の表のとおりです(すべてを網羅するものではありません)。
| 機能 | Application Security(クライアント証明書 + WAF) | Cloudflare Access(mTLS) |
|---|---|---|
| 主な用途 | 外部認証(API など) | 内部認証(従業員など) |
| 提供範囲 | デフォルトで、ゾーンあたり 100 件のクライアント証明書が無料で含まれます。証明書を増やす場合や API Shield の機能 が必要な場合は、アカウントチームにお問い合わせください。 | Zero Trust Enterprise のみの機能です。 |
| 認証局(CA) | Cloudflare 管理、またはお客様がアップロード(BYO CA)。お客様がアップロードできる CA は最大 5 件 のソフトリミットがあります。 | お客様のアップロードのみ(BYO CA)。最大 50 件の CA のソフトリミットがあります。 |
| クライアント証明書の詳細 | Cloudflare API、Cloudflare Workers、Managed Transforms を通じてオリジンサーバーへ転送されます。 | Cloudflare API、Cloudflare Workers、Managed Transforms を通じてオリジンサーバーへ転送されます。クライアント証明書のヘッダーと Cf-Access-Jwt-Assertion JWT ヘッダーもオリジンサーバーへ転送できます。 |
| クライアント証明書の失効 | WAF の Custom Rules で cf.tls_client_auth.cert_revoked を確認します。これは Cloudflare 管理の CA にのみ適用されます。BYO CA の場合は、Cloudflare Access と同じ方法になります。 |
Certificate Revocation List(CRL) を生成し、Cloudflare Worker で失効を適用します。 |