Skip to content

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

1. デプロイ前チェック

  • [ ] docs/.vitepress/config.js の公開判定ルール(draft / private / internal / secret、および internal/private/secret/下書き/未公開/内部 タグ)の変更が想定通りか確認する。
  • [ ] npm run security:audit が通ることを確認する。
  • [ ] 依存更新時は npm cinpm run docs:buildnpm run security:metadata を実行し、公開メタデータの差分を確認する。
  • [ ] Terraform 変更時は terraform -chdir=terraform fmt -checkTF_DATA_DIR=/tmp/blog-terraform-security terraform -chdir=terraform init -backend=falseTF_DATA_DIR=/tmp/blog-terraform-security terraform -chdir=terraform validate を通す。
  • [ ] deploy ワークフローの起動条件(push は main のみ、workflow_dispatchmain / develop のみ)と production 環境・OIDC 設定が維持されているかを確認する。

2. デプロイ後チェック

  • [ ] npm run security:headers を実行し、HTTPS 応答に以下が揃っていることを確認する。
    • Strict-Transport-Security
    • X-Content-Type-Options: nosniff
    • Referrer-Policy
    • Permissions-Policy
    • Content-Security-Policy-Report-Only
    • X-Frame-Options または CSP-Report-Only の frame-ancestors
  • [ ] http://garookie.com/https://garookie.com/ に 3xx リダイレクトされることを確認する。
  • [ ] docs/.vitepress/dist/sitemap.xmlfeed.xmlposts-meta.jsonrobots.txt に公開対象外情報(draft/private/internal/secret 相当)が混入していないことを確認する。
  • [ ] posts-meta.json が配列で、各要素が title / url / tags / date のみを含むことを確認する。
  • [ ] sitemap.xml / feed.xml / posts-meta.json / robots.txt に機密情報を疑う文字列(AWS_ACCESS_KEY, SECRET, TOKEN, PRIVATE_KEY, BEGIN RSA, BEGIN OPENSSH)が含まれていないことを確認する。

3. GA4 / フォーム / SEO 影響確認

  • [ ] docs/.vitepress/config.jshead にある GA4、ValueCommerce、Google Forms(iframe)に関する既存設定が維持されているか確認する。
  • [ ] サイトマップとフィードに公開対象記事のみが含まれ、公開対象外記事が除外されていることを確認する。
  • [ ] ページタイトル/説明文/OGP が崩れていないことを確認する。

4. 継続運用

  • [ ] Dependabot の稼働(npm / GitHub Actions / Terraform)が有効であることを確認する。
  • [ ] npm run security:audit の結果を定期的に見直し、必要に応じて軽微な依存更新を行う。
  • [ ] 本番ヘッダー・配信結果の検証は、非侵襲的手段(curl 等、ヘッダー確認)に限定する。

Last updated: