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