詳しい情報技術ノート

技術ノート:
設定の意味と、検証の限界

技術者・情報システム担当者向け

まず一言でいうと

HTTPS・HSTS・CSPなどの設定は、特定の攻撃を成り立ちにくくしたり、影響を小さくしたりする追加の守りです。サーバーの中の情報や、管理画面のログインを直接守るものではありません。設定には副作用があり、外部の診断ツールで見えるのは公開された応答の一部だけです。

このページでわかること

  • 通信の暗号化(TLS/HTTPS)とHSTSの効果と注意点
  • 主なHTTPセキュリティヘッダーの役割・副作用・根拠
  • ヘッダーでは守れないもの(認証・認可、部品の更新、保管データ、監視)
  • 外部診断の観測範囲・判定できない項目・誤検知と見逃し
  • 変更の進め方と、すぐには戻せない設定
  • 読む時間の目安:約12分
  • 参考資料の確認日:2026年10月22〜23日

01

このノートの前提

  • 設定の意味と根拠と制約を整理するためのノートです。設定変更のコマンドや、攻撃の再現手順は載せていません。
  • 本番環境で試すことは勧めません。変更は、権限のある管理者・保守会社が、検証環境と承認手続きを通して行います。
  • 初めての方は、先に入門ガイドや情報を守る対策の全体像を読むと、位置づけがつかみやすくなります。

本文では、主張の確からしさを次の4つで区別しています:観測 特定の条件で確認した事実/一般 一般に起こり得る仕組み/条件付き 構成や権限が満たされた場合/要調査 外からは結論できず内部確認が必要。

02

通信:TLS/HTTPS と HSTS

HTTPS(TLS)が守るもの・守らないもの

HTTPSは、閲覧者のブラウザとWebサーバーの間の通信を暗号化し、通信相手が正しいサーバーであることを確かめる仕組みです。通信の途中での盗み見や書き換えを防ぎます。一般

一方で、サーバーに届いたあとのデータ、サーバーの設定、CMSの弱点、管理画面のパスワードは、HTTPSでは守れません。「鍵マークがある=サイトが安全」ではありません。

HSTS:常にHTTPSで接続させる指示

HSTS(HTTP Strict Transport Security)は、「このサイトには一定期間、HTTPSでしか接続しないこと」をブラウザに覚えさせる応答ヘッダーです。利用者が http:// のアドレスを開いても、ブラウザがHTTPSに置き換えて接続します。

表:HSTSの主な指定と注意点
指定意味注意点
max-ageブラウザがHTTPSのみで接続する期間(秒)期間中は、設定をやめてもブラウザに残る。対象から外すには max-age=0 を受け取らせる必要がある
includeSubDomainsサブドメインにも適用するHTTPでしか提供できないサブドメインがあると、そこへ接続できなくなる
preloadブラウザに組み込まれた一覧への登録を希望する登録されると長期間にわたる影響を持ち得る。慎重に判断する

HSTSの最も大きな注意点

  • HSTSが有効な間に、証明書の期限切れなどHTTPSの問題が起きると、ブラウザは警告を無視して進むこともできず、利用者はサイトを開けなくなります。行政サービスの停止につながるため、証明書の自動更新と監視が前提になります。
  • 短い max-age で始めて問題がないことを確かめてから延ばす、段階的な導入が勧められています。
詳しく:根拠
  • RFC 6797:http の参照を https に変換(2.2)、max-age の間 Known HSTS Host とみなす(6.1.1)、includeSubDomains(6.1.2)、証明書の検証エラーを含むエラーで接続を打ち切る(8.4)、利用者が回避できない(12.1 No User Recourse)、max-age=0 で対象から外れる(6.1.1)
  • OWASP HTTP Headers Cheat Sheet:HSTSの誤設定や証明書の問題があると、正規の利用者がサイトにアクセスできなくなる場合がある
  • OWASP HTTP Strict Transport Security Cheat Sheet:includeSubDomains の影響、短い max-age での試行、preload の影響

03

ブラウザへの指示:HTTPセキュリティヘッダー

HTTPセキュリティヘッダーは、Webサーバーが応答と一緒にブラウザへ送る「安全な動作の指示」です。ブラウザ側で特定の攻撃を成り立ちにくくします。サイトの作りの弱点そのものを直すものではありません。

表:主なヘッダーの役割と注意点(値の例は代表的な推奨。各サイトの事情に合わせて検討する)
ヘッダー何をする抑えるもの副作用・注意
Content-Security-Policy(CSP) ページが読み込んでよい場所や、実行してよいスクリプトを指定する クロスサイト・スクリプティング(XSS)などの影響 許可していない外部の読み込みや、ページ内に直接書かれたスクリプトが止まる。XSS対策の唯一の手段にしない
CSP frame-ancestors/X-Frame-Options 他のサイトがこのページを枠(iframeなど)の中に表示できるかを指定する クリックジャッキング(見えない枠で操作させる手口) 対応するブラウザでは frame-ancestors が X-Frame-Options に代わる。他サイトへの埋め込みを意図している場合は許可先を検討
X-Content-Type-Options: nosniff 応答の種類(Content-Type)を推測せず、示されたとおりに扱わせる 種類の取り違えを悪用した攻撃 サイト全体で Content-Type を正しく設定しておく必要がある
Referrer-Policy リンク先へ、どのページから来たかをどこまで伝えるかを指定する アドレスに含まれる情報の外部への漏れ ブラウザの既定値に頼らず、明示的に指定することが勧められている
Server などの情報を示すヘッダー サーバーソフトの名前やバージョンを示す (削除・情報を減らすことで)攻撃者の下調べの手がかり 隠しても、他の方法で推測される。更新の代わりにはならない
詳しく:根拠
  • OWASP Content Security Policy Cheat Sheet:CSPは信頼する読み込み元を指定する。default-src や script-src が有効な場合、既定でインラインのスクリプトを無効にする。XSSに対する唯一の防御として頼るべきではない
  • W3C Content Security Policy Level 3(2026年9月16日付 Working Draft):frame-ancestors はリソースを埋め込める URL を制限する。form-action はフォームの送信先として使える URL を制限する
  • OWASP HTTP Headers Cheat Sheet:X-Frame-Options はクリックジャッキング対策に使え、CSP frame-ancestors が対応ブラウザで X-Frame-Options に代わる。X-Content-Type-Options: nosniff と Content-Type の正しい設定。Referrer-Policy: strict-origin-when-cross-origin を明示的に設定。Server ヘッダーは削除か情報を持たない値に(攻撃者は他の方法でも特定し得る)

04

ヘッダーでは守れないもの

ヘッダーは「ブラウザでの動き」を制御します。次のものは、ヘッダーの外にある別の対策で守ります。

表:ヘッダーの外にある主な対策と、OWASP Top 10:2025 の対応する分類
対象主な対策関連する分類
認証多要素認証。方式によって強さが違い、SMSや手入力のコードはフィッシングに弱い。WebAuthn(FIDO2)はフィッシング耐性を持つ方式の例A07 認証の不備
認可(権限)最小権限、管理機能へのアクセス制御、権限の昇格を防ぐ設計A01 アクセス制御の不備
CMS・依存する部品使っている部品とバージョンの把握、脆弱性情報の監視、不要な部品の削除、段階的な更新A03 ソフトウェアサプライチェーンの不備
設定全般不要な機能・サービスの停止、既定値の見直し、公開用ディレクトリに置くファイルの管理A02 セキュリティ設定の不備
保管データ・バックアップ保存先と閲覧権限の把握、世代管理されたバックアップと復元の確認(組織の運用)
監視・ログログの取得と、誰かが確認・通知を受ける体制A09 セキュリティログとアラートの不備

初心者向けの説明は情報を守る対策の全体像(8つの対策)にあります。根拠の詳細は同ページの出典欄と、資料案内を参照してください。

05

誤設定による影響と、変更の進め方

セキュリティ設定は、強くするほど「許可していないもの」が止まります。自治体サイトでは、次のような機能に影響が出ることがあります。条件付き

  • 変更CSPで読み込み元を絞る

    起こり得る影響外部の地図・動画・SNSの埋め込み、アクセス解析、ページ内に直接書いたスクリプトが動かなくなる

  • 変更CSPの form-action でフォームの送信先を絞る

    起こり得る影響外部のフォームサービスや申請システムへの送信が止まる

  • 変更frame-ancestors/X-Frame-Options で埋め込みを禁止する

    起こり得る影響他のサイトや庁内ポータルにページを埋め込んで表示している場合、表示されなくなる

  • 変更HSTSの includeSubDomains を付ける

    起こり得る影響HTTPでしか提供していないサブドメインのサービスに接続できなくなる

安全な進め方

  1. 現状を棚卸しする使っている外部サービス、埋め込み、フォームの送信先、サブドメイン。
  2. 完成形を設計する何を許可し、何を止めるか。止まる機能の代わりも含めて決める。
  3. 強制せずに試すCSPは Report-Only で違反だけを記録し、影響を確かめられる。
  4. 検証環境で確かめる主要ページ・フォーム・地図などの動作を確認。
  5. 戻し方を決めて適用すぐに戻せない設定(HSTS)は特に慎重に。
詳しく:根拠
  • W3C CSP Level 3 3.2:Report-Only で、ポリシーを強制せずに効果を監視して試すことができる
  • OWASP Content Security Policy Cheat Sheet:Report-Only での段階的な導入
  • IPA「安全なウェブサイトの作り方」はじめに:保険的対策は、内容によっては本来の機能を制限することがあり、副作用の影響も考慮する必要がある(PDF p.6)

「地図・動画・SNS・解析・外部フォーム」という具体例は、資料に書かれた仕組みからの当てはめです。実際の影響は、サイトの構成ごとに確かめる必要があります。

06

検証の考え方と限界

外部の診断ツールで「見える」範囲

公開情報に基づく診断ツールは、外部から取得できる応答(ヘッダー、証明書、公開ページのHTML、DNSの公開情報など)を見て判定します。サーバーの内部、管理画面の設定、保管データの扱い、バックアップ、運用体制は見えません。要調査

  • 巡回する範囲が限られる:トップページなど数ページしか見ない場合、他のページの状態はわかりません。
  • 判定できない項目がある:条件がそろわない項目は「対象外」などとして判定から外れます。点数は「判定できた項目について」の結果です。
  • 誤検知と見逃し:外から見える兆候から推定する項目は、実際とずれることがあります。
  • 条件で結果が変わる:入力するアドレス(http か https か)や、確認した時点によって結果が変わることがあります。比較するときは条件をそろえます。

内部の確認と、脆弱性診断

サイトの作りの弱点は、ソースコードの確認や、ウェブアプリケーションに対する脆弱性診断で調べます。総務省ガイドラインの解説も、開発者が気付かない脆弱性が残る可能性に触れ、診断の種類を使い分けることを示しています。どちらも、管理者の承認と対象範囲の合意のうえで、許可された専門家が行います。

結果の書き方

検証の結果は、何を、いつ、どの方法で、どこまで見たかと、見ていないものを一緒に残します。「問題が見つからなかった」と「安全である」は同じではありません。自社サイトでの記録の例はRe:meの改善記録にあります。

詳しく:根拠
  • 総務省ガイドライン(令和8年3月版)第3編 解説:脆弱性を含まないように開発しても、開発者の気付かない脆弱性が存在してしまう可能性がある。脆弱性診断にはソースコード診断、ウェブアプリケーション診断等の種類があり、必要に応じて使い分ける(PDF p.241)
  • 巡回範囲・判定できない項目・条件による結果の違いは、Re:meが自社サイトで利用した外部診断ツールの診断レポートと公開されている判定基準から確認した事項です(改善記録の「限界」)。他のツールには当てはまらない場合があります

08

参考資料

公開元のページまたは本文で、名称・版・該当箇所を確認しました(確認日は各項目に記載)。