cgiの実行者について

[上に] [前に] [次に]
ふじもと [E-Mail] 2000/06/07(水) 21:38:01
こんにちは。
家でlinuxのapacheをcgiの実行テストに使用してるのですが、
cgiの実行者がnobodyになっています。
これをユーザIDで行うことができると思うんですけど、どうしたらいいのでしょうか?
httpd自体はnobodyのままが一番よいのですが。
suEXECってやつをいれるしかないんですか?

andi 2000/06/08(木) 00:08:26
CGIから実行させたいユーザでログインさせて・・・
ってのはできませんか?

最近同じような話をうちのサーバの管理人としていました。
その時は、ディレクトリをnobodyで作成した際に削除できなくなる
ので、CGIを実行した際にftpやtelnetでログインして
ディレクトリを作成すればnobodyでなくなると。
面倒ですね(笑)。

あるいはやはりSuExecを導入すると言っていました。


・・・この辺りあまり知識がないので嘘を言ってるかもしれません。

ヒソカ 2000/06/08(木) 01:11:59
http://www.imicom.or.jp/cgiwrap/
ここ参照。

ふじもと 2000/06/08(木) 21:49:51
[[解決]]
英語っすね。
翻訳中。
とりあえず、やってみます。
さんきゅです。

ふじもと 2000/06/09(金) 21:18:58
いや、ちょっとまってください。
cgiwrapとかsuEXEC使わなくても、apache自体にオーナ権限でcgi走らせる方法ないですか?
なんかモジュール突っ込むとか。
あるような話もちらほらと聞いたんですが。

ふじもと 2000/06/09(金) 21:28:27
>CGIから実行させたいユーザでログインさせて・・・
>ってのはできませんか?
できるんですか?
>その時は、ディレクトリをnobodyで作成した際に削除できなくなる
>ので、CGIを実行した際にftpやtelnetでログインして
>ディレクトリを作成すればnobodyでなくなると。
ちょっと分からないです。実行した際にtelnetで入るってどういうことですか?
cgiでtelnetするってことですか?
自らディレクトリを作った場合って、nobodyでも書けるようにモードを666とかに
しないとだめですよね。
それってあまり良くはないかなと思って、オーナ権限で動かしたいなと思ってます。

ちなみにcgiWrapは解決しました。

:-) 2000/06/09(金) 21:31:54
suidperl なんてどーですか?

http://x68000.startshop.co.jp/~68user/webcgi/permission.html#4

ふじもと 2000/06/09(金) 21:55:22
そんなのもあるんすね。

自分の場合は、apacheをいじってるので、できればそちらよりの助言もお願いします。
やはりcgiwrapとかしかないんすかね?
mod_cgi_sugidとかsuCGIってのをちょっと見たんですが、細かい情報が見当たりません。
検索中です。

ヒソカ 2000/06/09(金) 22:30:16
他に、方法があれば(若しくは可能性だけでも可)どんどん
候補に上げてほしいね。

環境が違えばきっと違った解決法を求められる場合もあるからね。
自分の引き出しも増えることだし。

フィードバックよろしく! > ふじもと氏

B-Cus 2000/06/09(金) 22:33:05
> suEXEC使わなくても、apache自体にオーナ権限でcgi走らせる方法ないですか?
suExec はそんな面倒なものではないです。
有効にするには、configure で --enable-suexec
(と その他 --suexec-* オプション) を設定して、make。

http://www.apache.org/docs/suexec.html
# http://japache.infoscience.co.jp/japanese_1_3/manual/suexec.html は古すぎ。

…という設定が面倒なんだということなら、失礼。

BAn 2000/06/10(土) 11:24:08
これって、スティッキービットを設定するのとは
違うレベルの話なんですか?

ふじもと 2000/06/10(土) 11:53:41
>suExec はそんな面倒なものではないです。
そうですね。一応suEXECの方もやってみます。

>これって、スティッキービットを設定するのとは
>違うレベルの話なんですか?
chmod 4755とかってことですか?
もしそうだとしたら、そーではないです。
アパッチをいじってるので。
#アパッチに対してのs操作もあるって事なんすか?

B-Cus 2000/06/10(土) 13:55:54
> これって
というのがどれを指してるか分かりませんけど、sticky と setuid は
全く別物です。sticky はディレクトリに対して立てるもので、
そのディレクトリの下のファイルの削除に関する設定をします。
# SysV 系なら新規作成したファイルのグループ設定にも関わってくる。

ふじもと 2000/06/10(土) 14:01:45
>sticky と setuid は全く別物です
へー。
ぜんぜん知りませんでした。
色々勉強になります。

BAn 2000/06/11(日) 03:44:12
>sticky と setuid は全く別物です

マニュアル見ました。
chmod +s file で設定するから、
sticky の略なのだと思い込んでました。
勉強になりました。

便乗質問で申し訳ないのですが、
SuExec って、CGI を
-rwx------ で実行できる apache の機能なんですか?
-rws-----x で実行した場合と比べて、どういう
利点があるのでしょうか?

B-Cus 2000/06/11(日) 04:45:19
> -rwx------ で実行できる apache の機能なんですか?
そうです。

> -rws-----x で実行した場合と比べて
一言で言えば「apache 以外のユーザが実行しても所有者権限で
動かない」でしょうか。

よって、クラッカーが悪さをしようとしても CGI 経由でしか
できないので、環境変数を勝手にいじったり、カレント
ディレクトリを変えたりすることができません。

ですから、ちゃんと考えて作られているプログラムなら
suid でも suExec でも cgiwrap でも構わんでしょう。

あとは sh,csh スクリプトでも OK とか、スクリプトを
いじるたびに chmod +s しなくていいとか (これがまためんどくさい)。

ふじもと 2000/06/11(日) 09:39:22
>よって、クラッカーが悪さをしようとしても CGI 経由でしか
>できないので、環境変数を勝手にいじったり、カレント
>ディレクトリを変えたりすることができません。

そうゆうことなんですよね。
cgiでtelnetぽく出来るような危険なスルリプトは厳禁ですね。

みなさん本当にありがとうございました。
色々勉強になりました。

BAn 2000/06/11(日) 13:06:51
>ですから、ちゃんと考えて作られているプログラムなら
>suid でも suExec でも cgiwrap でも構わんでしょう。

より簡単に安全性を高める。
って感じですか。
ありがとうございます。

[上に] [前に] [次に]