Docker Hub データ漏えいによるマイクロソフトのコンテナー レジストリへの影響はなし
執筆者: Steve Lasker (Program Manager, Azure Container Registry)
このポストは、2019 年 4 月 28 日に投稿された Microsoft container registry unaffected by the recent Docker Hub data exposure の翻訳です。
Docker は先日、Docker Hub が短時間のセキュリティ侵害を受けたことを発表しました (英語)。Docker Hub データベースの 1 つに不正アクセスがあり、約 19 万件のアカウントとそれに関連する自動ビルド用の GitHub トークンが漏えいした可能性があるということです。当初の情報によると、アカウントのハッシュが漏えいしたことで脆弱性によってイメージが書き換えられた可能性が考えられ、Docker 公式のイメージや microsoft/ 組織のイメージもそれに含まれるのではないかと見られていましたが、その可能性はありませんでした。Docker Hub でホストしているマイクロソフト公式のイメージは侵害されていないことをマイクロソフトは確認済みです。
Microsoft Container Registry (MCR) からマイクロソフトのイメージを利用
クラウドおよびソフトウェアの企業であるマイクロソフトは、2018 年 5 月より、公式のイメージを Docker Hub から提供することから、マイクロソフトから直接提供するように移行してきました。なお、既存のお客様に支障が出ないよう、Docker Hub で提供していたイメージは引き続き Docker Hub からご利用いただけます。一方、新しいマイクロソフトのイメージとタグは、mcr.microsoft.com の Microsoft Container Registry (MCR) から直接提供されます。イメージの検索は Docker Hub (英語) から可能ですが、pull/run/build ステートメントは mcr.microsoft.com を参照する必要があります。たとえば、windows-servercore (英語) イメージを pull するには次のように実行します。
docker pull mcr.microsoft.com/windows/servercore
公式の microsoft/ (英語) 組織のイメージは、これと同じ形式となります。
マイクロソフト公式のイメージは、mcr.microsoft.com から取得することをお勧めします。
推奨のベスト プラクティス
Docker Hub およびマイクロソフトからコミュニティや公式のイメージを活用することは、今日のクラウド ネイティブな開発にとって重要なことです。同時に、こうした公開されているイメージと運用環境のワークロードの間にワンクッションを置くことも非常に大切です。このワンクッションによって、可用性、パフォーマンス、信頼性、脆弱性のリスクを制御できます。どのクラウド サービスを利用するにしても、またオンプレミスで作業する場合でも、運用環境向けのイメージをプライベート レジストリにインポートすることが、イメージのプルの認証、可用性、信頼性、パフォーマンスを管理するためのベストプラクティスです。詳細については「Docker コンテナー レジストリを選択する (英語)」をご覧ください。
コンテナーのビルドを自動化
プライベート レジストリを利用するほかに、会社用の統合認証のしくみを組み込んだクラウド コンテナー ビルド システムを使用することもお勧めします。たとえば Azure では、OS や .NET Framework のパッチ適用を含むコンテナーのビルド自動化に対応した Azure Pipelines や ACR タスクを提供しています。また、ACR は Docker Hub や他のレジストリからイメージをインポートする az acr import コマンドもサポートしており、上述のワンクッションにも対応しています。
マイクロソフトは今後も引き続き、お客様のソフトウェアおよびワークロードのセキュリティ強化と信頼性向上に努めていきます。