ソフトウェアのセキュリティとコンプライアンスをアーティファクトに設定する方法
チームやサイトで使用されているすべてのオープンソース(OSS)コンポーネントの安全性を確保する最も簡単な方法はソフトウェア構成分析(SCA)ツールを利用することです。オープンソースの使用状況を管理・把握するためには自動化された信頼性の高い方法が必要です。
JFrog Xrayはソフトウェア開発ライフサイクル(SDLC)に脆弱性とライセンスコンプライアンスのスキャンを設定することができます。オンプレミス、クラウド、ハイブリッドで利用可能なXrayは企業のソフトウェア・コンポーネントを相互に接続して可視化し、脆弱性やライセンス問題のない迅速なリリースを実現します。このブログ記事で、その手順をご紹介します。
始める前に
必要なものは以下の通りです:
- JFrog Cloudサブスクリプション(無償のクラウド版とセルフホスティッド版を含む)
ステップ1: あなたの環境にログイン
オンプレミス版の場合はデフォルトのUsername: admin、Password: password、クラウド版の場合はメールで送られてきた認証情報を使ってログインします。
ステップ2: 選択したリポジトリでJFrog Artifactoryをセットアップ
過去の記事でプライベート、リモート、バーチャルDockerレジストリを設定する方法をご紹介しています。
ステップ3: Policyの定義
Policyはセキュリティおよびライセンスコンプライアンスの仕様を定義するものです。組織のニーズに合わせて強制するルールや適用する自動アクションを定義します。
ApplicationモジュールからSecurity & Compliance > Policiesをクリックします。
タイプが「Security」の新しいPolicyを追加します。新規ルールをクリックし、「All Severities」に設定します。
注: 新たなセキュリティ問題が見つかった場合に実行する自動アクションを定義することもできます。例えばWebhookのトリガー、メールでの通知、ダウンロードのブロック、ビルドの失敗などです。何も有効になっていない場合は単にWeb UIに情報が表示されるだけです。
ステップ4: 監視するリポジトリを選択し、PolicyをWatchに割り当てる
Watchはアーティファクト・リポジトリとビルドなどの監視するリソースの範囲を定義します。ここでは新しいWatchを作成し、先ほど作成したPolicyを適用します。
ApplicationモジュールからSecurity & Compliance > Watchesをクリックし、新しいWatchを追加します。
Add Repositoriesをクリックし、このWatchに含めるリポジトリを選択します。
リソースが選択されたため、Policy自体を作成することができます。
Manage Policiesをクリックし、前のステップで作成したPolicyを選択します。
ステップ5: スキャンを実行
Watch作成後、スキャンがトリガーされるイベントが発生した場合、指定されたリソースのアーティファクトをスキャンし、それに応じて違反を報告します。
しかし、スキャンのトリガーとなるイベントが起こるまで(新しいアーティファクトがリポジトリにプッシュされるなど)、システム内にすでに存在するアーティファクトはWatchによってスキャンされません。そこで、関連するアーティファクトにWatchが直ぐに適用されるようにするために、手動でWatchを起動することができます。
先ほど作成したWatchにカーソルを合わせ、Apply on Existing Contentを選択します。
Watchに割り当てられたリソースの内、どのリソースをスキャンするかを指定し、スキャンするためにターゲットにアーティファクトが存在する必要がある時間を定義する日付範囲を指定します。
例えば「Last 90 days」を選択した場合、過去90日間にターゲットに存在していたアーティファクトのみをスキャンします。
注: Xrayスキャンが完了後、脆弱性の結果が表示されるまでに時間がかかる場合があります。
これは検出された脆弱性の1つについての依存関係のツリーです。
JFrog Xrayを導入する際に推奨されるベストプラクティスの詳細もご確認ください。
以上です。
是非、ご自身でお試し下さい。