Docker Hub認証:2021年こそDocker Hubで2FAを有効にする年?
2021年3月15日
0 分で読めますこれまでの講演「侵入してコンテナを守る」での聴衆の反応や、最近のTwitterでの反応を見る限り、Docker Hubに比較的最近追加された多要素認証機能を知っている人は多くないようです。
2019年10月、DockerはDocker Hubの認証メカニズムを強化するため、2要素認証のベータ版をリリースしました(2FAとも呼ばれます)。この新機能により、Dockerコンテナのイメージやアプリケーションを扱う主要かつ最大規模のハブにおける、ソフトウェアサプライチェーンのセキュリティがさらに強化されます。
講演では、npmレジストリとDocker Hubレジストリにおけるメンテナーや開発者向けの2FAの提供状況についても取り上げました。Docker Hubのアカウントで2FAを有効にしている人が一人もいない、というスライドを見た聴衆の反応を確かめたかったのです。

この数字の背景には何があるのでしょうか?
簡単に言えば、2019年10月までDocker Hubの認証では多要素認証がサポートされていませんでした。他のレジストリと比較すると、2020年1月に共有されたnpmjsレジストリのデータでは、2FAを有効にしていた開発者は全体のわずか9.27%でした。npmjsで2FAが導入されたのは2017年後半です。開発者のソフトウェアサプライチェーンセキュリティへの対応は遅れています。
Docker Hubが2FAを導入
Docker Hubはコンテナイメージの主要レジストリとして、数百万ものDockerイメージをホストしています。ソフトウェアサプライチェーンのセキュリティを真剣に考える必要があるのは明らかです。
DockerチームがGitHubリポジトリで、Docker Hub認証に2FAを導入する計画を発表したところ、コミュニティから歓迎されました。

2019年10月、Docker Hubの2FAサポートのベータ版が正式に発表され、ユーザーが有効にできるようになりました。
Docker Hubの2要素認証を有効にする
以前、実践すべきDockerイメージのセキュリティに関する10のベストプラクティスをご紹介しました。Docker Hub認証で2FAがサポートされたことは、Dockerイメージとソフトウェアサプライチェーンのセキュリティにおける大きな前進です。プロジェクトのためにも、ぜひ有効にしましょう。攻撃者がアカウントを侵害し、悪意のあるDockerコンテナイメージをコンテナレジストリに混入させるリスクを軽減できます。
Dockerで2要素認証を有効にする方法
2要素認証を有効にするには、Docker Hubのアカウントのセキュリティ設定に移動し、2要素認証を有効にする手順に従ってください。設定が完了したら、ぜひそのことを共有して、周りにも広めましょう!

コンテナイメージのセキュリティ
Docker Hubの2FAだけでセキュリティは十分?
イメージリポジトリへのアクセスを保護するのは大切です。次は、イメージそのものについて考えてみましょう。Snyk Container Scannerを使えば、開発者はデスクトップからイメージをスキャンしてCVEを検出できます。開発者ファーストのセキュリティを実現する、画期的なツールです。Snyk CLIをインストールし、次の簡単なコマンドを実行して試してみてください(node:latestをお使いのイメージタグに置き換えてください)。
イメージのDockerfileが手元にある場合は、上記のコマンドに--file Dockerfileを追加すると、さらに詳しい情報を確認できます。高度なコマンドラインの使い方については、Snyk Container CLIのドキュメントサイトをご覧ください。
Snyk ContainerはDocker Hubのリポジトリと直接連携し、そこにプッシュされたセキュリティ上の脆弱性を包括的に可視化します。また、今後イメージに脆弱性が見つかった場合も監視して通知します。新しいイメージを変更またはプッシュしていない場合でも通知を受け取れます。
Snykはオープンソース向けに無料で利用でき、プライベートプロジェクト向けの無料プランも提供しています。ぜひSnykに登録して、Dockerイメージをテストし、問題を修正してみてください。もちろん、そこで終わらせず、アプリケーションプロジェクトもインポートしましょう!
開発者ファーストのコンテナセキュリティ
Snykは、コンテナイメージとKubernetesワークロードの脆弱性を検出し、自動的に修正します。
続けて取り組みたい、Dockerのセキュリティ対策:
