Skip to contentセキュリティチェックリスト
1. デプロイ前チェック
- [ ]
docs/.vitepress/config.js の公開判定ルール(draft / private / internal / secret、および internal/private/secret/下書き/未公開/内部 タグ)の変更が想定通りか確認する。 - [ ]
npm run security:audit が通ることを確認する。 - [ ] 依存更新時は
npm ci → npm run docs:build → npm run security:metadata を実行し、公開メタデータの差分を確認する。 - [ ] Terraform 変更時は
terraform -chdir=terraform fmt -check、TF_DATA_DIR=/tmp/blog-terraform-security terraform -chdir=terraform init -backend=false、TF_DATA_DIR=/tmp/blog-terraform-security terraform -chdir=terraform validate を通す。 - [ ] deploy ワークフローの起動条件(push は
main のみ、workflow_dispatch は main / develop のみ)と production 環境・OIDC 設定が維持されているかを確認する。
2. デプロイ後チェック
- [ ]
npm run security:headers を実行し、HTTPS 応答に以下が揃っていることを確認する。 Strict-Transport-SecurityX-Content-Type-Options: nosniffReferrer-PolicyPermissions-PolicyContent-Security-Policy-Report-OnlyX-Frame-Options または CSP-Report-Only の frame-ancestors
- [ ]
http://garookie.com/ が https://garookie.com/ に 3xx リダイレクトされることを確認する。 - [ ]
docs/.vitepress/dist/sitemap.xml、feed.xml、posts-meta.json、robots.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.js の head にある GA4、ValueCommerce、Google Forms(iframe)に関する既存設定が維持されているか確認する。 - [ ] サイトマップとフィードに公開対象記事のみが含まれ、公開対象外記事が除外されていることを確認する。
- [ ] ページタイトル/説明文/OGP が崩れていないことを確認する。
4. 継続運用
- [ ] Dependabot の稼働(npm / GitHub Actions / Terraform)が有効であることを確認する。
- [ ]
npm run security:audit の結果を定期的に見直し、必要に応じて軽微な依存更新を行う。 - [ ] 本番ヘッダー・配信結果の検証は、非侵襲的手段(
curl 等、ヘッダー確認)に限定する。