Jenkins 自動化サーバーへのセキュリティー分析の追加

HCL AppScan Jenkins プラグインにより、セキュリティー・スキャン・サポートを Jenkins プロジェクトに追加できます。このプラグインを使用して、HCL AppScan 360°.で HCL AppScan 360° に接続できます。

このタスクについて

手順

  1. Jenkins で、HCL AppScan プラグインをインストールします。
    1. 「Jenkins の管理」「プラグインの管理」の順に選択します。
    2. [使用可能] タブを選択し、HCL AppScan の横にあるチェック・ボックスを選択します。
    3. ページの下部にあるいずれかのインストール・ボタンをクリックします。HCL AppScan プラグインをインストールした後、使用する前に Jenkins を再始動する必要があります。ただし、プラグインをインストールして、後で Jenkins を再始動することもできます (実行中のジョブがある場合など)。
    注: 実行中の Jenkins のバージョンによっては、この手順は少々異なる場合があります。
  2. Jenkins を再始動した後、資格情報を追加して、ビルド・プロジェクトが AppScan 360° に接続できるようにします。
    1. Jenkins ダッシュボードで、「資格情報」を選択します。
    2. 「資格情報」ページで、新しいグローバル資格情報を追加します。このためには、(グローバル) リンクの横にある矢印アイコンを選択し、「資格情報の追加」を選択します。
    3. 「資格情報」ページで、「種類」リストの「HCL AppScan 360° 資格情報」を選択します。
    4. 接続用の AppScan 360° サーバー URL を指定します。デフォルトでは、URLは https://cloud.appscan.com です。
    5. AppScan 360° サービスで API 鍵を生成すると、鍵 ID鍵の秘密を受け取ります。これらの値を「ID」フィールドと「秘密」フィールドに入力します。まだ API 鍵を生成していない場合は、API 鍵を作成するためのリンクに従います。
    6. オプション: 「ラベル」フィールドを使用して、資格情報の識別子を追加します。
  3. Jenkins ダッシュボードで、Jenkins プロジェクトを選択し編集してから、「構成」をクリックします。プロジェクトの「全般」タブで、以下の手順に従います。
    1. 「ビルド」セクションで、ビルド・ステップを追加するためのアクションの横にある矢印アイコンを選択します。このアクションのラベルは、プロジェクトのタイプによって異なります。例えば、「ビルド・ステップの追加」「ビルド後のステップの追加」などがあります。
    2. [AppScan on Cloud/AppScan 360° Security Testの実行] を選択します。
    3. 「資格情報」リストで、上記のステップで追加した資格情報を選択します。資格情報のラベル識別子を追加した場合、それがリスト内に表示されます。ラベルを追加していなかった場合、キー ID と隠されたキーの秘密が表示されます。
    4. セキュリティー・スキャンは、既存の AppScan 360° アプリケーションに関連付ける必要があります。「アプリケーション」リストでアプリケーションを選択します。
      注: 「アプリケーション」リストには、資格情報に基づいてデータが取り込まれます。アプリケーションは、AppScan 360° サービスに既に存在している必要があります。サービス内で作成されているアプリケーションがない場合、このリストは空になります。
    5. オプション: 「テスト名」フィールドに、スキャンの名前を入力します。このフィールドに名前を入力すると、その名前にタイム・スタンプを付加したものが AppScan 360° サービスでのスキャン名になります。さらに、さまざまな Jenkins ビューを区別するためにも、この名前が使用されます。
    6. 「テスト・タイプ」セクションで、以下の手順を実行します。
      • [静的分析 (SAST)] を選択し、ビルド成果物に対して静的分析セキュリティー・テストを実行します。このテスト・タイプを選択した場合、必須の「ターゲット・ディレクトリー」フィールドを使用して、スキャン対象のファイルが含まれているディレクトリーの絶対パスを入力します。サポートされるファイル・タイプについては、静的分析の言語サポートを参照してください。
        • スキャン方法:
          • IRX の生成: 指定したファイルとフォルダーから IRX アーカイブをローカルに生成します。
            • ソース・コードのみ: ソース・コードのみを解析するかどうかを選択します。
            • スキャン速度: 開発段階に応じてスキャンの速度と結果を最適化します。開発ライフサイクルの初期段階で高速スキャンを選択して、基本的なセキュリティー問題を特定します。サイクルの後半で徹底的なスキャンを選択すると、アプリケーションが完全にカバーされます。
              • 通常: コードの完全な分析を実行し、脆弱性を詳細に特定し、誤検出として報告される可能性のある問題を区別します。このスキャンは、完了するまでに最も時間がかかります。
              • 高速: ファイルの包括的な分析を実行して脆弱性を特定し、「より高速」または「最速」スキャンよりも時間がかかります。
              • より高速: セキュリティー問題の分析と特定の中レベルの詳細を提供します。このスキャンは、「最速」オプションよりも完了するのに時間がかかります。
              • 最速: ファイルの表面レベルの分析を実行して、修復の最も差し迫った問題を特定します。最小限の時間で完了できます。
          • ファイルとフォルダーのアップロード: ファイルとフォルダーを AppScan に直接アップロードして、スキャンの準備を迅速に行い、処理を高速化します。
        注: ソフトウェア・コンポジション分析 (SCA) は、AppScan on Cloud でのみ使用できます。
    7. オプション: 「電子メール通知」: 分析の完了時に電子メールで通知されるようにするには、このチェック・ボックスを選択します。
    8. オプション: スキャン有効化チームによる介入を許可する: これが選択されていると、スキャンが失敗した場合、または問題が見つからなかった場合に、スキャン有効化チームが介入し、構成の修正を試行します。これにより、スキャン結果が遅延することがあります。このオプションは、デフォルトで選択されています。
    9. オプション: 「セキュリティー分析が完了するまでジョブを中断」: セキュリティー分析の結果が使用可能になるまで Jenkins ビルドを待機させてからプロジェクトの次のステップに進むには、このチェック・ボックスを選択します。
    10. オプション: 「次の場合はビルドを失敗とする」チェック・ボックスを選択し、ビルド失敗の基準を設定できるようにします。選択した後、1 つ以上の失敗条件を追加します。これを行うには、「条件の追加」を選択し、基準を入力します。次の場合にビルドが失敗となるように設定できます。
      • セキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
      • 重大度が「重大」のセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
      • 重大度のセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
      • 重大度のセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
      • 重大度のセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
      注:
      • 複数の条件を追加した場合、それらの条件は論理 OR で区切られたものとして処理されます。
      • 「次の場合はビルドを失敗とする」を選択すると、「セキュリティー分析が完了するまでジョブを中断」オプションが自動的に選択された状態になり、必須となります。
      • 「次の場合はビルドを失敗とする」チェック・ボックスを選択解除すると、追加した条件はそのまま維持されますが、条件が適用されることはありません。追加した条件は、手動で削除しない限り削除されません。
    11. 「保存」をクリックすると、ビルド・ステップが追加され、Jenkins プロジェクトの構成が終了します。「適用」をクリックすると、ビルド・ステップが追加され、Jenkins プロジェクトの構成が続行されます。
      ビルド・ステップを追加した後、さらに「セキュリティー・テストの実行」ビルド・ステップをプロジェクトに追加できます。
  4. Jenkins プロジェクトを実行した後、ビルドを開くと、セキュリティー検出結果のスナップショットが表示されます。また、セキュリティー・テストの「結果」リンクが有効になります。それをクリックすると、非準拠のセキュリティー・レポートが開きます。複数の結果セットがある場合、プロジェクトのメインの状況ページには、セキュリティー分析結果のトレンド分析グラフが表示されます。