詳細情報:
セキュリティ: Web サーバーフロー制御の秘密が必要
このセキュリティ設定では、アクセストークンの認証コードの交換を完了するために、Web サーバーまたはアプリケーションが一意のクライアントの秘密を Salesforce に提供する必要があります。
コントロール名
外部クライアントアプリケーション: セキュリティ: Web サーバーフローの秘密が必要
推奨設定
Web サーバーフローの秘密が必要。
制御の概要
このセキュリティ設定では、アクセストークンの認証コードの交換を完了するために、Web サーバーまたはアプリケーションが一意のクライアントの秘密を Salesforce に提供する必要があります。
設定されていない場合のセキュリティリスク
必須の秘密がない場合、Web サーバーフローは認証コードのみに依存します。認証コードは、ブラウザー履歴、参照元ヘッダー、またはログファイルを介して傍受され、後で未承認のアクターによってセッションと交換される可能性があります。
脅威のシナリオ
攻撃者はユーザーのリダイレクト URI から有効な認証コードを取得し、アプリケーションになりすましてアクセストークンを要求します。これは、Salesforce エンドポイントでセカンダリサーバー側認証を必要としないためです。
推定 CVSS スコア範囲
高 (7.0 ~ 8.9)。
リスクの影響に関する考慮事項
秘密のない Web サーバーフローを許可すると、トークンの交換中に要求元のアプリケーションの ID が暗号学的または管理的に検証されないため、広範なセッションハイジャックや不正なデータアクセスが可能になります。
より高いリスク
アプリケーションが共有ドメインでホストされている場合、または暗号化されていないリダイレクト URI を使用している場合、攻撃者は複数のベクトルを使用して、転送中の認証コードを監視および盗取できます。
低リスク
アプリケーションがすべてのトランザクションにすでに Proof Key for Code Exchange (PKCE) を適用している場合、認証コードは攻撃者にとって未知の高エントロピー検証者にバインドされます。
ビジネスと統合に関する考慮事項
この要件を有効にすると、バックエンドサーバーで秘密が確実に保護されますが、アプリケーションアーキテクチャで秘密をクライアント側のブラウザーに公開せずに安全に保存および転送できる必要があります。
推奨される修復
外部クライアントアプリケーションの OAuth 設定に移動し、Web サーバーフローにクライアントの秘密を要求するチェックボックスをオンにします。
Security Health Review Guidance (セキュリティ状態レビューガイダンス)
Security Health Review では、基本的な多層防御標準としてサーバー側フローのクライアントの秘密の使用が必須であることが識別されるため、機密性の高い認証コードは二次的な非公開ログイン情報なしでは武器化できません。

