ブログを「30秒で安全確認できる」サイトにしてみた


結論から。 ブログを「外から覗かれない・盗まれない」ことを目に見える形で宣言したサイトに作り直した。 パソコンに詳しくない人でも30秒で安心できる作りにした。

なぜやったか

ある個人用ツール(人生の振り返りに使うHTML)を作っていて気づいた。 「このページは安全?個人情報が漏れない?」を、パソコンに詳しくない人にどう保証するか問題。

通信記録を見せる・第三者に診断を頼む・どれも「使う人側の手間」。 作る側で構造的に解決したい。

その流れで、ブログ本体も同じ考えで作り直した。

やったこと(家のたとえで)

ブログを「家」と思って読んでください。

仕掛け家でいうと
CSP「この家から外には何も持ち出させない」とブラウザに張り紙
HSTS「この家にはHTTPS(鍵付きドア)からしか入れない」とブラウザに覚えさせる
COOP / CORP隣の家の窓から覗いたり、家具を持ち出させない仕組み
X-Frame-Options他サイトに「自分の家」を枠で囲って見せかけられないよう拒否(だまし討ちクリックの防御)
Permissions-Policyカメラ・マイク・位置情報など、家の便利機能を最初から「使わない」と宣言
DNSSEC家の住所が改ざんされていないか、訪問者がたどり着く前に毎回チェック
Bot Fight Mode玄関に「ロボットお断り」の自動判定札

全部 Cloudflareの設定と、_headers(小さな注意書きファイル)だけで完結。 新しいコードは書いていない。

哲学

セキュリティで一番強いのは「そもそも持たない・預からない・置かない」。

  • 静的サイト(ネット上に「家の中の人」がいない、完成した文書だけのサイト) → 家に侵入する概念が存在しない
  • データベース(会員名簿)を置かない → 名簿を盗まれる概念が存在しない
  • ログイン機能(合言葉)を扱わない → 合言葉を破られる概念が存在しない
  • 個人情報を預からない → 漏らす情報そのものがない

そこに「ブラウザが強制する宣言」を上から重ねれば、 **「作った人の善意」ではなく「ブラウザのルール」**として安全が守られる。 誰かが私のサイトを乗っ取ろうとしても、ブラウザ側が強制で止める。

数字

項目
追加した「ブラウザ向け注意書き」7種
Cloudflareの設定変更3つ(HSTS・DNSSEC・Bot Fight Mode)
かけた時間約1時間
追加した月額費用0円
訪問者の確認の手間30秒(CSP宣言の1行を見るだけ)

学び

  • Cloudflareの設定画面の一部は AI からの自動操作を弾く設計で、結局手で押した
  • 個人ブログより、お問い合わせフォームや決済のある商用サイトほど効果が大きい
  • 「鍵を厳重にする」より「そもそも盗まれるものを置かない」のほうが本質的に強い