ブログ

Jenkins CI/CDセキュリティにおけるDockerスキャニングをSysdig Secureプラグインを用いて行う

Google Cloudとコンテナの継続的なセキュリティ

本文の内容は、2018年9月5日にSysdigのKnox Andersonが投稿したブログ(https://sysdig.com/blog/docker-scanning-jenkins/)を元に日本語に翻訳・再構成した内容となっております。

このブログ記事では、Sysdig Secure Jenkinsプラグインを使用してJenkins用Dockerスキャンを実装する方法について説明します。 このプラグインは、フリースタイルとパイプラインの両方のジョブでイメージをスキャンし、イメージがポリシー評価に失敗した場合にビルドを失敗させる仕組みとして使用できます。

コンテナのデプロイメントモデルにより、組織は継続的なデリバリープロセスを採用することが非常に簡単になりました。 ただし、最終的な結果が不安定で不確かなソフトウェアである場合、アプリケーションのパッケージ化および構築で得られるすべての効率性を得ることは困難です。 CI / CDセキュリティ組織に優先順位を付けることで、本番環境にデプロイする前、またはレジストリにプッシュする前に、アプリケーションのリスクに積極的に対処できます。

まず、失敗する:CI / CDセキュリティの利点

本番環境でない場合は、常に問題を迅速に解決にあたれます。 Sysdig SecureをあなたのCI / CDパイプラインとJenkinsまたは他のツールと統合することによって、本番環境にイメージをデプロイする前に、セキュリティ、コンプライアンス、および信頼性についてDockerイメージを評価するためのステップを追加する事ができます。

プロダクション環境に展開される前に、組織がイメージについて把握しておくべき例のいくつかを以下に示します。

セキュリティ

  • このイメージは修正されたクリティカルな脆弱性がありますか?
  • イメージ内にはsecretsやcredentialsが含まれていますか?
  • このイメージには、ブラックリストに登録した公開ポートがありますか?

コンプライアンス

  • イメージで使用されているライセンスの種類
  • このイメージは、私たちの組織が使用していないディストリビューションに基づいて作成されていますか?

信頼性

  • そのイメージはヘルスチェックを行いましたか?
  • デベロッパー達は、自社のインフラに影響を与える可能性のある大きなイメージを作成していますか?
  • デベロッパーはRuby、Node、Java、またはPythonパッケージの非公式バージョンを使用していますか?

JenkinsでDockerイメージをスキャンしビルドする

Jenkins内で作成されたDockerイメージをスキャンする前に必要な準備をしていきます。

Sysdig SecureでJenkinsのDockerイメージスキャンポリシーを作成する

Sysdig SecureとJenkinsのインテグレーションの設定が完了した後に、Jenkinsプラグインで使用されるポリシーを設定しましょう。

注:これは必須ではなく、カスタムポリシーが設定されていない場合、プラグインはSysdig Secure内のデフォルトポリシーを使用します。

Sysdig Secureの[Scanning Policies]ページに移動し、[Add Policy]をクリックして開始します。 上記のセキュリティ、コンプライアンス、および信頼性のユースケースに対応するようなルールを簡単に構成できます。

ルールを作成する最後のステップは、Warnまたは*Stop***のアクションを割り当てることです。 ** *Stop*アクションはビルドをフェイルさせ、イメージが本番環境に移行するのを防ぐために使用できます。

JenkinsによるCI / CDパイプラインの一部としてのDockerイメージのスキャン

ポリシーを設定したら、そのポリシー評価をJenkins内の既存のビルドプロセスに統合します。 完全なドキュメントはSysdig Secure Jenkinsプラグインのドキュメントにあります。

まず、追加のビルド手順* Sysdig Secure Container Image Scanner ***を追加します。

**

次に、このジョブにどのポリシーを参照させたいか、およびポリシーのフェイルしたポリシー評価に基づいてビルドをフェイルさせるかどうかを定義するオプションがあります(Stopアクションがある場合)。

JenkinsでのDocker Imageのリスクとコンプライアンスに関するレポート

次回のビルドの後、追加で生成されたSysdig Secure ReportがJenkinsで入手可能になります。

イメージの特定の脆弱性に関するレポートをさらに詳しく調べるには、[Security]タブをクリックして、脆弱性に特化したページを開きます。

一緒にトライしましょう

これらすべてのデータはSysdig Secure UIにも送信され、そこでイメージ、OSパッケージ情報、設定ファイル、発見された脆弱性、および漏洩する可能性のあるsecretsやcredentialsに関する詳細を表示できます。

また、ここに表示されるものはすべてAPI経由で直接実行することもできます。 そのため、Jenkins以外の他のCI / CDツールを使用している場合にも簡単に統合を行う事が可能です。

Sysdig SecureをCI / CDと統合して、リスク、コンプライアンス、および信頼性を管理する方法について詳しく知りたい場合は、こちらの「How to manage vulnerabilities in container environments online session」をご覧ください。

Sysdigに関するお問い合わせはこちらから

最近の投稿

カテゴリー

アーカイブ

ご質問・お問い合わせはこちら

top