HOME  /Cloudflare
 /Cloudflareで管理するドメインにHSTSを適用させる方法
2025年05月30日

Cloudflareで管理するドメインにHSTSを適用させる方法

ここではCloudflareで管理しているドメインにHSTS (Strict-Transport-Security)を適用させる方法を解説します。

1.HSTSの一般論

2.CloudflareのHSTS設定

1.HSTSの一般論

ここではHSTSとは何かの基本的な事を解説します。

下図はCloudflareのCDN(Contents Delivery Network)を利用しない接続図です。

■CloudflareはURLに対応するWebサーバのグローバルIPを返すだけです。

HSTSとは上図のWebサイトをアクセスする際にクライアント(ユーザーのブラウザ)にHTTPS通信を強制する機能になります。

 

似たものに[常に HTTPS を使用する]というリダイレクト機能がありますが、これはHTTPでアクセスがきた時に[HTTPSでアクセスして下さい]とブラウザにHTTP通信で返す機能です。

しかしこのHTTP通信の返信は暗号化されていないので、ここに改ざんが発生する可能性があります。

 

一方、HSTSはHTTPでの1回目のアクセス時に指定された期間はHTTPSでアクセスしろとブラウザに返信します。

よって次回アクセスがこの期間内の場合はHTTPS通信が強制されます。

これを[Max Age]と呼び、この値はサイトアクセス毎に更新されるので有効期限切れはありません。

 

しかし上記では1回目だけHTTPアクセスがありますが、[プリロード]を有効にしておくとGoogleが運営するHSTS先読みサービスにこのドメインが登録され、1回目のアクセスからHTTPS通信が強制されます。

 

また[HSTS ポリシーをサブドメインに適用する]を有効にしておくと、HSTSは総てのサブドメインにも適用されます。

 

注意点はサブドメインの中にHTTPサイトがあった場合は、当然このサイトはアクセスできなくなります。

よってHSTSを適用する前に総てのサイトがHTTPS対応になっているか?を確認する事が重要になります。

 

2.CloudflareのHSTS設定

Cloudflareにドメインやサブドメインを追加するとCDN(Contents Delivery Network)機能がONになり、接続関係は下図の様になります。

■CloudflareとWebサーバの接続は上図のトンネル以外にA/AAAA接続がありますがトンネル接続が利便性やセキュリティ面からお勧めです。

このCDNがONになると通信は下記の様に変わります。

①クライアント(ユーザーのブラウザ)とCloudflareのエッジサーバ

②CloudflareのエッジサーバとWebサーバ

よってHSTSは①の所でのやり取りになり②は関係ありません。

別の言い方をすると②の所でHTTP通信のWebサーバがあっても問題ないという事です。

 

Cloudflareを利用した通信は①の所で改竄が発生するとCloudflareのWAF(Web Application Firewall)が検知する筈です。

しかし①の所のHSTS機能がONならば、この段階での改竄が減る事を意味しています。

よってCloudflareのHSTSは、あまり深く考えずに設定しても問題ありません。

 

設定方法は下記になります。

1.Cloudflareダッシュボードにログイン

Cloudflareダッシュボードにアクセスし、アカウントにログインします。

 

2.該当のドメインを選択

ログイン後、管理したいドメインを選択します。

 

3.SSL/TLSに移動

ダッシュボードの左側にあるメニューから「SSL/TLS」セクションを選択します。

ここで、SSL/TLSに関する各種設定を変更できます。

 

4.エッジ証明書に移動

ダッシュボードの左側にあるメニューから「SSL/TLS」の「エッジ証明書」セクションを選択します。

ここで、エッジ証明書に関する設定を変更できます。

 

5.HSTSの設定

画面の中にあるHTTP Strict Transport Security (HSTS)の[HSTS を有効にする]を選択します。

注意書きを読み、「理解しました」を選択し、[次へ]を挿入します。

下記で設定し、[保存]します。

項目 設定 解説
HSTS (Strict-Transport-Security) を有効にする ON サイトにアクセスする際、ブラウザはHTTPSを強制します。
Max Age ヘッダー (max-age) 6月(推奨) ブラウザにHTTPSを強制する期間を指定します
HSTS ポリシーをサブドメインに適用する ON すべてのサブドメインにもHSTSを適用します。
プリロード ON サイトをHSTSプリロードリストに登録し、ブラウザが初回アクセス時からHTTPSを強制します。
No-Sniff ヘッダー ON ラウザがContent-Typeヘッダーに従ってファイルを処理するように強制し、不正なファイルの実行を防ぎます。セキュリティを強化します。

以上でクライアント(ユーザーのブラウザ)とCloudflareのエッジサーバのやり取りにHSTSが適用されます。

 


上記のドキュメントはClodflareのCDNの解説資料の一部で全体像はCDNドキュメント一覧を参照して下さい。


 

以上でこのドキュメントの説明は完了です。

関連ドキュメントは下記の関連記事一覧から探して下さい。


<関連記事一覧>

「cloudflare」に関連するドキュメントを表示しています。尚、このページネーションはJquryで制御しています。

WordPrssでCloudflareのCDNを利用する為には[Cloudflare]プラグインが必須になります。このプラグインはWPのコンテンツを更新した時にはCDNネットワーク内の関連キャッシュをクリアしてくれます。

ここではCloudflareのCDNの詳細設定メニュの(ネットワーク)について解説しています。

ここではCloudflareのCDNの詳細設定メニュの(Caching)について解説しています。

ここではCloudflareのCDNの詳細設定メニュの(スピード)について解説しています。

ここではCloudflareのCDNの詳細設定メニュの(セキュリティ)について解説しています。

ここではCloudflareのCDNの詳細設定メニュの(SSL/TSL)について解説しています。

Cloudflareに追加したドメインにVulnerability Reportがもらえる様にsecurity.txtを追加する方法を解説しています。これにより個々のWebサーバにsecurity.txtを追加する必要がなくなります。

CloudflareのCDNにWebサーバを登録する方法には①IPv4接続②IPv6接続③トンネル接続がありますが、③のトンネル接続は、サーバの負荷分散、変動IPでも更新タスクが不要、オリジンIPに対するDDoS対策が簡単等の多くのメリットがあります。

Cloudflareの[Email Routing]はCloudflareで管理しているドメインにメールアドレスを定義し、これを他のメールシステム(Gmail等)に転送するアプリケーションです。この機能を利用するとメールサーバを立てなくても企業ドメインのメールシステムが構築できます。

IPv4、IPv6アドレスを調べるとインターネットからのポート開放状況や利用しているCDNベンダを調べる事ができます。ここではこれらを調査する方法を詳しく解説しています。

DDoS攻撃には1.DNSサーバに対する攻撃、2.グローバルIPに対する攻撃、3.オリジンIPに対する攻撃があります。CloudflareのCDNを利用してDDoS攻撃対策をする為にはオリジンIPに対する攻撃も考慮する必要があります。

CloudflareのCDNは、Cloudflareの高速ネットワークの中にコンテンツをキャッシュしてくれると共に、1.IPv6対応、2.DDoS対策、3.WAF対策、4.ボット対策を行ってくれるCDNサービスです。

SynologyのWebサーバをCloudflareにtトンネルで接続する為には①Cloudflareとサーバ間にトンネルを作成する②トンネルにWebサーバを定義する皇都で行います。

SynologyのWebサーバをCloudflareにIPv6で接続する為には①Cloudflareに仮のAAAAレコードを作成し、Synology側からこのAAAAレコードを更新する方法で行います。

CloudfalreのCDNを利用する為には①Cloudflareアカウントの作成、②ドメインの追加、③CDNの設定に順番で設定していきます。また④Cloudflareアカウントの2要素認証も重要になります。

ここではXserverからドメイン名を取得する方法を解説しています。