現在公開ディレクトリに例えば
eval{ $command = `ps alx`; };
print <<"EOM";
$command
EOM
といった内容のcgiファイルをFTPで置いてアクセスすると、
サーバのメモリログが見れてしまいます。
セキュリティーホールでは?と思っています。
cgi自体は動かし、このようなコマンドを制限するにはどのようにすればよいでしょうか。
ざっと検索して suEXEC を設定すればよいような気もしたのですが、
他にもありましたら教えて下さい。
サーバのメモリログが見れてしまいます。
セキュリティーホールでは?と思っています。
この例の場合、正当なユーザーが正当なアクセス権限を持ってプログラムを実行しているだけなので、
単独では「セキュリティホール」とは呼べないです。
また、suEXEC は実行するユーザーを変えるのが主目的なので、誰でも実行できる ps コマンドなどを制限することはできません。
また、コマンドを制限しても /proc ファイルシステムを読み込めばいいだけなので、あまり意味もありません。
共用サーバーなどの様にほかのユーザーのプロセスを隠蔽したい場合は、chroot / jail などの仕組みを使います。
ただし、Linux の chroot はプロセス空間までは分けられないので、厳密にやろうとすると FreeBSD の jail か、
VMWare などの仮想サーバーソフトウェアを使用することになります。
ありがとうございます。
jailについてちょっと検索しましたが、
FreeBSDのコンテンツが多いんですね。