❓ よくある質問
DefectDojoの利用に関するよくある質問を、DefectDojo ProとDefectDojo OSの両方について紹介します。
一般的な質問
DefectDojoでセキュリティテストをどのように整理すればよいですか?
DefectDojoはあらゆるセキュリティ環境やテスト環境に対応できますが、各組織のセキュリティチームや運用体制はそれぞれ異なるため、万能な使い方というものはありません。一般的なユースケースについての詳細な記事では、さまざまな組織がRBACとDefectDojoのデータモデルを自社のニーズに合わせてどのように適用しているかの例を紹介しています。
DefectDojoでのセキュリティテストにおける推奨ワークフローは何ですか?
DefectDojoは、組織のセキュリティ体制における中心的な信頼できる情報源となることを目的としており、組織の要件に応じてさまざまなニーズに対応できます。例えば次のようなものです。
- ユーザーが複数のスキャンやツールにまたがる重複した検出事項を特定できるようにし、アラート疲れを最小限に抑えます。
- 脆弱性に対するSLAを適用し、組織が各検出事項を適切な期間内に処理できるようにします。
- Jira、ServiceNow、その他のプロジェクト追跡ソフトウェアへチケットを送信し、開発チームが新たなプロジェクト管理ツールを学ぶことなく、課題の修正を通常のリリースプロセスに組み込めるようにします。
- 自動化されたCI/CDパイプラインに統合し、ブランチレベルに至るまでリポジトリからレポートデータを自動的に取り込みます。
- 任意の脆弱性群やソフトウェアのコンテキストについてレポートを作成し、スキャン結果やステータスの更新をステークホルダーに迅速に共有します。
- 受容および緩和のワークフローを確立し、正式なリスク管理の追跡をサポートします。
DefectDojoは、現在のセキュリティワークフローをサポートし標準化するように設計されています。これらの方法はすべて、チームのプロセスを強化し、現在の運用方法に適応させるために利用できます。
DefectDojo Proではどのような機能が利用できますか?
DefectDojo Proは、上記のワークフローをさらに拡張し、以下を追加します。
- エンタープライズレベルのデータ量をナビゲートする際の速度と効率のために設計された改善されたUI。ダークモードも含まれます。
- 優先度とリスクによって検出事項を事前にトリアージする機能により、チームは最も重大な問題を最初に特定して修正できます。
- 自動化された一括操作をスクリプト化し、検出事項やその他のオブジェクトを処理するカスタムワークフローを構築できるルールエンジン。プログラミング経験は不要です。
- アプリやリポジトリのセキュリティ体制を簡単に共有できる強化されたレポートおよびメトリクス生成機能。
- DefectDojoが重複した検出事項をどのように特定・管理するかを細かく調整できる高度な重複排除設定。
- 以下のような、合理化されたインポート機能。
- 検出事項をバックグラウンドで処理する、最適化されたアップロード方法。
- Universal ImporterおよびDefectDojo CLIアプリを使用してコマンドラインパイプラインを素早く構築できる機能。DefectDojo Proインスタンスへのデータのインポート、再インポート、エクスポートを簡単に行えます。
- 任意の.jsonまたは.csvレポートを実用的な検出事項のセットに変換するユニバーサルパーサー。DefectDojo Proが好きな方法でデータを解析します。
- サポート対象ツールへの即時接続を提供し、新しい検出事項データをインポートするコネクタ。API呼び出しやcronジョブを設定することなく、自動化されたインポートパイプラインを構築できます。
DefectDojoはアクセス制御をどのように扱いますか?
DefectDojoは大規模なチームでも利用でき、各チームメンバーに適切なコンテキストを設定し、インフラの特定の部分へのアクセスを制御するために、RBAC(ルールベースアクセス制御)の設定を強くお勧めします。
ロールと権限の割り当ては、通常、製品タイプ/製品レベルで行われます。各チームメンバーは1つ以上の製品または製品タイプに割り当てられ、その中の脆弱性データとどのように関わるか(読み取り専用、読み書き、フルコントロール)を規定するロールを付与されます。詳細については、RBACガイドをご覧ください。
DefectDojoは、ユーザーチームのアクセス制御をどのように扱いますか?
小規模な組織のワンオペセキュリティチームであっても、多数のソフトウェアプロジェクトを統括するCISOであっても、ロールベースアクセス制御(RBAC)を簡単に構成し、各チームメンバーに適切なコンテキストを設定し、インフラの特定の部分へのアクセスを制御することができます。
一般的に、ロールと権限の割り当ては製品タイプ/製品レベルで行われます。各チームメンバーには、1つ以上の製品または製品タイプに関するロールが付与され、その中の脆弱性データとどのように関わるか(例: 読み取り専用、読み書き、フルコントロール)が規定されます。
インポートワークフロー
DefectDojoはどのツールをサポートしていますか?
DefectDojoは、500以上の商用およびオープンソースのセキュリティツールからのレポートをサポートしています。
ツール群に新しいツールを追加したい場合は、推奨するOpen-Sourceツールの一覧をこちらでご確認いただけます。
インポートと再インポートの違いは何ですか?
セキュリティツールから単一のレポートをインポートする方法には、2種類あります。
- インポートは、レポートを単一時点の記録として扱います。レポートをインポートすると、結果として得られる検出事項を含むテストが作成されます。
- **再インポート**は、既存のテストを新しい結果セットで更新するために使用します。テストプロセスに対してより継続的なアプローチを取る場合は、最新版のレポートを既存のテストへ継続的に再インポートできます。DefectDojoは、入ってきたレポートの結果を既存のデータと比較し、変更を記録した上で、テスト内の検出事項を最新のレポートに合わせて調整します。
この違いを理解するには、インポートをスキャンイベントの単一インスタンスを記録するもの、再インポートをスキャンの継続的な記録を更新するものと考えると分かりやすいでしょう。
たとえるなら、あなたが会計士だとして、インポートは1枚の領収書を記録するために使い、再インポートは経費の継続的な台帳を記録するために使う、というイメージです。
両方の方法は、重複排除の使い方も異なります。同じ製品内で個別にインポートされた2つのテストは、重複する検出事項をそれぞれ別々に特定してラベル付けしますが、再インポートはテスト内で重複と判断した検出事項を作成しません。
一般的に言えば、単一時点のレポートが必要な場合はインポートが最適な方法です。ツールからレポートを継続的に実行・取り込んでいる場合は、物事を整理しておくために再インポートの方が適しています。
インポートエラーはどのようにトラブルシューティングできますか?
DefectDojoは非常に多様なツールをサポートしています。レポートのインポート時に一貫性のない動作が見られる場合は、ファイル構造がそのツールの想定しているものと一致しているかを確認することをお勧めします。パーサー一覧でお使いのツールがサポートされていることを確認し、ファイル形式がそのツールの想定と一致しているかを確認してください。構造をユニットテストと比較することもできます。
DefectDojo Proには、任意のJSON、CSV、XMLファイルを扱えるユニバーサルパーサーというインポート方法があります。DefectDojo OSのユーザーは、同じ目的でカスタムパーサーを作成できます。
最後に、サードパーティのレポート形式は予告なく変更されることが知られています。パーサーを最新の状態に保つためのPRやコントリビューションを、OSコミュニティは大変ありがたく思っています。
大きなスキャンファイルはどのように扱えばよいですか?
大きなレポートをDefectDojoにインポートするのは、時間のかかる処理になることがあります。2MBのレポートには大量のデータが含まれており、セキュリティツールのレポート形式によっては、検出事項に変換するのに長い時間がかかることがあります。
推奨するアプローチは、インポート前に大きなレポートを分割し、利用可能なデータのさまざまなサブセクションを反映させることです。お使いのセキュリティツールがソフトウェアプロジェクト、アプリケーション、その他のコンテキストで結果をフィルタリングできる場合、より小さなレポートをエクスポートすることで、DefectDojoがデータを扱い、分類しやすくなります。これにはさらに、データの分割方法に基づいて検出事項を事前に整理できるという利点もあり、より関連性が高く高速なレポート生成が可能になります。
DefectDojo Proはレポートをバックグラウンドで処理できます。ただし、バックグラウンドでの検出事項作成プロセスを開始する前に、ファイルをアップロードしDefectDojoによる検証を受ける必要があります。
CI/CDパイプラインをDefectDojoに接続するにはどうすればよいですか?
DefectDojoのコア機能の多くは完全に自動化できます。CI/CD(またはあらゆる種類の自動インポート)は、DefectDojo REST APIを呼び出すことで処理できます。
DefectDojo Proのユーザーは、Universal Importer / DefectDojo CLIのコマンドラインツールにもアクセスでき、多くの自動化環境で実行するようにインストールできます。
検出事項の管理
検出事項のステータスはどういう意味ですか?
検出事項には多くのステータスがあります。検出事項には常に「アクティブ」または「非アクティブ」のステータスが設定されますが、「検証済み」「誤検知」「対象外」といったその他のステータスは任意で適用できます。
これらのステータスの詳細と使用方法については、検出事項ステータス定義ガイドで説明しています。
DefectDojoから検出事項を削除するにはどうすればよいですか?
一般的には、クローズした検出事項は完全に削除するのではなく「非アクティブ」として保持することをお勧めします。AppSec業務では過去の記録を維持することが重要だからです。検出事項を削除すると、その検出事項に関するすべてのメモとメトリクス追跡情報が完全に失われ、不正確なレポートや不完全なアーカイブにつながる可能性があります。
DefectDojoから検出事項を削除する方法はいくつかあります。
- 削除したい検出事項に対して一括削除アクションを実行する
- APIを通じて
DELETE /findings/{id}を呼び出す - テスト、エンゲージメント、製品タイプ、製品などの親オブジェクトを削除する。
- サブクラスは親オブジェクトから独立して保持されない点に注意してください。製品タイプなどの親オブジェクトを削除すると、その製品タイプ内のすべての製品、エンゲージメント、テスト、検出事項、エンドポイントが削除されます。逆に、エンゲージメントを削除しても、それより上位の製品や製品タイプは保持されます。
レポートとJira
DefectDojoでレポートを生成するにはどうすればよいですか?
レポートビルダーを使用すると、DefectDojoでカスタマイズされたレポートを素早く作成できます。
DefectDojo Proのユーザーは、製品タイプ、製品、その他のデータをリアルタイムでレポートできる経営層向けメトリクスダッシュボードにもアクセスできます。
プロジェクト管理ツールをDefectDojoと連携させるにはどうすればよいですか?
DefectDojoのProエディション、Open-Sourceエディションのいずれでも、DefectDojo内の検出事項をJiraに課題(Issue)としてプッシュでき、課題の修正を開発チームと連携させることができます。
DefectDojo Proは、追加のプロジェクト追跡連携**をサポートします: ServiceNow、Azure DevOps、GitHub、GitLab。