web-dev-qa-db-ja.com

共有ホスティング環境にSuPHPを使用する、public_htmlおよびpublic_htmlの下のフォルダーとファイルに対する最小限の安全で十分なアクセス許可

SuPHPとDirectAdminを備えたサーバーがあります。私のユーザーの多く(すべてではありません)がJoomlaとWordpressを実行しています。 public_htmlとサブフォルダーを700にchmodすると、問題が発生しますか?彼らは[〜#〜]必要[〜#〜]より多くの許可が必要ですか?

ファイルはどうですか? 最低最も安全および十分デフォルトの権限はそれらに対して何である必要がありますか?それは400ですか?または多分600?

言い換えれば、私の質問はgroupworldのユーザー権限に焦点を当てています。 serにのみ権限が必要な場合、問題はありますか? SuPHPを使用することで、すべてが所有者によって行われ、グループおよびワールドユーザーグループを制限することに問題はないと思います。

私は、各オブジェクト(ファイル、フォルダー)に、問題なく動作するのに十分な最小限のアクセス許可を与えることを好みます。

2
smhnaji

これが私の経験です。これは構成によって異なります。

PHPファイルは600に設定できるため、ユーザーはファイルを読み書きできます。suPHPは、ユーザーをWebサイトの所有者に設定する必要があります。古いインストールにはwww-dataのような所有者がいる可能性があるため、所有者がユーザーに設定されていることを確認することをお勧めします。 400に設定することもできますが、書き込み権限のないユーザーサポートの問題が発生する可能性があり、セキュリティは大幅に向上しません。

他のファイルは、Apacheがそれらのファイルの所有者またはグループではないユーザーwww-dataとして読み取るため、通常は644などのアクセス許可が必要になります。これは、.htaccessとphi.iniにも当てはまります。したがって、すべてのファイルのデフォルトとして、おそらく644が必要です。

ディレクトリのアクセス許可。public_hmlを含むホームディレクトリがある場合、700を設定するのが理想的ですが、一部の構成では、Apache(およびその他のツール)が機能するために711が必要なようです。仮に、700は711よりもあなたを保護するはずです-711では、誰かがファイルを推測できれば、644(Joomlaによって推奨され、多くの場合Webサーバーによって新しいファイルに適用されるデフォルト)に設定された構成などのファイルを世界中で読み取ることができます場所-難しいことではありません(多くのjoomlaおよびwpサイトの管理者として学んだかもしれません)。 public_htmlや他のディレクトリの場合と同様に、最大755が必要になる場合があります。ただし、独自の構成を試して、Webサイトが読み込まれる最低のアクセス許可を見つけてから、戻って、サポートまたはクライアントに提供するツール(CPanelなど)を確認する必要があります。ファイルマネージャ)も正しく動作します。ホームディレクトリまたはpublic_htmlを700に設定できる場合は、configuration.phpでアカウント間での読み取りをテストできます。CPanelアカウントには711のホームディレクトリがあり、ユーザーアカウント間で644のconfiguration.phpを読み取ることができます。アカウント間でのハッキングを容易にするシンボリックリンクの問題に関するCPanelの議論を目にしました。そのため、アクセス許可が非常に重要になります。1つのサイトがハッキングされ、サーバー全体が本来よりも大きなリスクにさらされます。誰かがホームディレクトリを700に設定すると、そのディレクトリの下のどこでも読み取りができなくなると提案しましたが、それを実行できるかどうかは構成に依存しているようです。ただし、ホームディレクトリの700は、機能する場合は、提供できる限り聖杯に近い可能性があります(構成に依存しているようです)。

私は本当に専門家ではなく、あなたが見つけるかもしれない構成の範囲を確かに知りません-しかし、これは良い答えのセットを必要とする6週間前の質問であることがわかったので、私は答えています。うまくいけば、この答えを改善するために、より幅広いサーバー構成の専門知識を持つ誰かを得るでしょう。

2
Charlie Heath