セキュリティチェックリスト

🌐 言語: 🇻🇳 Tiếng Việt · 🇬🇧 English · 🇯🇵 日本語(現在)

セキュリティチェックリスト — 時期ごとの確認とよくある間違い

はじめに

このページは GP247 サイトのセキュリティ確認リストで、時期ごとに分かれています:インストール直後、販売開始前、定期作業、 イベント発生時(従業員の退職、サーバーの移行、漏えいの疑い)。ページの最後には、よくある間違いとその影響、避け方をまとめています。 対象はサイトオーナーと技術担当者です。印刷するか、タスク管理ツールに写してチェックできます。各項目から 詳しい手順のページにリンクしています。

ひと目でわかる

サイトのライフサイクルに沿った 4 つの作業グループです。

flowchart LR
    A["インストール直後"] --> B["販売開始前"] --> C["定期作業<br/>毎月/四半期"]
    C --> C
    C -.-> D["イベント発生時"]
  • インストール直後 — 初期アカウントの置き換え、専用キーの設定、.env のバックアップ。
  • 販売開始前 — HTTPS、デバッグの無効化、.env がダウンロードできないことの確認、バックアップのスケジュール。
  • 定期作業 — 更新、ログの確認、復元テスト。
  • イベント発生時 — その日のうちに、正しい順番で行う。

インストール直後

販売開始前

  • APP_ENV=production、APP_DEBUG=false。管理画面のヘッダーに「DEBUG ON」ラベルがない — 本番環境の設定
  • HTTPS が有効、http:// が自動で https:// に切り替わる、APP_URL が https:// で始まる、SESSION_SECURE_COOKIE=true — 本番環境の設定
  • ドキュメントルートが public/ を指している。ブラウザで /.env を開くと 404 または 403 エラーになる — 本番環境の設定
  • LOG_LEVEL が warning または error — 本番環境の設定
  • データベースのパスワードとすべてのサンプルパスワードを変更した — 本番環境の設定
  • すべての管理者で二要素認証(プラグイン MFA)を有効にした — アカウントと権限
  • スタッフ 1 人に 1 つのアカウント、必要最小限の権限 — アカウントと権限
  • 使わない場合は REST API/MCP を無効にした — システムが守るもの
  • データベース + storage/app/ + app/GP247/ の自動バックアップのスケジュールがあり、1 つはサーバーの外にある — 暗号化キーとバックアップ

定期作業

毎月

四半期ごと

  • テストサイトにバックアップの復元を試す — 暗号化キーとバックアップ
  • ロールと権限を見直す:誰が Administrator を持ち、誰がファイル管理、プラグインのインストール、支払いの権限を持つか
  • REST API と MCP のトークンを見直す:使わないトークンを取り消す
  • 使わないプラグインを削除する

イベント発生時

従業員の退職 — 詳細

  • パスワードを変更してから、その人のアカウントを無効にする。MCP トークンを取り消す
  • その人が知っていた秘密情報(ホスティング、データベース、SMTP、決済ゲートウェイ)を変更する

サーバーの移行・サイトの複製 — 詳細

  • .env ファイルをそのままコピーする。php artisan key:generate を実行しない
  • php artisan gp247:doctor を実行する。secret_decryptable の行が PASS であること

漏えいの疑い — 詳細

  • 隔離 → 現状のバックアップ → パスワードとトークンの変更 → 提供元での秘密情報の変更 → .env が漏れた場合はキーの変更 → 調査 → 復旧

よくある間違い

次の 10 個の間違いが、実際のサイトで起きる事故の大部分を占めます。それぞれに影響と避け方を示します。

# 間違い 影響 避け方
1 .env をバックアップしない(キーを含む) サーバーが故障すると、SMTP パスワード、決済のシークレット、ライセンスが空になり、取り戻せない インストール直後と、編集するたびに .env をバックアップする — 詳細
2 稼働中のサイトで php artisan key:generate を実行する 全員がログアウトされる。Webhook のシークレットが壊れる。専用キーがなければ設定の秘密情報も失う 本番サイトでは絶対に実行しない。キーは手順どおりに変更する — 詳細
3 本番サイトで APP_DEBUG=true エラー時に、訪問者にパス、クエリ、設定が見える APP_ENV=production + APP_DEBUG=false — 詳細
4 .env.example をそのまま使う APP_ENV=local、LOG_LEVEL=debug、サンプルのデータベースパスワード 本番環境の変数一覧に沿って修正する — 詳細
5 .env を編集して php artisan config:clear を忘れる サイトが古い設定のまま動く。古いデバッグ設定も含む 編集するたびに php artisan config:clear を実行する — 詳細
6 .env を Git に入れる、またはドキュメントルートの誤り すべての秘密情報が漏れる .gitignore に .env を入れる。ドキュメントルートは public/ — 詳細
7 アカウント admin / admin を残す 数分で管理画面を乗っ取られる インストール直後に置き換える — 詳細
8 バックアップはあるが一度も復元を試していない 必要になって初めて、バックアップの不足や破損に気づく 四半期ごとに復元を試す — 詳細
9 本番環境で docker compose down -v データベースを含むボリュームが削除される docker compose down(-v なし)だけを使う — 詳細
10 出所のわからないプラグインをインストールする プラグインが .env とデータベースを読める GP247 のライブラリまたは信頼できる作者からだけインストールする — 詳細

条件と制約(操作の前に確認)

  • このチェックリストは最新のリリースを説明しています — 更新していないサイトでは、一部の画面やオプションがない場合があります。先に更新してください。
  • コマンドラインを使う項目にはサーバーの権限が必要です — コマンドラインのない共有ホスティングでは、技術担当者またはホスティング事業者に依頼してください。
  • チェックを終えても、ずっと安全というわけではありません — 定期作業の項目は繰り返し行う必要があります。

よくある質問(Q&A)

Q1: 時間がありません。最低限どの項目を行えばよいですか?

→ 3 つです:アカウント admin の置き換え、.env + データベースのサーバー外へのバックアップ、APP_DEBUG=false。

Q2: 共有ホスティングを使っています。コマンドラインなしでできる項目はどれですか?

→ ほぼすべてです:ファイルマネージャーでの .env の編集、ホスティングのコントロールパネルでの HTTPS の有効化とバックアップ、管理画面での作業。コマンドラインが必要なのは gp247:doctor、gp247:info、config:clear だけです — 使えなければホスティングに依頼してください。

Q3: 更新のときに「インストール直後」のチェックリストをもう一度行う必要がありますか?

→ ありません。更新のときは「定期作業」の項目と、GP247 を安全に更新するの手順を行ってください。

Q4: 表の間違いを 1 つしていたことに気づきました。サイトはすでに侵入されているのでしょうか?

→ 必ずしもそうではありません。すぐにその間違いを直し、「アクセスログ」と「ユーザー」画面で不審な兆候がないか確認してください。兆候があれば「漏えいの疑い」の項目に沿って対応してください。

Q5: このチェックリストで、専門家によるセキュリティテストの代わりになりますか?

→ なりません。これはすべてのサイトに必要な最低限の内容です。大規模なサイトや、多くの顧客データを扱うサイトは、定期的にセキュリティ診断を依頼することをおすすめします。


📅 最終更新: 2026-11-04 · ✍️ 作成者 (Author): GP247