シナリオ
自分のサイト用の WordPress プラグインを作成していますが、このプラグインはサイトのメイン.htaccess
ファイルにアクセスする必要があります。
インストール スクリプトを使用して、.htaccess
から644
に変更して664
、サーバー (apache2) が に.htaccess
直接書き込むことができるようになります。
質問
私が心配しているのは、セキュリティの限界です。私はここで潜在的な攻撃の嵐にさらされているのでしょうか? もしそうなら、.htaccess
WordPress、つまりApacheで書き込み可能にするためのより良い提案は何でしょうか?
編集
apache2 ユーザーはwww-data
1 つのサーバー上に存在しますが、ホストの設定に応じて、別のサーバー上の別のユーザーになります。これに備える必要があります。
答え1
これは古い質問なので、まだ関連性があるかどうかはわかりませんが、私の見解を述べます。
考えすぎではないと思います。確かに、ファイルは書き込み可能になります。そのため、サーバー上で何か怪しいことが起こった場合 (たとえば、サーバー上のファイルを変更または作成する攻撃など)、攻撃者がサーバーを侵害したり、.htaccess で調整できる特定の設定を調整したりすることが容易になります。
たとえば、PHP の設定も変更できます。たとえば、ファイルのアップロードの最大サイズや実行時間、攻撃者に変更されたくないその他の構成値のホストなどです。;)
したがって、私の考えでは、これを 440 にして、実稼働環境では常に手動で編集します。それほど頻繁に変更する必要はないはずです (新しいものをデプロイするときに、目的の設定に一度変更するだけで済みます)。
ただし、ベータ版/開発環境では、同じサーバー上に他に何があるか (機密データを含む他のサイトがあるかなど) などの他のセキュリティ リスクを慎重に評価した後、開発目的で 660 のままにして、開発者の作業を楽にすることもできます。
それは理にかなっていると思います。OP はおそらく今ではこの問題を克服していると思いますが、この質問に遭遇した他の人の助けになれば幸いです。
答え2
ファイルを Apache が書き込み可能にするために何をしても、ファイルは Apache が書き込み可能になります。
Apache が変更できるオプションを限定したい場合は、setuid プログラムを作成し、プログラムによって検証される入力に基づいてこれらの変更を行うことができます。プログラムは、root に setuid するのではなく、ファイルの所有者であるユーザーに setuid する必要があります。