HCL AppScan 360° Jenkins プラグインにより、セキュリティー・スキャン・サポートを Jenkins プロジェクトに追加できます。このプラグインを使用して、HCL AppScan 360° で HCL AppScan 360° に接続できます。
手順
-
Jenkins で、HCL AppScan 360° プラグインをインストールします。
-
「Jenkins の管理」、「プラグインの管理」の順に選択します。
-
「使用可能」タブを選択し、次の横にあるチェック・ボックスを選択します。 HCL AppScan 360°
-
ページの下部にあるいずれかのインストール・ボタンをクリックします。HCL AppScan 360° プラグインをインストールした後、Jenkins を再始動する必要があります。ただし、プラグインをインストールして、後で Jenkins を再始動することもできます (実行中のジョブがある場合など)。
注: 実行中の Jenkins のバージョンによっては、この手順は少々異なる場合があります。
-
Jenkins を再始動した後、資格情報を追加して、ビルド・プロジェクトが AppScan 360° に接続できるようにします。
-
Jenkins ダッシュボードで、「資格情報」を選択します。
-
「資格情報」ページで、新しいグローバル資格情報を追加します。このためには、(グローバル) リンクの横にある矢印アイコンを選択し、「資格情報の追加」を選択します。
-
「資格情報」ページで、「種類」リストの「HCL AppScan 360° 資格情報」を選択します。
-
AppScan 360° サービスで API 鍵を生成すると、鍵 ID と鍵の秘密を受け取ります。これらの値を「ID」フィールドと「秘密」フィールドに入力します。まだ API 鍵を生成していない場合は、API 鍵を作成するためのリンクに従います。
-
オプション: 「ラベル」フィールドを使用して、資格情報の識別子を追加します。
-
Jenkins ダッシュボードで、Jenkins プロジェクトを選択し編集してから、「構成」をクリックします。プロジェクトの「全般」タブで、以下の手順に従います。
-
「ビルド」セクションで、ビルド・ステップを追加するためのアクションの横にある矢印アイコンを選択します。このアクションのラベルは、プロジェクトのタイプによって異なります。例えば、「ビルド・ステップの追加」や「ビルド後のステップの追加」などがあります。
-
「AppScan on Cloud セキュリティー・テストの実行」を選択します。
-
「資格情報」リストで、上記のステップで追加した資格情報を選択します。資格情報のラベル識別子を追加した場合、それがリスト内に表示されます。ラベルを追加していなかった場合、キー ID と隠されたキーの秘密が表示されます。
-
セキュリティー・スキャンは、既存の AppScan 360° アプリケーションに関連付ける必要があります。「アプリケーション」リストでアプリケーションを選択します。
注: 「アプリケーション」リストには、資格情報に基づいてデータが取り込まれます。アプリケーションは、AppScan 360° サービスに既に存在している必要があります。サービス内で作成されているアプリケーションがない場合、このリストは空になります。
-
オプション: 「テスト名」フィールドに、スキャンの名前を入力します。このフィールドに名前を入力すると、その名前にタイム・スタンプを付加したものが AppScan 360° サービスでのスキャン名になります。さらに、さまざまな Jenkins ビューを区別するためにも、この名前が使用されます。
-
「テスト・タイプ」セクションで、以下の手順を実行します。
- 「Dynamic Analyzer」を選択して、ブラウザーで実行されるアプリケーションの分析を行います。このテスト・タイプを選択した場合、必須の「開始 URL」フィールドを使用して、スキャンで探索を開始するサイトの URL を入力します。「追加オプション」チェック・ボックスを選択すると、以下のオプション設定も使用できるようになります。
- 「スキャン・タイプ」: 対象のサイトが「ステージング」サイト (開発中) か「実動」サイト (稼働中で使用中) かを選択します。
- 最適化: 「最適化なし」 (長時間での、通常の詳細スキャン。脆弱性範囲最大。これがデフォルトです)、「高速」 (最大 2 倍高速。脆弱性範囲最大 97%)、「より高速」 (最大 5 倍高速。脆弱性範囲最大 85%)、「最速」 (最大 10 倍高速。脆弱性範囲最大 70%) のいずれかでスキャンを実行するかどうかを指定します。
- 「スキャン・ファイル」: AppScan Standard スキャン・ファイルがある場合は、このフィールドに絶対パスとファイル名を入力します。
- アプリケーション・ログイン: 認証が必要なページを AppScan 360° でスキャンできるようにするログイン情報を指定します。
- 追加の認証が不要な場合は、「ログインは不要です」を選択します。
- 「ログインが必要です: ユーザー名とパスワード」を選択し、有効なユーザー資格情報をページに入力します。
- ログイン・ユーザー: 有効なユーザー名。
- ログイン・パスワード: 有効なパスワード。
- 追加の資格情報: 3 つ目のログイン資格情報 (サイトで必要な場合)。
- 「ログインが必要です: ログインの記録」を選択し、記録されたログイン手順をページに設定します。「ログイン手順ファイル」のログイン手順データ・ファイルのパスの詳細を示します。AppScan は、このようなファイルの .CONFIG ファイル・タイプをサポートしています。
- 「Static Analyzer」を選択し、ビルド成果物に対して静的分析セキュリティー・テストを実行します。このテスト・タイプを選択した場合、必須の「ターゲット・ディレクトリー」フィールドを使用して、スキャン対象のファイルが含まれているディレクトリーの絶対パスを入力します。サポートされるファイル・タイプについては、「静的分析の言語サポート」を参照してください。
-
オプション: 「電子メール通知」: 分析の完了時に電子メールで通知されるようにするには、このチェック・ボックスを選択します。
-
オプション: スキャン有効化チームによる介入を許可する: これが選択されていると、スキャンが失敗した場合、または問題が見つからなかった場合に、スキャン有効化チームが介入し、構成の修正を試行します。これにより、スキャン結果が遅延することがあります。このオプションは、デフォルトで選択されています。
-
オプション: 「セキュリティー分析が完了するまでジョブを中断」: セキュリティー分析の結果が使用可能になるまで Jenkins ビルドを待機させてからプロジェクトの次のステップに進むには、このチェック・ボックスを選択します。
-
オプション: 「次の場合はビルドを失敗とする」チェック・ボックスを選択し、ビルド失敗の基準を設定できるようにします。選択した後、1 つ以上の失敗条件を追加します。これを行うには、「条件の追加」を選択し、基準を入力します。次の場合にビルドが失敗となるように設定できます。
- セキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
- 重大度が「重大」のセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
- 高重大度のセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
- 中重大度のセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
- 低重大度のセキュリティー問題の合計数が、このフィールドに指定した値を上回る場合。
注:
- 複数の条件を追加した場合、それらの条件は論理
OR で区切られたものとして処理されます。
- 「次の場合はビルドを失敗とする」を選択すると、「セキュリティー分析が完了するまでジョブを中断」オプションが自動的に選択された状態になり、必須となります。
- 「次の場合はビルドを失敗とする」チェック・ボックスを選択解除すると、追加した条件はそのまま維持されますが、条件が適用されることはありません。追加した条件は、手動で削除しない限り削除されません。
-
「保存」をクリックすると、ビルド・ステップが追加され、Jenkins プロジェクトの構成が終了します。「適用」をクリックすると、ビルド・ステップが追加され、Jenkins プロジェクトの構成が続行されます。
ビルド・ステップを追加した後、さらに「セキュリティー・テストの実行」ビルド・ステップをプロジェクトに追加できます。
-
Jenkins プロジェクトを実行した後、ビルドを開くと、セキュリティー検出結果のスナップショットが表示されます。また、セキュリティー・テストの「結果」リンクが有効になります。それをクリックすると、非準拠のセキュリティー・レポートが開きます。複数の結果セットがある場合、プロジェクトのメインの状況ページには、セキュリティー分析結果のトレンド分析グラフが表示されます。