web-dev-qa-db-ja.com

タスクごとに個別のユーザー?

先日、VPSサーバーを入手しました。サーバー管理は初めてですが、Ubuntu(11.04)はそれほど新しいものではありません。私はそれをリビングルームでHTPCとして使用しており、以前はチームスピークサーバー用にオンとオフで使用していたVPSを持っていました。これは私が長期間使用するために設定しているものです。そのため、サーバーで実行しているWebサイトやタスクに関するベストプラクティスを知りたいと思います。各ウェブサイトを独自のユーザーグループまたは独自のユーザー名で分離することが有益である可能性があることを理解しています。私はnginxをセットアップして、すべてのユーザーディレクター(したがって各Webサイト)を読み取ることができるが、他には何も触れないようにしました。 TeamSpeakの場合と同じように、TeamSpeakのユーザーを作成して、TeamSpeakが独自の制限された領域内で動作するようにする必要がありますか、それともこれはやり過ぎですか?

私はサーバー上のrootにアクセスできます。現在の計画では、約4つのWebサイトとTeamSpeakサーバーを実行する予定です。私のスタックはLinux(Ubuntu 11.04 LTS)、nginx、およびPHP 5.4.3(データベース用のPDO SQLite 3組み込みドライバーを使用)です。PHP =独自のユーザーグループを持っていますか、それともnginxで配置しても大丈夫ですか?

4
Mark Tomlin

Teampeakのようなサービスのベストプラクティスは、それらを別々のユーザーとして、できれば刑務所で実行することです-刑務所を設定するためのガイドは https://help.ubuntu.com/community/BasicChroot にあります

これは、ソフトウェアのエクスプロイトが引き起こす可能性のある損害を制限するために行われます。サーバーの残りの部分ではなく、teamspeakのファイルを台無しにすることに限定されることを願っています。

PHPとWebサーバーは、同じファイルにアクセスする必要があるため、多くの場合、ユーザーを共有できます。

ネットワークサービスを悪用すると、攻撃者がそれを実行しているユーザーと同じ権限を取得する可能性があるため、回避できる場合は、ネットワークサービスをrootとして実行しないでください。一部のソフトウェアは、起動するためにroot権限が必要ですが、起動後にそれらの権限を削除するように構成できます。

6
Grant