特定のアプリケーションに対してグループとユーザーを作成することが推奨されるのはなぜですか?

特定のアプリケーションに対してグループとユーザーを作成することが推奨されるのはなぜですか?

/usr/local/<myapp>ほとんどの場合、ソースからプログラムをインストールするときは、新しいユーザーと新しいグループを作成し、最近作成したユーザーとグループに所有権を付与することをお勧めします。

  • この慣行がベストプラクティスと見なされるのはなぜですか?

  • どのように改善されますか?

例:MySQLデータベースサーバー用のmysqlユーザー/ mysqlグループ。

ベストアンサー1

アプリケーションごとに 1 つのユーザーとグループを作成するのではなく、各サービスに対して 1 つのユーザーとグループを作成することが慣行です。つまり、ローカルユーザーが実行するプログラムは root 以外のユーザーとしてインストールする必要はありません。それ悪魔、バックグラウンドで実行され、ネットワークまたは他の通信手段を介して行われた要求を実行するプログラムである場合、これらのプログラムは専用ユーザーとして実行する必要があります。

デーモンは専用ユーザーとして実行されるため、誤動作の場合(攻撃者によって引き起こされる可能性のあるバグのため)ダメージが制限されます。攻撃者がローカルルートを見つけない限り、デーモンのデータファイルのみが影響を受けます。脆弱性)これが起こる可能性があります)。たとえば、データベースデーモンは、データベース()のデータファイルが属するmysqld専用のユーザーとグループで実行されます。mysql:mysql/var/lib/mysql/*mysql:mysql

デーモン実行可能ファイルとデーモンで使用されるが変更しないその他の静的データおよび構成ファイルは、ほとんどroot:rootのプログラムおよび構成ファイルのように専用ユーザーに属してはいけません。プロセスがビジネス上書きまたは存在しないため、mysqldこれらのファイルはこのユーザーに属できないか、このユーザーまたはグループは書き込めません。一部のファイルをデーモンと管理者のみが読み取ることができる必要がある場合は、そのファイルはモード0640()を使用してrootユーザーと個人グループが所有する必要があります。/usr/sbin/mysqld/etc/mysql/my.cnfmysqlmysqlmysqlrw-r-----

ユーザーが所有できない特別なクラスの実行可能ファイルは、ユーザーが呼び出すがroot:root実行するには追加の権限が必要なプログラムです。これらの実行可能ファイルは次のようになります。設定値root rootとして(少なくとも部分的に)実行する必要がある場合、実行可能ファイルにはモード4755(rwsr-xr-x)が必要です。プログラムに追加の権限が必要ですが、rootではない場合は、追加の権限がユーザー以外のグループに渡されるようにプログラムをsetgidする必要があります。実行可能ファイルのモードは2755(rwxr-sr-x)です。 2つの理由があります:

  • 実行可能ファイルは自己修正を許可してはいけません。そのため、ユーザーが脆弱性を悪用している場合は、プログラムで使用されるデータファイルを変更することはできますが、注入することはできません。トロイの木馬プログラムを実行している他のユーザーを攻撃するには、実行可能ファイルにアクセスしてください。
  • 実行可能ファイルのデータファイルはこのグループに属します。 setuidプログラムは、個人データファイルにアクセスするために実際のユーザー(プログラムを呼び出すユーザー)と有効なユーザー(プログラムを実行しているユーザー)を切り替える必要があります(これが追加の権限を持つ理由です)。 setgidプログラムは、グループからのみアクセスできるユーザー固有のデータを分離することもできます(たとえば、rootおよびプログラムグループのみがアクセスできるディレクトリにユーザー所有ファイルを保存するなど)。

おすすめ記事