コンテナのクラスター全体にデータを保存するために使用される etcd と呼ばれるソフトウェアには問題があります。デフォルトでは認証が実装されていないため、追加の調整を行わずに導入するとセキュリティ上のリスクが生じます。
また、人気のコンテナ オーケストレーション ソフトウェアである Kubernetes が付属しているため、広く使用されています。
ソフトウェア開発者のジョヴァンニ・コラゾ氏は、金曜日のブログ投稿でこの問題を提起しました。彼は、Shodan脆弱性検索エンジンを使用してetcdインスタンスを検索し、約2,300台のetcdサーバーを特定した経緯を説明しています。
その後、彼はetcd APIをクエリするスクリプトを作成し、すべてのアカウントのログインキーを要求しました。その結果、8,700件以上のパスワードに加え、数百個のAWSシークレットキーやその他のAPIキーを取得できました。
「認証情報はどれもテストしていませんが、推測するなら少なくともいくつかは使えるはずです。そこが恐ろしいところです」とコラゾ氏は述べた。「ほんの数分の余裕があれば、誰でも数百ものデータベース認証情報のリストを入手できてしまう可能性があり、それを使ってデータを盗んだり、ランサムウェア攻撃を実行したりできるのです。」
深刻な懸念
Bad Packets Reportのセキュリティ研究者Troy Mursch氏は、The Registerへの電子メールで、「私は独自にこの問題を検証し、インターネットに公開されているetcdを実行しているすべての人にとって深刻な懸念事項であることを確認しました」と述べた。
この問題は、開発者が認証なしでソフトウェアをインストールできるNoSQLデータベースであるMongoDBにおいて、以前にも発生しています。開発者はまさにそのようにしてしまい、昨年1月にその行為を後悔することになりました。
MondoDB は昨年末にソフトウェアの動作を変更しました。
「MongoDBは昨年11月、バージョン3.6のリリースにより、サーバー自体のネットワークバインディングをデフォルトでセキュアなものに変更し、ローカル認証のみで起動するようになりました」と同社の広報担当者はThe Registerへの電子メールで述べた。
MongoDB を安全にする方法 – デフォルトでは保護されておらず、何千もの DB がハッキングされている
続きを読む
「サーバーは、ネットワークに接続するためにサーバーを再設定する前に認証を設定するようユーザーにアドバイスしていますが、最新バージョンのアップデートにより、デフォルトで意図せず開かれる設定が防止されるようになりました。」
Red Hat の CoreOS 担当 CTO であり、etcd の主要な貢献者の 1 人である Brandon Philips 氏は、 The Registerへの電子メールで、分散データ ストアを展開する人が安全な展開の責任を負うべきだと提案しました。
「この状況では、etcdのセキュリティ機能を活用しておらず、ポートを開いたままにしている人がいるようです。これはあらゆるデータベースで問題となる可能性があります」とフィリップス氏は述べた。「セキュリティには適切な設定が必要です。etcdコミュニティは適切なセキュリティ設定に関する複数のガイドを提供しており、etcdを使用する製品やプロジェクトには安全な設定を導入することをお勧めします。」
Collazo 氏は、開発者が自ら足を撃ってしまう事態を避けるために、etcd チームがもっと努力すべきだと主張しています。
「etcdチームが立場を改めて、すぐに破壊的な変更を行い、デフォルトで認証を有効にすることを心から願っています」と彼は述べた。「MongoDBの経験から学んだように、これは本来素晴らしいソフトウェアから簡単に削除できる大きな足手まといです。」®