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

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

始める前に

プラグインの前提条件については、システム要件を参照してください。

このタスクについて

手順

  1. Jenkins で、HCL AppScan プラグインをインストールします。
    1. 「Jenkins の管理」「プラグインの管理」の順に選択します。
    2. 「使用可能」タブを選択し、HCL AppScan の横にあるチェック・ボックスを選択します。
    3. ページ下部のインストール・ボタンのいずれかをクリックします。HCL AppScan プラグインをインストールした後、使用する前に Jenkins を再始動する必要があります。ただし、プラグインをインストールしてから、Jenkins を後で再始動することもできます (稼働中のジョブがある場合など)。
    注: 実行中の Jenkins のバージョンによっては、この手順は少々異なる場合があります。
  2. Jenkins を再始動した後、資格情報を追加して、ビルド・プロジェクトが AppScan on Cloud に接続できるようにします。
    1. Jenkins ダッシュボードで、「資格情報」を選択します。
    2. 「資格情報」ページで、新しいグローバル資格情報を追加します。このためには、(グローバル) リンクの横にある矢印アイコンを選択し、「資格情報の追加」を選択します。
    3. 「資格情報」ページで、「種類」リストの「HCL AppScan on Cloud 資格情報」を選択します。
    4. 接続用の AppScan on Cloud サーバー URL を指定します。デフォルトでは、URLは https://cloud.appscan.com です。
    5. AppScan on Cloud サービスで API キーを生成すると、キー IDキー・シークレットを受け取ります。これらの値を「ID」フィールドと「秘密」フィールドに入力します。まだ API キーを生成していない場合は、API キーを作成するためのリンクに従います。
    6. オプション: 「ラベル」フィールドを使用して、資格情報の識別子を追加します。
  3. Jenkins ダッシュボードで、Jenkins プロジェクトを選択し編集してから、「設定」をクリックします。プロジェクトの「全般」タブで、以下の手順を実行します。
    1. 「ビルド」セクションで、ビルド・ステップを追加するためのアクションの横にある矢印アイコンを選択します。このアクションのラベルは、プロジェクトのタイプによって異なります。例えば、「ビルド・ステップの追加」「ビルド後のステップの追加」などがあります。
    2. 「AppScan on Cloud/AppScan 360° Security Testの実行」を選択します。
    3. 「資格情報」リストで、上記のステップで追加した資格情報を選択します。資格情報のラベル識別子を追加した場合、それがリスト内に表示されます。ラベルを追加していなかった場合、キー ID と非表示のキー・シークレットが表示されます。
    4. セキュリティー・スキャンは、既存の AppScan on Cloud アプリケーションに関連付ける必要があります。「アプリケーション」リストでアプリケーションを選択します。
      注: 「アプリケーション」リストに、資格情報に基づいてデータが取り込まれます。アプリケーションは、AppScan on Cloud サービスに既に存在している必要があります。サービス内で作成されているアプリケーションがない場合、このリストは空になります。
    5. オプション: 「テスト名」フィールドに、スキャンの名前を入力します。フィールドに名前を入力すると、その名前にタイム・スタンプを付加したものが AppScan on Cloud サービスでのスキャン名になります。さまざまな Jenkins ビューを区別するためにも、この名前が使用されます。
    6. 「テスト・タイプ」セクションで、以下の手順を実行します。
      • 「動的分析 (DAST)」を選択して、ブラウザーで実行されるアプリケーションの分析を行います。このテスト・タイプを選択した場合、必須の「開始 URL」フィールドを使用して、スキャンで探索を開始するサイトの URL を入力します。「追加オプション」チェック・ボックスを選択すると、以下のオプション設定も使用できるようになります。
        • 「スキャン・タイプ」: 対象のサイトが「ステージング」サイト (開発中) か「実動」サイト (稼働中で使用中) かを選択します。
        • 最適化: 「最適化なし」 (長時間での、通常の詳細スキャン。脆弱性範囲最大。これがデフォルトです)、「高速」 (最大 2 倍高速。脆弱性範囲最大 97%)、「より高速」 (最大 5 倍高速。脆弱性範囲最大 85%)、「最速」 (最大 10 倍高速。脆弱性範囲最大 70%) のいずれかでスキャンを実行するかどうかを指定します。
        • 「Presence ID」: アプリがインターネット上にない場合、AppScan Presence ID を入力します。AppScan プレゼンス の作成については、こちらをご覧ください。
        • 「スキャン・ファイル」: AppScan 標準スキャン・ファイルがある場合は、このフィールドに絶対パスとファイル名を入力します。AppScan 標準スキャン・ファイルについて詳しくは、このトピックを参照してください。
        • アプリケーション・ログイン: 認証が必要なページを AppScan on Cloud でスキャンできるようにするログイン情報を指定します。
          • 追加の認証が不要な場合は、「ログインは不要です」を選択します。
          • 「ログインが必要です: ユーザー名とパスワード」を選択し、有効なユーザー資格情報をページに入力します。
            • ログイン・ユーザー: 有効なユーザー名。
            • ログイン・パスワード: 有効なパスワード。
            • 追加の資格情報: 3 つ目のログイン資格情報 (サイトで必要な場合)。
          • 「ログインが必要です: ログインの記録」を選択し、記録されたログイン手順をページに設定します。「ログイン手順ファイル」のログイン手順データ・ファイルのパスの詳細を示します。AppScan は、このようなファイルの dast.config ファイル・タイプをサポートしています。
        これらの設定の詳細については、このトピックを参照してください。動的解析 (DAST) は AppScan on Cloud でのみ使用できます。
      • オープン・ソース・ライブラリーをスキャンするには、ソフトウェア・コンポジション分析 (SCA) を選択します。このテスト・タイプを選択した場合、必須のターゲット・ディレクトリーフィールドを使用して、スキャン対象のファイルまたは IRX ファイルが含まれているディレクトリーの絶対パスを入力します。
        注: AppScan on Cloud では、静的分析 (SAST) とオープン・ソース分析 (SCA) を別々のスキャンとして実行するようになりました。オープン・ソースのみのスキャンを実行するには、ソフトウェア・コンポジション分析 (SCA) スキャン・タイプを使用します。オープン・ソースのみのオプションは、今後のリリースで SAST スキャンから削除される予定です。
      • オープン・ソース・パッケージをスキャンするには、「ソフトウェア・コンポジション分析 (SCA)」を選択します。

        オープン・ソースのテストについては、ソフトウェア・コンポジション分析 (SCA) についてを参照してください。

      • 「静的分析 (SAST)」を選択し、ビルド成果物に対して静的分析セキュリティー・テストを実行します。このテスト・タイプを選択した場合、必須の「ターゲット・ディレクトリー」フィールドを使用して、スキャン対象のファイルが含まれているディレクトリーの絶対パスを入力します。サポートされるファイル・タイプについては、「静的分析の言語サポート」を参照してください。
        • スキャン方法:
          • IRX の生成: 指定したファイルとフォルダーから IRX アーカイブをローカルに生成します。 「追加オプション」チェック・ボックスを選択すると、以下のオプション設定も使用できるようになります。
            • ソース・コードのみ: ソース・コードのみを解析するかどうかを選択します。
            • SCA を含める: オープン・ソース・パッケージの分析を含めます。「SCA を含める」は、SAST スキャンに加えて SCA スキャンを作成します。

            • スキャン速度: 開発段階に応じてスキャンの速度と結果を最適化します。開発ライフサイクルの初期段階で高速スキャンを選択して、基本的なセキュリティー問題を特定します。サイクルの後半で徹底的なスキャンを選択すると、アプリケーションが完全にカバーされます。
              • 通常: コードの完全な分析を実行し、脆弱性を詳細に特定し、誤検出として報告される可能性のある問題を区別します。このスキャンは、完了するまでに最も時間がかかります。
              • 高速: ファイルの包括的な分析を実行して脆弱性を特定し、「より高速」または「最速」スキャンよりも時間がかかります。
              • より高速: セキュリティー問題の分析と特定の中レベルの詳細を提供します。このスキャンは、「最速」オプションよりも完了するのに時間がかかります。
              • 最速: ファイルの表面レベルの分析を実行して、修復の最も差し迫った問題を特定します。最小限の時間で完了できます。
          • ファイルとフォルダーのアップロード: ファイルとフォルダーを AppScan に直接アップロードして、スキャンの準備を迅速に行い、処理を高速化します。「追加オプション」チェック・ボックスを選択すると、このオプション設定も使用できるようになります。
            • SCA を含める: オープン・ソース・パッケージの分析を含めます。「SCA を含める」は、SAST スキャンに加えて SCA スキャンを作成します。

    7. オプション: 「電子メール通知」: 分析の完了時に電子メールで通知されるようにするには、このチェック・ボックスを選択します。
    8. オプション: スキャン有効化チームによる介入を許可する: これが選択されていると、スキャンが失敗した場合、または問題が見つからなかった場合に、スキャン有効化チームが介入し、設定の修正を試行します。これにより、スキャン結果が遅延することがあります。このオプションは、デフォルトで選択されています。
    9. オプション: 「セキュリティー分析が完了するまでジョブを中断」: セキュリティー分析の結果が使用可能になるまで Jenkins ビルドを待機させてからプロジェクトの次のステップに進むには、このチェック・ボックスを選択します。
    10. オプション: 「次の場合はビルドを失敗とする」チェック・ボックスを選択し、ビルド失敗の基準を設定できるようにします。選択した後、1 つ以上のビルド失敗条件を追加します。これを行うには、「条件の追加」を選択し、基準を入力します。次の場合にビルドが失敗となるように設定できます。
      • セキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
      • 重大度が「重大」のセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
      • 重大度がのセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
      • 重大度がのセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
      • 重大度がのセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
      注:
      • 複数の条件を追加した場合、それらの条件は論理 OR で区切られたものとして処理されます。
      • 「次の場合はビルドを失敗とする」を選択すると、「セキュリティー分析が完了するまでジョブを中断」オプションが自動的に選択された状態になり、必須となります。
      • 「次の場合はビルドを失敗とする」チェック・ボックスを選択解除すると、追加した条件はそのまま維持されますが、条件が適用されることはありません。追加した条件は、手動で削除しない限り削除されません。
    11. 「保存」をクリックすると、ビルド・ステップが追加され、Jenkins プロジェクトの構成が終了します。「適用」をクリックすると、ビルド・ステップが追加され、Jenkins プロジェクトの構成が続行されます。
      ビルド・ステップを追加した後、さらに「セキュリティー・テストの実行」ビルド・ステップをプロジェクトに追加できます。
  4. Jenkins プロジェクトを実行した後、ビルドを開くと、セキュリティー検出結果のスナップショットが表示されます。また、セキュリティー・テストの「結果」リンクが有効になります。それをクリックすると、非準拠のセキュリティー・レポートが開きます。複数の結果セットがある場合、プロジェクトのメインのステータス・ページには、セキュリティー分析結果のトレンド分析グラフが表示されます。