ESC
セキュリティ監査キット

このワークフローは、Webアプリケーションまたはサーバー環境のセキュリティを監査・改善したい開発者やシステム管理者を対象としています。認証情報の衛生管理、データ保護、HTTPセキュリティヘッダーを網羅するため、手順に従って進めてください。最終的に、脆弱なパスワード、平文保存、暗号化されていないデータ、設定不備のブラウザポリシーという最も一般的な攻撃ベクターに対処できます。

7 ステップ 約20分 7 ツール
01

強力な認証情報を生成する

脆弱なパスワードはセキュリティ侵害の主要な原因です。すべてのサービスアカウント、APIキー、管理者認証情報に対して、暗号学的に安全なランダムパスワードを生成してください。

パスワードジェネレーター
大文字・小文字・数字・記号を含む、少なくとも16文字の暗号学的ランダムパスワードを生成します。
ツールを開く
02

既存のパスワードを検証する

既存のパスワードを信頼する前に、エントロピー計算と一般的なパターン検出で評価してください。エントロピーが70ビット未満のものはすべて交換すべきです。

パスワード強度チェッカー
既存のパスワードをここに貼り付けてエントロピースコアを測定し、予測可能なパターンや辞書語句が含まれていないか確認します。
ツールを開く
03

パスワードをハッシュ化して保存する

パスワードを平文で保存してはいけません。Bcryptは自動的にソルトを追加し、意図的に処理が遅く設計されています。各ハッシュ生成はミリ秒単位ですが、総当たり攻撃のコストを非現実的なほど高くします。

Bcryptジェネレーター
パスワードを入力し、適切なコストファクター(推奨値:12)でbcryptハッシュを生成してデータベースに保存します。
ツールを開く
04

完全性のためにデータをハッシュ化する

ファイルの完全性を検証したり、デプロイメントのチェックサムを作成したり、決定論的な識別子を生成したりします。SHA-256はセキュリティコンテキストにおけるチェックサムの標準です。

SHA-256ジェネレーター
デプロイメント成果物、設定ファイル、任意のデータをハッシュ化して、転送・保存後に検証できるチェックサムを作成します。
ツールを開く
05

機密データを暗号化する

後で復元する必要があるデータ(ハッシュとは異なり)には、AES-256が業界標準です。トークン、設定値、またはアプリケーション外部に保存されるデータの暗号化に使用してください。

AES暗号化
APIトークン、秘密鍵、設定値をAES-256で暗号化し、安全に保存または転送できるようにします。
ツールを開く
06

コンテンツセキュリティポリシーを作成する

CSPヘッダーはブラウザが読み込めるリソースを制御することでXSS攻撃を防ぎます。適切に設定されたCSPは、スクリプトインジェクションに対する最も効果的な防御手段の一つです。

CSPジェネレーター
アプリケーションが実際に使用するソースを選択してContent-Security-Policyヘッダーを構築し、その値をサーバー設定にコピーします。
ツールを開く
07

CORSヘッダーを設定する

設定不備のCORSはAPIの一般的な脆弱性です。意図したオリジンのみを許可する正確なヘッダーを生成してください。認証情報を持つエンドポイントにワイルドカード(*)を使用することは重大なセキュリティ上の欠陥です。

CORSヘッダージェネレーター
許可するオリジン、メソッド、ヘッダーを指定して、APIに必要な正確なAccess-Control-*ヘッダー値を生成します。
ツールを開く

プロのヒント

  • 監査のたびに認証情報を更新してください。強力なパスワードでも、1年以上ローテーションなしで使用し続ければリスクになります。
  • 本番環境ではbcryptのコストファクターを12以上に設定してください。現代のハードウェアでは、計算能力の向上に伴い、コスト10は予想より早く破られる可能性があります。
  • CSPを適用する前に、まずレポートオンリーモード(Content-Security-Policy-Report-Only)でテストしてください。設定が誤っているポリシーはアプリケーション全体を壊す可能性があります。

よくある質問

ハッシュ化は一方向のプロセスです。ハッシュから元のデータを復元することはできません。完全性の検証やパスワードの保存に使用されます。暗号化は双方向です。正しい鍵があればデータを復号できます。パスワードとチェックサムにはハッシュ化を、後で取得する必要があるデータには暗号化を使用してください。

人間が入力するパスワードは最低16文字、APIキーのような機械生成の認証情報は32文字以上が推奨されます。長さは文字の多様性よりもエントロピーへの貢献が大きく、20文字の小文字のみの文字列は10文字の混合文字列より強力です。

パスワード保存にはbcryptが圧倒的に優れています。SHA-256は高速処理を目的として設計されているため、総当たり攻撃が容易です。Bcryptは意図的に低速で、組み込みのソルトを含んでいるため、ユーザーパスワードの保存に適しています。SHA-256はチェックサムやデータ完全性の確認に適しており、認証情報の保存には向いていません。

いいえ、CSPはXSSのリスクと影響を大幅に低減しますが、完全に排除することはできません。unsafe-inlineのような過度に広範なルールを持つ不適切なCSPではほとんど保護されません。CSPは、入力のサニタイズや出力のエンコーディングと組み合わせた多層防御アプローチの一つとして最も効果を発揮します。

いいえ。このサイトのすべてのツールはブラウザ上で完全に動作します。パスワード、鍵、データはデバイスの外に出ることはなく、サーバーには何も送信されません。インターネットを切断した状態でツールを使用することで確認できます。引き続き動作します。

セキュリティとプライバシー

あなたのデータの安全を最優先しています

ローカル処理

すべての処理がブラウザ内で完結します

データ送信なし

データはサーバーに送信されません

保存しません

データは保存も共有もされません

SSL暗号化

安全な通信でご利用いただけます