2016-03-02 17 views
5

ドッカーイメージの作成時に基づいて異なるコンテナを生成する可能性があるため、ドッカーファイル内に「yum update」を含めることは避けたいですが、基本システムを更新する必要がある場合はセキュリティ上の問題が発生する可能性があります。組織にとって幅広い基本システムイメージを持ち、それを更新するのが最良の選択肢ですか?セキュリティ更新プログラムを適用するたびに組織全体にすべてのアプリケーションを再構築して展開する必要があるという問題があります。ドッカーのコンテナ内のセキュリティアップデートをどのように処理できますか?

私のためにちょっとした外見がありますが、単にコンテナ内のセキュリティアップデートを無視して、ホストマシン上のセキュリティアップデートを気にするだけです。ここで考えられるプロセスは、攻撃者がコンテナに入るためには、ホストマシンに脆弱性が存在すること、ドッカーエンジン内の別の脆弱性がコンテナに侵入する必要があること、そしてコンテナは、非常に起こりそうな一連の出来事のようです。ユーザーの名前空間とseccompプロファイルの導入により、これはリスクをさらに低減するようです。

とにかく、CI/CDパイプラインへの影響を最小限に抑えて、またはインフラストラクチャ全体を頻繁に再配備する必要がないように、コンテナ内のセキュリティ更新をどのように処理できますか?

+1

https://jpetazzo.github.io/2015/05/27/docker-images-vulnerabilities/ – user2915097

+0

これはすばらしいリソースです!記事をありがとう – jaumann

+0

同僚がこの午前中にこの記事を送ってくれました。これは、この特定の問題にも対処しているようで、インフラストラクチャ全体を再導入する必要はありません。https://www.hastexo.com/blogs/florian/2016/02/ 21/containers-just-because-everyone-else /#。VsmK2oUo_qD – jaumann

答えて

1

中間更新レイヤーを導入することで、ビルドの反復性を緩和できます。

のような画像を作成します。

FROM centos:latest 
RUN yum update -y 

、画像を作成し、それをタグ付けし、それをプッシュします。変更しない限り、ビルドは変更されません。

他のDockerfilesをmyimage:latestに設定すると、自動更新を取得したり、特定のリリースを指定したりすることができます。

私のCIシステムをセットアップした方法は、更新を伴う基本イメージの構築が成功した(手動の)ビルドが、それに依存するイメージの構築を引き起こすことです。

セキュリティ上の問題が報告されますか?更新されたパッケージが利用可能であることを確認するか、Dockerfileで一時的な修正を行います。ビルドをトリガーします。 しばらくすると、あなたのすべてのアプリケーションの固定バージョンがすぐに配備されます。

+0

これは私たちが最終的に行く方法になると思います。理想的ではありません。何かパッチが当たったときに企業全体を再展開する必要がありますが、これは単に生き残る必要があるかもしれません。 – jaumann

1

ほとんどのメジャーディストリビューションでは、必要に応じて最新の重要なアップデートやセキュリティフィックスを含む新しいベースイメージが頻繁にリリースされます。これは、単に最新のベースイメージをプルして修正を取得し、イメージを再構築できることを意味します。

また、コンテナがyumを使用しているので、yumを利用して更新するパッケージを制御できます。 Yumを使用すると、特定のOSリリースにアップデートを固定できるように、リリースバージョンを設定することができます。

あなたがRHEL 7.2を使用している場合たとえば、あなたが持つかもしれないようなものになりますDockerfile:

FROM rhel:7.2 
RUN echo "7.2" > /etc/yum/vars/releasever 
RUN yum update -y && yum clean all 

これはRHEL 7.2にとどまるとだけしても、重要なパッケージの更新を受け取ることが保証さあなたは完全なyumアップデートを行います。

利用可能なyum変数やその他の設定オプションの詳細については、「yum.conf」のマニュアルページを参照してください。

また、より細かいアップデートのコントロールが必要な場合は、 'yum-plugin-versionlock'パッケージをチェックアウトすることができますが、それはあなたの必要性を過度に超えている可能性があります。

関連する問題