この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ソリューション全体のテスト

手動テストおよび自動セキュリティスキャナーツールを使用して、ソリューションの全範囲をテストします。セキュリティスキャンを実行するときには、Salesforce Platform と独立して動作する外部エンドポイントをすべて含めます。セキュリティ違反の偽陽性を記録し、Salesforce のセキュリティガイドラインを満たさないコードをすべて修正します。

テスト範囲

セキュリティレビューを申請するソリューションのあらゆる部分をテストします。Salesforce Platform でホストされないエンドポイントも含めて、ソリューションのアーキテクチャがセキュアであることを確認します。ソリューションのあらゆるコンポーネントとレイヤーに注意することで、ハッカーや不正ソフトウェアによって潜在的なエントリポイントが悪用されるリスクを最小限に抑えることができます。

ソリューションの全範囲がセキュリティレビューテストの対象となります。たとえば、Salesforce は、Development Edition テスト組織を攻撃し、機密データへのアクセスや虚偽のログイン情報を使用した認証を試みる侵入テストを実行することができます。

テスト範囲を判断するために、データをフォローする手法を用います。ユーザーやデータがアクセスする部分がすべて範囲に含まれます。たとえば、お客様である Salesforce ユーザーがあなたの会社の Web サイトにログインする必要がある、またはデータがサードパーティのサーバーに同期されるとします。これらの部分をテストし、ログイン情報とデータが安全に転送されることを確認します。

次の条件のいずれかに当てはまる場合、外部エンドポイントはセキュリティレビューの範囲に含まれ、セキュリティテストの必須部分となります。
  • エンドポイントは、ソリューションの購入、サポート、または使用の一環としてエンドユーザーの認証で役割を果たします。この定義には、ログイン情報の手動入力が不要の接続アプリケーションも含まれます。
  • Salesforce データはエンドポイントへ、またはエンドポイントから転送されません。

自分が所有していない外部エンドポイントでセキュリティテストを実行するには、次の 2 つが必要です。まず、外部エンドポイントを所有しているサードパーティから、セキュリティテストを実行するために必要な権限を取得すること、次に、「許可すべき Salesforce の IP アドレスとドメイン」のガイドラインに従うことです。

重要

自動スキャンツール

ソリューションとエンドポイントのセキュリティの脆弱性を特定するために、特定の自動セキュリティスキャンツールを実行する必要があります。

開発ライフサイクルを通して、コードおよび接続しているエンドポイントでセキュリティスキャンを実行することを強くお勧めします。セキュリティの脆弱性が山積みとなり、後で行う作業を増やさないために、開発中には定期的にスキャンを実行して検出された問題を修正してください。

ヒント

ソリューションが、管理パッケージ、Salesforce Platform API ソリューション、または Marketing Cloud API ソリューションの場合は、セキュリティレビューに合格する必要があります。管理パッケージを申請する場合は、Salesforce Code Analyzer を使用してソリューションをスキャンし、AppExchange セキュリティレビューウィザードで包括的なスキャン結果を提出する必要があります。Code Analyzer を使用できない場合は、コードに Code Analyzer を実行しなかった理由について明確に説明する必要があります。

ソリューションが管理パッケージではない場合、または Code Analyzer を使用しない場合は、Partner Security Portal で Salesforce がサポートする 2 つのセキュリティスキャナー、すなわち Source Code Scanner (Checkmarx スキャナーとも呼ばれます) と Chimera スキャナーにアクセスできます。

この表には、必須または推奨する自動セキュリティスキャナーツールがまとめられています。

セキュリティスキャナーツール スキャン対象 考慮事項 申請時に結果を提出 Partner Security Portal でホスト
Salesforce Code Analyzer Apex、JavaScript、Lightning、TypeScript、および Visualforce コード
  • Salesforce Code Analyzer は、ESLint、JavaScript、PMD、Retire JS、Salesforce Graph Engine などのスキャンツールを 1 つの Salesforce CLI プラグインに統合して、簡単にインストールできるようにしたものです。特に Salesforce Graph Engine は、作成、参照、更新、削除および項目レベルセキュリティ (CRUD/FLS) 違反の検出に役立ちます。
  • Salesforce Code Analyzer は、ローカル開発マシンにインストールすることも、継続的インテグレーション (CI) プロセスに統合することもできます。
  • Salesforce Code Analyzer には、Lightning Web コンポーネント JavaScript をスキャンするためのカスタマイズされたルールが含まれています。
  • Salesforce Code Analyzer は外部エンドポイントをスキャンしません。
  • Salesforce Code Analyzer は、CSV、HTML、JSON、JUnit という複数の出力形式に対応しています。
はい いいえ
Source Code Scanner (Checkmarx) Apex、Visualforce、Lightning コード
  • この静的スキャンツールは Checkmarx のセキュリティ技術を使用しています。
  • Salesforce パッケージまたはコンポーネントを含むセキュリティレビューを申請するときは、必ず Checkmarx スキャンを実行する必要があります。このスキャンは、モバイルクライアントや API ソリューションには必要ありません。
  • Source Code Scanner は、セキュリティレビュー手数料を支払ったパッケージバージョンにつき 3 回まで実行できます。
  • パッケージ化されていないコードのスキャン、または 3 回までのスキャン制限やパッケージリンク要件を回避する柔軟性と自由が必要な場合は、Checkmarx からライセンスを購入してください。
はい はい
PMD Source Code Analyzer Apex コード
  • PMD スキャナーは無料のオープンソースツールであり、VS Code 拡張機能としても利用できます。
  • このツールは、Apex コードを含むソリューションで Source Code Scanner の代わりに使用できます。
  • セキュリティレビューに備えて、また Source Code Scanner の補足としてソリューションを準備するときは、PMD スキャンを回数の制限なく実行します。
  • 通常、PMD では偽陽性が Source Code Scanner ツールよりも多く報告されます。
いいえ いいえ
Chimera 自分が所有しているドメインの外部エンドポイント
  • Chimera は、ソリューションの外部エンドポイントをチェックします。
  • Chimera は、Salesforce IP アドレスからソリューションをスキャンします。
  • このスキャナーはダウンロードは不要です。
  • 外部サーバーのルートにトークンをアップロードする必要があるため、自分が所有していないドメインのエンドポイントでは Chimera を使用できません。
  • ソリューションが自分が所有していない外部エンドポイントに接続する場合は、OWASP ZAP または Burp Suite を使用します。
はい はい
OWASP Zed Attack Proxy (ZAP) 外部エンドポイント
  • ZAP スキャナーは、Web アプリケーションセキュリティテスト用の無料のコミュニティ主導プロキシです。
  • Zap はダウンロードが必要です。
  • 「Setting Up ZAP for Browser (ブラウザー用 ZAP の設定)」に、このツールを使用したセキュリティスキャンの開始についての指標があります。
はい いいえ
Burp Suite 外部エンドポイント
  • Salesforce では、セキュリティレビューに使用する Burp Suite ライセンスを提供していません。ライセンスは各自で購入してください。
  • Burp Suite はダウンロードが必要です。
はい いいえ