PHPスクリプトで作成されたファイル範囲の制限

PHPスクリプトで作成されたファイル範囲の制限

.htaccessファイルにIPアドレスブロックを追加するPHPスクリプトを作成しています。私の興味は、Webサーバーのユーザーが一般的な書き込み用にファイルを開くことを望まないことです.htaccess。 Webサーバーが破損した場合は、ファイルに必要な内容を書き込む可能性があるためです.htaccess。だから私はPHPスクリプトを特定の方法で私が望むものだけを書くように制限する方法を見つけようとしています。

私の考えでこれを行う適切な方法は、すでに設定されている別の場所(おそらくルートが所有している)にスクリプトを作成することですsuid(私のWebパーティションではこれを許可しませんsuid)。その後、PHPスクリプトからそのスクリプトを呼び出すことができ、中間スクリプトのインターフェイスで利用可能な操作のみを実行できます。つまり、.htaccess特定のIPアドレスのブロックコードをファイルに書き込むために必要なパラメータを取得する操作のみを実行できます。

これがこの問題を解決する最良の方法のように聞こえますか?他に良い方法がありますか、それとも私が見逃した考慮事項はありますか?


メタアノテーション:私はこの質問に答えるために情報セキュリティサイトやスタックオーバーフローを検討しました。これらのうちより良いものがあれば教えてください。

ベストアンサー1

PHPスクリプトがIPアドレスをデータベーステーブルに書き込むようにします。また、cron定期的に別のスクリプト(推奨?Python)を実行して値を照会し、ファイルに書き込みます.htaccess。その後、ファイルの権限を.htaccess厳密に保つことができます0640root:www-user

私たちできるSUIDビットはスクリプトに設定されていますが、Linuxはデフォルトでこれを正しく無視します。実行中のスクリプトに対する権限を同様の権限に変更するだけです0700root:rootcron

このような多くのタスクは、データベースキューと呼ばれる技術を使用して処理できます。私はシステム管理のためのプロジェクト要件だったときにWebインターフェースを使用してきました。このシナリオでは、キューはユーザー、パスワード、仮想ホスト、DNSなどを管理できます。

おすすめ記事