2017-10-21 3 views
1

私は、必要に応じてコンテナを実行するために、ドッカーapiと対話するためのフラスコ付きの小さなアプリケーションを作成しています。このアプリケーションをドッカーのコンテナに展開したいと思います。しかし、ローカルホスト上でroot権限を持っているので、ドッカーソケットをマウントすることは比較的悪いことを理解しました。コンテナ内のドッカークライアントと正しく対話する方法

この警告を回避するために、コンテナ内のドッカーapiにアクセスする適切な方法はありますか?

答えて

1

なぜDockerソケットを特権のないコンテナに取り付けるのが悪い考えですか?
UNIXソケットをDockerコンテナにマウントするには、Dockerデーモンソケットのアクセス権を変更する必要があります。これは明らかに、root以外のユーザーにDockerデーモンにアクセスする権限を与える可能性があります。権限の昇格攻撃が心配な場合には問題になる可能性があります。 (source

本当にDockerソケットを保護する必要はありますか?
これはあなたの用途によって異なります。あなたのサーバー上に多くのユーザーがいて、特にあなたのアプリケーションに影響を与える特権のないユーザーが心配している場合は、ソケットを確実に固定してください。これが完全にアプリケーションに専念している仮想マシンの場合、安全性が低い可能性があります。

どうすれば安全にソケットと対話できますか?
アクセス許可(described here)を変更し、ソケットをコンテナにマウントしてください。それは簡単です。

ソケットと安全にやり取りするにはどうすればよいですか?私はこれを行うための2つの良い方法があると思い

  1. は、TLS認証とドッカーデーモンが有効になって再起動します。 Unixソケットにアクセスするのではなく、HTTPSを使用して署名入りのSSLキーでアクセスします。これを設定する方法については、hereをご覧ください。

  2. hereのように、Unixソケットで認証プラグインを使用してください。

関連する問題