Skip to main content

JetBrains向けSnykプラグインにコンテナとIaCのセキュリティを追加

著者
Headshot of Georgi Mitev

Georgi Mitev

feature snyk jetbrains

2022年3月3日

0 分で読めます

JetBrains IDE向けのSnyk無料プラグインに、コードやオープンソース依存関係のセキュリティに加え、Infrastructure as Code(IaC)とコンテナのセキュリティが加わりました。

本日より、JetBrains IDEを使用する開発者は、ボタンをクリックするだけでアプリケーション全体を保護できるようになりました。Snyk Security for JetBrainsはコードのセキュリティを強化し、JetBrains IDE内で問題を見つけて修正できるようにすることで、手作業によるコードレビューにかかる時間を削減します。

これは、セキュリティを開発者の手に委ね、開発の早い段階へ移行しようとする開発チームやセキュリティチームにとって、特に重要です。SnykはJetBrains IDEにセキュリティをネイティブに組み込むことで、開発の初期段階からセキュリティ上の問題を簡単に発見・修正できるようにします。コードに沿った修正ガイダンスを提供し、作成時点でより安全なコード、コンテナ、設定を実現します。

以前の記事SnykのJetBrains IDEプラグインで安全なコーディングを実現でご紹介したように、SnykプラグインはすべてのJetBrains IDEで、独自コード、オープンソース依存関係、コンテナ、IaCのセキュリティ問題に対応します。

JetBrains向けSnykプラグイン

JetBrainsのIDEファミリーは、開発者の生産性を重視した製品として高く評価されています。コードの品質や正確性から、コードセキュリティツールまで、ソフトウェア開発のあらゆる側面に対応するプラグインが用意されています。

SnykのJetBrainsプラグインは、次のようなアプリケーションのセキュリティ全般に対応します。

  • オープンソース依存関係に含まれるセキュリティ脆弱性(Snyk Open Source)。

  • 自社開発コードのセキュリティ脆弱性とコード品質の問題(Snyk Code)。

  • Terraform、AWS CloudFormation、Kubernetes、Azure Resource Manager(ARM)などのInfrastructure as Codeにおける設定の問題(Snyk IaC)

  • Kubernetesワークロードファイルで見つかったコンテナイメージのセキュリティ脆弱性(Snyk Container)

オープンソース、コード、コンテナ、IaCのセキュリティテストに加え、マニフェストファイルを調べる際に、コード品質を評価するためのSnyk Advisorの分析情報も利用できます。

導入は簡単です。

  1. Snyk JetBrainsプラグインをインストールする

  2. 無料のSnykアカウントに接続する

  3. JetBrains IDEでコードの保護を開始する

IaCの設定ミスを検出して修正する

Snyk JetBrainsプラグインのIaCセキュリティ機能は、スキャンのたびにTerraform、Kubernetes、AWS CloudFormation、Azure Resource Manager(ARM)のコード内にある設定の問題を検出します。Snyk CLIをベースにしているため、スキャンは高速で、ローカル開発にも適しています。設定ファイルがSnykのサーバーに送信またはアップロードされることはないため、プライバシーの心配もありません。

簡単なスキャンを実行して、IaCスキャンでどのような情報が得られるかを詳しく見てみましょう。

結果ツリー内のIaCの問題をクリックすると、問題が見つかったコードの行に直接移動できます。また、各問題には重大度を示すアイコン(高、中、低)が付いているため、リスクの高い問題から優先して対応できます。

コードエディター内のSnykプラグインが、プロバイダー属性で設定されたAWS認証情報など、Terraform設定の問題を検出しています。

問題の内容をすばやく把握して修正できるよう、Snykプラグインでは次の情報を確認できます。

  • 説明:どのような設定ミスか

  • 影響:設定ミスがどのように悪用される可能性があるか

  • パス:ツリー内のどのパスで問題が発生しているか。

  • 修正方法:問題を修正する方法。

  • 参考情報:さまざまな情報源から詳細を調べられる場所。

  • 無視:問題を無視する必要がある場合も対応できます。右上にあるボタンをクリックしてください。

Snykの修正ガイダンスを活用して、これまでに何百万件もの問題が迅速かつ正確に修正されてきました。内容がわかりにくい場合は、ぜひお問い合わせください。喜んで確認いたします。

IaCの設定ミスを修正したところで、次はコンテナイメージの脆弱性を見てみましょう。

コンテナイメージの脆弱性を検出して修正する

プラグインのコンテナセキュリティ機能は、Kubernetes設定ファイルをスキャンしてコンテナイメージを検索します。抽出されたコンテナイメージを分析し、Snyk Intel Vulnerability Databaseの最新情報と照合することで、脆弱性をすばやく検出します。

その結果、クラスターで実行する予定のイメージに含まれるセキュリティ脆弱性の一覧が表示され、必要に応じてベースイメージのアップグレード方法も提案されます。

nginxとpostgresのコンテナを含むKubernetesデプロイメントYAMLと、nginx:1.17.1のSnyk脆弱性スキャンを並べて表示するIDE

イメージに含まれる可能性のあるセキュリティ脆弱性を一つずつ確認できます。さらに、重要な機能をいくつかご紹介します。

  • 上のカラフルな比較表では、重大度(クリティカル、高など)ごとに脆弱性が表示されています。重大度順に整理されており、現在のイメージと、同じ特性を持つSnyk推奨イメージに含まれる脆弱性の違いがわかります。推奨イメージにアップグレードするかどうかを判断し、本番環境で実行するイメージへの信頼性を高めるのに役立ちます。

  • イメージをアップグレードする場合も、JetBrainsらしいクイックフィックス機能を使って簡単に実行できます。

さらに、JetBrainsのアノテーション機構との連携を強化し、IaCとコンテナの問題を「問題」タブに表示することで、視認性と使いやすさを高めています。

JetBrainsにSnykプラグインをインストールする

まずJetBrainsを開き、IDE内からPreferences > Pluginsに移動します。

JetBrainsの設定ウィンドウで「プラグイン」が選択され、Marketplaceで「Snyk」が検索され、Snykプラグインの「インストール」ボタンが強調表示されています。
「Preferences」から「Plugins」に移動し、「Snyk」を検索します。

JetBrains Marketplaceで「Snyk」を検索し、Installをクリックします。数秒後、サイドバーにSnykプラグインのパネルが表示されます。

サイドバーにSnykパネルが表示されたJetBrains IDE。オープンソース、コード、構成、コンテナの脆弱性に対するスキャンカテゴリが表示されています。
サイドバーのSnykパネル。

Patch the dogの親しみやすい顔が表示されたら、プラグインはインストール済みです。

JetBrains IDEをSnykに接続する

次に、認証を行ってSnykをIDEに接続します。

今すぐコードをテストボタンをクリックすると、SnykのWebアプリケーションに移動します。画面の案内に従って認証し、無料のSnykアカウントにログインしてください。この画面からSnykアカウントを作成するか、既存のアカウントにログインできます。

認証後にIDEへ戻ると、自動的にスキャンが開始されています。

Snykがオープンソース、コード、設定、コンテナの脆弱性をスキャンしている、JavaScriptプロジェクトを表示したJetBrains IDE。
プロジェクトの脆弱性をスキャンしています。

Snyk JetBrains IDEプラグインの今後

Snyk IaCとSnyk Containerの追加により、ボタンをクリックするだけでSnykのすべての機能を利用できるようになりました。オープンソース依存関係、自社開発コード、本番環境で実行しているコンテナイメージ、そして本番環境でイメージを実行するためのInfrastructure as Codeをスキャンできます。

Snykは開発者向けのセキュリティ企業であり、IDEはセキュリティを開発の早い段階に取り入れるための手段の一つです。2021年には、お好みのIDEでSnykを使えるよう、強固な基盤を構築しました。2022年には、IDE内でSnykの力を最大限に活用し、開発者にとって最も使いやすい方法でアプリケーションを保護できるようにします。どうぞご期待ください。それではまた!

ソースコードの段階からインフラを保護

Snykはワークフロー内のIaCセキュリティとコンプライアンスを自動化し、構成ドリフトや不足しているリソースを検出します。