Skip to content

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

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

Section titled “✅ セキュリティチェックリスト”

セキュリティ対策を実施する際のチェックリストです。このチェックリストに従うことで、基本的なセキュリティ対策を実施できます。

🎨 フロントエンドのセキュリティチェックリスト

Section titled “🎨 フロントエンドのセキュリティチェックリスト”
  • ユーザー入力を適切にエスケープしている
  • dangerouslySetInnerHTMLを使用する場合は、DOMPurifyでサニタイズしている
  • Content Security Policy(CSP)を設定している
  • インラインスクリプトの使用を避けている
  • CSRFトークンを実装している
  • SameSite Cookieを設定している
  • カスタムヘッダーを使用している
  • 状態変更操作(POST、PUT、DELETE)にCSRF対策を実装している
  • APIキーをクライアント側に保存していない
  • 認証情報をクライアント側に保存していない
  • 環境変数がクライアント側で公開されていないか確認している
  • プロキシサーバーを使用してAPIキーを保護している
  • サーバー側で認証チェックを実施している
  • JWTトークンを適切に管理している
  • トークンの有効期限を適切に設定している
  • ログアウト時にトークンを無効化している
  • 詳細なエラーメッセージをユーザーに表示していない
  • エラーログを適切に管理している
  • 機密情報エラーメッセージに含まれていない

🖥️ バックエンドのセキュリティチェックリスト

Section titled “🖥️ バックエンドのセキュリティチェックリスト”
  • パラメータ化クエリを使用している
  • ORM(JPA/Hibernate)を使用している
  • 入力値の検証を実施している
  • 動的SQLの構築を避けている
  • すべてのAPIエンドポイント認証チェックを実施している
  • ロールベースアクセス制御(RBAC)を実装している
  • リソースベース認可を実装している
  • セッション管理を適切に実施している
  • パスワードをハッシュ化して保存している
  • 強力なハッシュアルゴリズム(bcryptArgon2)を使用している
  • パスワードの強度チェックを実施している
  • パスワードリセット機能を適切に実装している
  • 詳細なエラーメッセージをユーザーに返していない
  • エラーログを適切に管理している
  • 機密情報エラーメッセージに含まれていない
  • スタックトレースをユーザーに返していない
  • ファイルの種類を検証している
  • ファイルサイズを制限している
  • ファイル名をサニタイズしている
  • ファイルの内容を検証している(MIMEタイプのチェック)
  • ウイルススキャンを実施している
  • すべての入力値を検証している
  • データ型の検証を実施している
  • 長さの検証を実施している
  • 形式の検証を実施している(メールアドレス、電話番号など)

🏗️ インフラのセキュリティチェックリスト

Section titled “🏗️ インフラのセキュリティチェックリスト”
  • VPCを適切に設定している
  • セキュリティグループを適切に設定している
  • WAF(Web Application Firewall)を導入している
  • DDoS対策を実施している
  • 転送中のデータを暗号化している(TLS/SSL
  • 保存時のデータを暗号化している
  • キー管理を適切に実施している(AWS KMSHashiCorp Vault
  • セキュリティイベントを監視している
  • ログを適切に管理している
  • 異常なアクセスを検知している
  • アラートを設定している

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

  • フロントエンド: XSS対策、CSRF対策、機密情報の保護、認証・認可、エラーハンドリング
  • バックエンド: SQLインジェクション対策、認証・認可、パスワード管理、エラーハンドリング、ファイルアップロード、入力値の検証
  • インフラ: ネットワークセキュリティ、データ暗号化、監視・ログ

このチェックリストに従うことで、基本的なセキュリティ対策を実施できます。