対象:個人開発者・小規模運営者で、「セキュリティ対策、何をどこまでやれば"最低限"なのか分からない」人。ここでは攻撃手順は一切扱わず、業界標準とされる土台だけを、優先順位つきで1枚にまとめます。各項目は深掘り記事へリンクしているので、ここを起点に必要な所だけ読み進められます。
当サイトの視点:『全部やる』ではなく『この順で埋める』
個人や小規模では、できることを全部いっぺんにやる余力はありません。だからこそ順序が命です。一番上の「王国の鍵」を乗っ取られると、下のどんな対策も無意味になります(攻撃者があなたとして全部リセットできる)。逆に土台から順に埋めれば、限られた時間で被害確率を最大に下げられます。この記事は知識の網羅ではなく、「次にどこを埋めるか」を即決できる地図として書いています。
Tier 0 — 王国の鍵
多要素認証・ドメイン・DNS・メール・決済
Tier 1 — 秘密とコード
秘密をgitに入れない・コミット前検出・鍵の分離と失効
Tier 2 — アプリ本体
入力検証・認証/セッション・TLS/ヘッダ・メール認証
Tier 3 — パッチ・検知・復元
依存CVE監視・OS更新・SSH/FW・ログ・バックアップ
Tier 0 — 王国の鍵を守る(最優先)
ここが全ての前提です。ドメイン・メール・サーバ管理パネルを乗っ取られたら、他のどんな対策も無効化されます。攻撃者はあなたとしてパスワードをリセットし、DNSを書き換え、サーバに入れてしまう。だから最初に固めるのはここです。
フィッシング耐性のある多要素認証をかける
メールを「鍵の親」として最厳重に
復旧手段とバックアップコードを安全に保管
アカウントを使い分けて単一障害点を減らす
Tier 1 — 秘密とコードを漏らさない
当サイトの発端も、世の中の多くの事故も、ここの抜けから起きています。.envやAPIキーといった秘密が、コードや公開リポに紛れて流出するパターンです。
秘密はソースにもドキュメントにも書かない
.env等に分離し、gitから除外(.gitignore)。そもそも書かないのが最強の対策。コミット前に秘密を機械で止める
漏れたら『全部漏れた』前提で全ローテーション
トークンはスコープ限定・短命に
自前Gitなら特に注意
GitHubの「誤公開」が怖くて自前運用にしても、誤コミットは消えません。むしろGitHubが標準で持つ秘密ブロックが無い分、コミット前の秘密検出フックは自前運用では必須です。詳しくは 自前のGitサーバーとGitHub、どっちが安全か に整理しています。
Tier 2 — アプリ本体を堅くする
公開するWebアプリ自体の最低限です。新種の攻撃を防ぐより、よくある定番の穴を塞ぐのが本質。当サイトは各定番をそれぞれ用語ページで防御目線に翻訳しています。
入力を信用しない(定番の穴を塞ぐ)
認証・セッション・権限を正しく
TLSとセキュリティヘッダを効かせる
メールのなりすましを防ぐ
Tier 3 — パッチ・検知・復元
「侵入された後でも被害を小さく、早く立て直す」ための土台です。osv-scannerのような依存監視もここに入ります。
依存のCVEを機械で継続監視
OS・サーバを自動で更新
SSH・ファイアウォールを固める
最小権限で爆発半径を小さく
3-2-1バックアップ+復元テスト
ログを残して異常に気づけるように
どこから手を付けるか
「全部いますぐ」は現実的ではありません。やりがちな順序と、当サイトが勧める順序を比べます。
やりがちな順序(非効率)
- まず派手なアプリの脆弱性対策から始める
- 多要素認証は「後で」のまま放置
- バックアップは取っているが復元は試したことがない
- 秘密はとりあえず
.envにしたが検出フックは無し
当サイトが勧める順序
- Tier 0:王国の鍵(多要素認証・メール・ドメイン)を最初に固める
- Tier 1:秘密の流出を構造的に止める(コミット前検出+全ローテ方針)
- Tier 2:アプリの定番の穴を塞ぐ
- Tier 3:依存監視・更新・バックアップ復元で"立て直せる"状態に
当サイト自身もこの順で守っている
当サイトは、ここに書いた土台を自分自身に適用しています。専用サーバで他サービスと混ぜない(被害範囲の分離)/ホストごとに別の鍵/秘密はgitにもドキュメントにも書かない/依存のCVE監視を毎デプロイ前+日次で自動実行/別サーバへオフサイトバックアップ/外部リクエストは安全境界を通す。セキュリティを教えるサイトが自分で穴を持つわけにはいかない——だからこの優先順位を、まず自分で実行しています。発端になった事故も、新種の攻撃ではなく、この土台の一つの抜けから起きました。だからこそ、派手な対策より先に土台を、と繰り返し言っています。
次に読む
- 組織・チーム版:中規模〜大規模組織のセキュリティ最低限
- 自前運用:自前のGitサーバーとGitHub、どっちが安全か
- 依存監視:osv-scannerの導入と使い方 / CVEに後れを取らないしくみ
- 秘密:.envファイルと秘密情報 / 事故 キー漏洩で不正課金された話
- ツール:セキュリティヘッダ診断 / メール認証チェッカー / CVE/KEVルックアップ
よくある質問
Q個人開発で最初にやるべきセキュリティ対策は何ですか?
『王国の鍵』を守ることです。具体的にはドメイン登録業者・DNS・サーバ管理パネル・メール・決済アカウントに、フィッシング耐性のある多要素認証(パスキー/物理キー)をかけること。ここを乗っ取られると他の対策が全部無効化されるため、最優先です。
Q最低限の対策はどれも同じくらい重要ですか?
いいえ。重要度には明確な順位があります。当サイトは『①王国の鍵→②秘密とコード→③アプリ本体→④パッチ・検知・復元』の順で埋めることを勧めます。リソースが有限な個人は、上から順に埋めるのが最も事故を減らします。
Q依存パッケージのCVE監視も最低限に入りますか?
入ります。osv-scanner や pnpm audit で依存の既知脆弱性を機械的に継続チェックするのは、いまや業界標準です。多くの深刻事故は新種の攻撃ではなく、既知の穴(CVE)の放置から起きています。