sudo なしで Docker を実行してはいけない 3 つの理由

sudo なしで Docker を実行してはいけない 3 つの理由

Docker は、最も使用されているコンテナー化プラットフォームの 1 つであり、ソフトウェア エンジニアの間で非常に愛されています。Docker コンテナーおよびその他の関連タスクを管理するための強力な CLI ツールが付属しています。

デフォルトでは、Linux で Docker 関連のコマンドを実行するには root 権限が必要です。もちろん、便宜上これを変更して、root 権限なしで Docker コマンドを実行することもできますが、セキュリティへの影響に注意する必要があります。

Docker 攻撃面とは?

攻撃面とは、悪意のあるユーザーがシステムに侵入して大混乱を引き起こすために使用できる攻撃ポイントの数であり、ウィンドウの数に似ています。経験則として、セキュリティ リスクを軽減するために、IT システムは最小限の攻撃面を持つ必要があります。

一般に、Docker の攻撃対象領域はごくわずかです。コンテナは安全な隔離された環境で実行され、別の方法がない限り、ホスト オペレーティング システムに影響を与えません。さらに、Docker コンテナーは最小限のサービスのみを実行するため、安全性が向上します。

sudo 特権なしで Docker を制御するように Linux システムを構成できます。これは開発環境では便利ですが、本番システムでは深刻なセキュリティ上の脆弱性になる可能性があります。これが、sudo なしで Docker を実行してはならない理由です。

1. Docker コンテナを制御する機能

sudo 権限がなければ、システムまたはサーバーにアクセスできる人なら誰でも Docker のあらゆる側面を制御できます。彼らは Docker ログ ファイルにアクセスでき、意図的に、または誤ってコンテナーを停止および削除できます。また、ビジネスの継続性に不可欠な重要なデータを失う可能性もあります。

運用環境で Docker コンテナーを使用している場合、ダウンタイムはビジネスと信頼の損失につながります。

2. ホスト OS ディレクトリを制御する

Docker Volumes は、ホスト OS 上の指定されたフォルダーにコンテナー データを書き込むことで、コンテナー データを共有および永続化できる強力なサービスです。

sudo なしで Docker を実行することによる最大の脅威の 1 つは、システム上の誰もがルート ディレクトリを含むホスト OS のディレクトリを制御できることです。

Linux Docker イメージ (Ubuntu イメージなど) を実行し、次のコマンドを使用してルート フォルダーにマウントするだけです。

docker run -ti -v /:/hostproot ubuntu bash

また、Linux Docker コンテナーはルート ユーザーとして実行されるため、基本的にはルート フォルダー全体にアクセスできることを意味します。

前述のコマンドは、最新の Ubuntu イメージをダウンロードして実行し、ルート ディレクトリにマウントします。

Docker コンテナ ターミナルで、cd コマンドを使用して/hostprootディレクトリに移動します。

cd /hostproot

ホスト OS のルート フォルダーを Docker コンテナーにマウントする

ls コマンドを使用してこのディレクトリの内容を一覧表示すると、現在コンテナーで使用できるホスト OS のすべてのファイルが表示されます。これで、ファイルの操作、シークレット ファイルの表示、ファイルの非表示と非表示の解除、権限の変更などを行うことができます。

3.悪意のあるソフトウェアをインストールする

巧妙に作成された Docker イメージは、バックグラウンドで実行され、システムを操作したり、機密データを収集したりできます。さらに悪いことに、悪意のあるユーザーが Docker コンテナーを介してネットワーク上に悪意のあるコードを拡散する可能性があります。

Docker コンテナーにはいくつかの実用的な使用例があり、各アプリケーションにはさまざまなセキュリティ上の脅威が伴います。

Linux で Docker コンテナを保護する

Docker は強力で安全なプラットフォームです。sudo なしで Docker を実行すると、攻撃対象領域が拡大し、システムが脆弱になります。本番環境では、Docker で sudo を使用することを強くお勧めします。

システム上に非常に多くのユーザーがいると、各ユーザーに権限を割り当てるのが非常に難しくなります。このような場合、アクセス制御のベスト プラクティスに従うと、システムのセキュリティを維持するのに役立ちます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です