핵심 요약
今回ご紹介する機能は New Relic の脆弱性管理機能が開放されていることが必須となります。
無償のアカウントや Data Plan をご利用の方は本機能をご利用頂けませんのでご承知ください。
ご利用を希望の方は担当のアカウントチームの担当営業にお問い合わせください。
New Relic の脆弱性管理機能は以下のドキュメントで紹介しております。
https://newrelic.com/platform/vulnerability-management
本記事ではセキュリティスキャナーとして有名なTrivyのコンテナイメージの脆弱性スキャンを実施した結果を New Relic に対して転送する方法をご紹介します。
New Relic の公式ドキュメントにも連携方法を紹介しておりますので以下のドキュメントをベースに手順を紹介致します。
https://docs.newrelic.com/docs/vulnerability-management/integrations/trivy/
STEP1: ライセンスキーの取得
まず New Relic に対してデータを転送するためのライセンスキーの用意をします。
後ほどのステップで利用するものになりますのでその際にこの項目を実施して頂く形でも問題ありません。
こちらにアクセスしていただくことでお持ちの New Relic アカウントの API Key のページへ遷移します。
INGEST Type のキーを選択していただいて値をコピーして控えてください。
STEP2: Trivy のインストール
Trivy のインストールをします。
Mac をお使いの方は brew を使うことで簡単に導入することができますのでそちらでお試しください。
Github Pages にも導入手順が紹介されていますのでそちらを参考に導入を進めてください。
https://aquasecurity.github.io/trivy/v0.44/getting-started/installation/
`trivy --version` で情報が出力されれば成功です。
STEP3: Trivy でコンテナイメージのスキャン
次に Trivy で実際にコンテナのイメージスキャンを実施します。
手元にあるコンテナイメージなど好きなものを使っていただいて問題ありません。
New Relic に転送する際に SARIF フォーマットにしておく必要があるので --format でフォーマットを指定し、 -o を使って結果をファイルに出力します。
例として以下のように Trivy でイメージスキャンを実施します。
STEP4: New Relic へ転送をする
STEP3 で作成したスキャンの結果を New Relic に転送します。
curl コマンドを使用して New Relic の Security API に対して転送を実施します。
ここで STEP1 で取得した API Key を利用しますので取得してない場合はここで STEP1 の手順を実施して API Key を取得しましょう。
リポジトリ名などを指定する箇所がありますが指定した場合、リポジトリ名に対して紐づく脆弱性として New Relic は取り扱うので入れておくとより便利に活用できます。任意ですので入れなくても問題なく利用は可能です。
リクエストが問題なく終われば uuid などが表示されたレスポンスが返ってきます。
実際に New Relic の Vulnerability Management の画面で Trivy のアイコンが表示されているかと思います。
後は同じ様に脆弱性の CVE などを確認して対応などを取り組む形になります。
これで Trivy のデータを New Relic に対して転送する手順は以上となります。
New Relic が提供している他の Vulnerability Management の機能と合わせて利用して頂くことでよりお客様の環境を安心に運用できるようにすることができるかと思います。
また Github Actions などの CI ツールと連携することで CI の中で結果を通知させ即時対応ができるようになるなどの応用も Trivy と連携することで試すことができますので是非お試しください。
다음 단계
また New Relic には月間100GBまでの転送量であればほぼ全ての機能を1ユーザーまでであれば無料で利用が可能になっています。今回ご紹介した Trivy の連携のみならず New Relic の基本的な機能について興味がある方は是非サインアップをしてお試しください。
https://newrelic.com/jp/sign-up-japan
이 블로그에 표현된 견해는 저자의 견해이며 반드시 New Relic의 견해를 반영하는 것은 아닙니다. 저자가 제공하는 모든 솔루션은 환경에 따라 다르며 New Relic에서 제공하는 상용 솔루션이나 지원의 일부가 아닙니다. 이 블로그 게시물과 관련된 질문 및 지원이 필요한 경우 Explorers Hub(discuss.newrelic.com)에서만 참여하십시오. 이 블로그에는 타사 사이트의 콘텐츠에 대한 링크가 포함될 수 있습니다. 이러한 링크를 제공함으로써 New Relic은 해당 사이트에서 사용할 수 있는 정보, 보기 또는 제품을 채택, 보증, 승인 또는 보증하지 않습니다.