先週の土曜日、18月XNUMX日、Kenna Securityのジェリー・ガンブリン氏 Docker Hub の最も人気のある 1000 個のイメージ (root ユーザーに使用されるパスワード別)。 19% のケースでは空であることが判明しました。

アルパインの背景
このミニ調査の理由は、今月初めに発表された Talos 脆弱性レポート ()、その作成者は、Cisco Umbrella の Peter Adkins 氏の発見のおかげで、人気のある Alpine コンテナ ディストリビューションの Docker イメージには root パスワードがないことを報告しました。
「公式アルパインドッカーイメージ」 Linux (v3.3以降)rootユーザーのパスワードがNULLになっている脆弱性があります。この脆弱性は、2015年12月に発生したリグレッションの結果として導入されました。脆弱性の本質は、影響を受けるバージョンのAlpineが展開されているシステムにおいて、 Linux 容器に入れて使用 Linux PAM、またはシステムシャドウファイルを認証データベースとして使用する別のメカニズムは、rootユーザーのパスワードとしてNULLを受け入れる可能性があります。
この問題についてテストされた Alpine Docker イメージのバージョンは 3.3 ~ 3.9 と、Edge の最新リリースでした。
著者は影響を受けるユーザーに対して次の推奨事項を行いました。
「影響を受けるバージョンのAlpineに対して構築されたDockerイメージでは、rootアカウントを明示的に無効にする必要があります。脆弱性の悪用は環境に依存し、悪用が成功するには、外部に公開されたサービスまたはアプリケーションが使用する必要があります。 Linux PAMまたはその他の類似のメカニズム。
問題は Alpine バージョン 3.6.5、3.7.3、3.8.4、3.9.2、および Edge (20190228 スナップショット) では、影響を受けるイメージの所有者は、root を使用して行をコメントアウトするように求められました。 /etc/shadow またはパッケージが不足していることを確認してください linux-pam.
Docker Hubからの続き
Jerry Gamblin さんは、「コンテナ内で null パスワードを使用する習慣がどの程度一般的であるか」について調査することにしました。 これを行うために、彼は小さなことを書きました 、その本質は非常に単純です。
- Docker Hub の API への CURL リクエストを通じて、そこでホストされている Docker イメージのリストがリクエストされます。
- jq経由でフィールドごとにソートします
popularity、得られた結果から、最初の XNUMX が残ります。 - それぞれについて、
docker pull; - Docker Hub から受信した各イメージに対して、
docker runファイルから最初の行を読み取る/etc/shadow; - 文字列値が次の値に等しい場合
root:::0:::::、画像名は別のファイルに保存されます。
どうしたの? の 人気のあるDockerイメージの名前が194行ありました。 Linux-ルートユーザーにパスワードが設定されていないシステム:
「このリストに載っている最も有名な企業としては、govuk/governmentpaas、ハシコープ、マイクロソフト、モンサント、メソスフィアなどが挙げられます。 そして、kylemanna/openvpn はリストの中で最も人気のあるコンテナであり、10 万回以上のプルが行われています。」
ただし、この現象自体は、それらを使用するシステムのセキュリティに直接的な脆弱性があることを意味するものではないことを思い出してください。それはすべて、それらがどのように正確に使用されるかによって決まります。 (上記の Alpine のケースからのコメントを参照)。 ただし、「この話の教訓」はすでに何度も見てきました。見かけの単純さには多くの場合マイナス面があり、テクノロジを使用するシナリオではそのことを常に覚えておいて、その結果がどのような結果をもたらすかを考慮する必要があります。
PS
私たちのブログもお読みください:
- «";
- «";
- «";
- «'。
出所: habr.com
