
.htaccess
ファイルにIPアドレスブロックを追加するPHPスクリプトを作成しています。私の興味は、Webサーバーのユーザーが一般的な書き込み用にファイルを開くことを望まないことです.htaccess
。 Webサーバーが破損した場合は、ファイルに必要な内容を書き込む可能性があるためです.htaccess
。だから私はPHPスクリプトを特定の方法で私が望むものだけを書くように制限する方法を見つけようとしています。
私の考えでこれを行う適切な方法は、すでに設定されている別の場所(おそらくルートが所有している)にスクリプトを作成することですsuid
(私のWebパーティションではこれを許可しませんsuid
)。その後、PHPスクリプトからそのスクリプトを呼び出すことができ、中間スクリプトのインターフェイスで利用可能な操作のみを実行できます。つまり、.htaccess
特定のIPアドレスのブロックコードをファイルに書き込むために必要なパラメータを取得する操作のみを実行できます。
これがこの問題を解決する最良の方法のように聞こえますか?他に良い方法がありますか、それとも私が見逃した考慮事項はありますか?
メタアノテーション:私はこの質問に答えるために情報セキュリティサイトやスタックオーバーフローを検討しました。これらのうちより良いものがあれば教えてください。
答え1
PHPスクリプトがIPアドレスをデータベーステーブルに書き込むようにします。また、cron
定期的に別のスクリプト(推奨?Python)を実行して値を照会し、ファイルに書き込みます.htaccess
。その後、ファイルの権限を.htaccess
厳密に保つことができます0640
。root:www-user
私たちできるSUIDビットはスクリプトに設定されていますが、Linuxはデフォルトでこれを正しく無視します。実行中のスクリプトに対する権限を同様の権限に変更するだけです0700
。root:root
cron
このような多くのタスクは、データベースキューと呼ばれる技術を使用して処理できます。私はシステム管理のためのプロジェクト要件だったときにWebインターフェースを使用してきました。このシナリオでは、キューはユーザー、パスワード、仮想ホスト、DNSなどを管理できます。