Skip to main content

開発者向けSnyk・Dockerセキュリティガイドを公開

blog feature docker labels

2020年11月18日

0 分で読めます

コンテナの脆弱性スキャン結果を初めて目にした方もいるでしょう。すでにいくつか、あるいはかなり多くの問題が見つかっているかもしれません。イメージをスキャンして、数十件、数百件もの脆弱性が一覧に表示されたら、気が遠くなることもあるでしょう。ご安心ください!こうした問題に対処するための基盤づくりに役立つ、開発チーム向けコンテナセキュリティガイドを公開します。

Snyk Containerは、コンテナイメージに何が含まれているか、コンテナやOSのセキュリティ上の落とし穴に詳しくない開発者がどのように問題を修正できるか、そして数多く見つかる可能性のある脆弱性の中でどこに注力すべきかを明らかにします。

開発者のための実践的なガイド

セキュアなコンテナを構築するためのベストプラクティス集は数多くありますが、「コンテナの脆弱性をスキャンする」といった項目が一つあるだけ、ということも珍しくありません。考え方は正しいものの、脆弱性を把握した後に何をすればよいのでしょうか。実は、次に何をすべきかという問題はコンテナの脆弱性に限りません。これが、当社の社名がSnykである理由の一つです。「So Now You Know(これで分かった。では次は?)」!

コンテナの脆弱性ダッシュボード。重大度別の件数とスキャン結果、および本番環境でのコンテナ実行が許可されていないことを示す警告が表示されています。

コンテナに脆弱性があると分かったところで、どう対処すればよいのでしょうか?

当社の製品が技術面の課題の一部を解決すると考えていますが、人やプロセスに関わる教育的な側面は、製品に簡単に組み込めるものではありません。そこで、このガイドが役立ちます。コンテナイメージの構築やスキャンにどのツールを使う場合でも、コンテナの脆弱性に対処するためのプロセスを始める際の指針をご紹介します。

まず、コンテナセキュリティ全般を概説し、次にコンテナイメージのセキュリティについて詳しく解説します。そのうえで、コンテナの脆弱性に対処するプロセスと、他の組織が安全なイメージを共同で構築するために導入し、成果を上げているDevSecOpsワークフローの例をご紹介します。また、コンテナ内で自社コードを安全に保つ方法、Docker Officialイメージを使うべき理由、セキュリティの観点から最適なベースイメージを選ぶ方法も取り上げます。

ヒント:この点では、当社の製品が大いに役立ちます!

ご安心ください。プロセスの手引きだけではありません。豊富な事例とコードも掲載しています。

$> docker build -t hello-python:slim . -f Dockerfile.slim
[+] Building 0.4s (8/8) FINISHED
 => [internal] load build definition from Dockerfile.slim                                                                                                               0.0s
 => => transferring dockerfile: 78B                                                                                                                                     0.0s
 => [internal] load .dockerignore                                                                                                                                       0.0s
 => => transferring context: 2B                                                                                                                                         0.0s
 => [internal] load metadata for docker.io/library/python:slim                                                                                                          0.3s
 => [1/3] FROM docker.io/library/python:slim@sha256:9ab472fc54e9ed1064c97ff26baa16f3aad8009c03e9adf63d408f39ad3dc983                                                    0.0s
 => [internal] load build context                                                                                                                                       0.0s
 => => transferring context: 66B                                                                                                                                        0.0s
 => CACHED [2/3] WORKDIR /app                                                                                                                                           0.0s
 => CACHED [3/3] COPY hello.py /app                                                                                                                                     0.0s
 => exporting to image                                                                                                                                                  0.0s
 => => exporting layers                                                                                                                                                 0.0s
 => => writing image sha256:259d236f493082154e71152881754ea50c5bf7b882413bba2b92c356af6bf83a                                                                            0.0s
 => => naming to docker.io/library/hello-python:slim                                                                                                                    0.0s

$> docker run --rm -it hello-python:slim
Hello world!

$> snyk container test hello-python:slim --file=Dockerfile.slim

Testing hello-python:slim...
...
Package manager:   deb
Target file:       Dockerfile.slim
Project name:      docker-image|hello-python
Docker image:      hello-python:slim
Platform:          linux/arm64
Base image:        python:slim
Licenses:          enabled

Tested 106 dependencies for known issues, found 48 issues.

According to our scan, you are currently using the most secure version of the selected base image

ご意見をお聞かせください

この開発チーム向けコンテナセキュリティガイドが、コンテナイメージのスキャンを始める際にお役に立てば幸いです。このガイドではベストプラクティスを紹介していますが、それを実現するにはユーザーの皆さまから継続的にご意見をいただくことが欠かせません。

ぜひ取り上げてほしい優れたプラクティスがあれば、Snyk Communityサイトからお知らせください。

開発者ファーストのコンテナセキュリティ

Snykは、コンテナイメージとKubernetesワークロードの脆弱性を検出し、自動的に修正します。

続きを読む

feature customer snowflake
Article

開発初期からセキュリティを確保:Snowflake Cortex Code向けSnyk Studioインテグレーションを発表

Snyk StudioがSnowflake Cortex Codeと連携し、開発中にAI生成コード、依存関係、コンテナの脆弱性をスキャンします。

blog feature pypi spoof
Article

オープンソースのメンテナーに、Snyk AI Security Platformをすべて無料で提供

オープンソースのメンテナーは、実際の脆弱性レポートに追われ、優先順位付けや修正、修正版のリリースを迅速に進めるための支援を必要としています。SnykのSecure Developer Programでは、条件を満たすプロジェクトにSnyk AI Security Platformを無料で提供します。

feature insights announcement
Blog

Node-gypサプライチェーン侵害:binding.gypに潜む自己増殖型npmワーム

新たなnpmワームがbinding.gypを悪用し、インストール時にnode-gypを起動。ライフサイクルスクリプトを使わずに悪意あるパッケージからコードを実行します。認証情報を窃取し、GitHub上に潜伏し、メンテナー間で自己増殖します。