Dockerデーモンの機能を減らす

Dockerデーモンの機能を減らす

攻撃対象領域を減らすために、本番コンテナを実行するために使用する Docker デーモンの機能を削減したいと考えています。

したい:

  • 単一のレジストリからのプルを制限する
  • 許可しないpush
  • 許可しないbuild
  • おそらく他の多くの機能を許可しない

これはおそらく、デーモンの REST API のいくつかのルートをブロックすることです。

私はこれを読んだデーモン攻撃面の削減に関する Docker ドキュメントしかし、デーモン機能を無効にすることについては何も述べられていません。

それは可能ですか?どうすればできますか?

答え1

まず、Docker API へのアクセスは、通常、ホストのルート アクセスと同等です。ルートとして信頼できないユーザーには、この API へのアクセスを許可しないでください。Docker エンジンで GA に入るルートレス サポートの作業があるため、API をロックダウンしようとするよりも、その作業を調査することをお勧めします。

エンジンを制限する試みのほとんどは、Docker API をより高いレベルの API でラップすることを伴います。たとえば、Kubernetes、Docker EE、およびその他のより高レベルの抽象化は、Docker API への直接アクセスを許可せずに、きめ細かい RBAC を提供します。

とはいえ、あなたが要求したようにdocker APIを制限するには、認証プラグインもともと私が知っていた唯一のオープンソース実装は、ツイストロック。 最近になって、OPAは独自の実装を提供しているその API アクセス権を持つすべてのユーザーは、Docker で持つルート レベルのアクセス権を使用して、そのプラグインを無効にしたり回避したりできる可能性があることに注意してください。

関連情報