Apache関連 Part5
■ このスレッドは過去ログ倉庫に格納されています
0001攻撃ヘリAPACHE
NGNG前スレ Apache関連 Part4
http://pc.2ch.net/test/read.cgi/unix/1040312647/
Apache関連サイトへのリンクは >>2-5 あたり
002018
NGNG設定例などでよく使われているドメインなので実在するとは思いませんでした。
申し訳ありません。
0021名無しさん@お腹いっぱい。
NGNGちっとも圧縮転送されないってトラブルに遭った人いますか?
0022名無しさん@お腹いっぱい。
NGNG002321
NGNGうん。っていうか、テストで作った perl のクライアントだから Compress::Zlib 使って対応している。
で、サーバーのプラットフォームが win32 なんだよね。ここ unix 板だし。
だから、いきなり質問する前に同じトラブル経験したいる人いるか聞いてみたの
0024名無しさん@お腹いっぱい。
NGNGログ見せてよ
環境ももっと晒して
002521
NGNG前 WebProg に書いたんだけど、反応無かったからはんば諦めてるw
あと、gzip のログ見てて思ったんだけど、accept-encoding ヘッダーを
クライアントが出さなくても gzip がログ吐いてるな…
http://pc2.2ch.net/test/read.cgi/php/1043851302/116-118
0026名無しさん@お腹いっぱい。
NGNG0027名無しさん@お腹いっぱい。
NGNG002821
NGNGhttp://pc.2ch.net/test/read.cgi/sec/1056746698/4
> Q. Jane で過去ログが文字化けします。
> A. HKEY_LOCAL_MACHINE\SOFTWARE\Agnitum\Outpost Firewall\EnableGzipEncoding
> の値を1にする
OutPost が勝手にヘッダー取り除いてたのが原因だった…。
スレ汚しすいませんでした(´д⊂ヾ
0029名無しさん@お腹いっぱい。
NGNG0030名無しさん@お腹いっぱい。
NGNG0031スレ違いスマソ
NGNG非限定主格の語尾は[un]だが、これを限定対格にすると[a]になる。
003221
NGNG0033名無しさん@お腹いっぱい。
NGNG試してみてくださいな。
0035名無しさん@お腹いっぱい。
NGNG0036名無しさん@お腹いっぱい。
NGNG0037名無しさん@お腹いっぱい。
NGNG0038名無しさん@お腹いっぱい。
NGNG0039名無しさん@お腹いっぱい。
NGNG0040名無しさん@お腹いっぱい。
NGNGsuexec を導入すると、これはこれで動くんですが、
~user 以外のところにある CGI は httpd の動作ユーザと同じ権限で動いてしまいます。
httpd と CGI の権限を変えるために SuexecUserGroup でユーザ/グループを
指定すると、今度は public_html 以下にある CGI が動かなくなります。
どうやら SuexecUserGroup を使うと public_html の存在が無視されて
しまうようなんですが、共存することはできないんでしょうか。
configure 時に --with-suexec-docroot をうまくごまかせば可能なんですが、
これは suExec のセキュリティモデルをぶっ壊す行為なんでやりたくないです。
0041名無しさん@お腹いっぱい。
NGNG具体的にどういう動作を希望してるんでしょうか?
各ユーザーのディレクトリ以下で、各ユーザーの権限で命令実行させるのが
SuExec導入の目的だと思うのですが、、、
運用方法が適切でないため、"suExec のセキュリティモデルをぶっ壊す行為"
をしているような気がします。
0042名無しさん@お腹いっぱい。
NGNG漏れはセキュリティモデルを緩めて(ぶっ壊して?)
--with-suexec-docroot=/home としている。
0043名無しさん@お腹いっぱい。
NGNG(1)http://example.net/ 以下にある CGI は Apache とは別の権限で実行
(2)ただし、http://example.net/~user/ 以下の CGI に限っては各ユーザの権限で実行
所望するのは(1)かつ(2)の動作。
suexec を有効にしてコンパイルした素の状態では(2)はできるが(1)ができない。
SuexecUserGroup を設定すると(1)が可能になるが、かわりに(2)が動かなくなる。
そんなにおかしなことですかね?
0044名無しさん@お腹いっぱい。
NGNGそれだと /home/hoge/public_html/ 以下にある CGI だけじゃなく、
/home/hoge/bin/ 以下とか、本来外部に非公開の場所にあるものまで
含まれてしまうわけで、http://localhost/manual/suexec.html で言うところの
>ディレクトリが Apache のドキュメントツリー内にあるか?
に反してしまうんですよね。
0045名無しさん@お腹いっぱい。
NGNGいいえ。
0046名無しさん@お腹いっぱい。
NGNGsuexec のチェックルーチンは素通りするよ。
httpd.conf をふつーに設定してあれば、suExec のセキュリティモデルとは無関係に、
Apache 本体の方で制限がかかるためにアクセスされないというだけで。
004742
NGNG本来、>>42のように docroot を広げるのは好ましい設定ではないが、
適切な設定を施してあれば、まぁ、実用上はあまり問題にならない。
セキュリティホールを突かれた場合には、どうなるか分からないけどね。
0048名無しさん@お腹いっぱい。
NGNGローカルのユーザがたとえばシェルから
% suexec user group /pass/to/command
のようにして実行してしまうのを防ぐための指定。
もともと CGI 用に置いたものならば、仮にそういう起動のされかたをしても
致命的な危険はないだろうというのが前提にある。
よって、それ以外のコマンドが置かれる可能性のあるディレクトリまで
含めてしまうのは、やはりやめた方がいい。
もっとも、現実には suexec を実行したユーザが --with-suexec-caller で
指定したものと一致しているかどうかのチェックにひっかかるはずので、
これでも危険はほとんどない。しかし、
>セキュリティホールを突かれた場合には、どうなるか分からないけどね。
apache に穴がなく設定が万全であったとしても、apache と同じ権限で動く
別のデーモンに外部から任意のコマンド実行を許すセキュリティホールがあった場合、
その穴から suexec を通して余計な権限を取られてしまうことになる。
0049名無しさん@お腹いっぱい。
NGNG> (1)http://example.net/ 以下にある CGI は Apache とは別の権限で実行
> (2)ただし、http://example.net/~user/ 以下の CGI に限っては各ユーザの権限で実行
簡単な例を憶測すると,あるユーザ(おそらく管理者が使っているユーザ)の
~/public_html/(またはこれに類する専用ディレクトリ)をドメインの/にしつつ,
他のユーザでも/~$user/以下で普通にSuEXECさしてぇってんだ( ゚Д゚)ゴルァ!!
ということでしょうかね?
個人で運用しているサーバであればそのような要求は出るかもしれませんが,
少し広い意味で考えるとやはりイレギュラーな要求だと思います.
よって,本来であればどのように設定してもこのような挙動は
とるべきではないような気はします...もとい,気がするだけです.
というのも,自分もこのような挙動を実際取らせているので
あまり大きなことはいえないからです;
多くのこのような要求を持つ人は1.3系で >>42 の設定
をする以外に方法を見出せていないんじゃないかな.
ちなみにバージョン忘れたけど2.x系ではできなかった覚えがあります.
本要求のためだけに1.3.xに戻してからかれこれ3ヶ月くらい経つし,
できるようになったのですかね?最近は;;;
0050名無しさん@お腹いっぱい。
NGNG0051名無しさん@お腹いっぱい。
NGNGこういう、punctuation がちょっとおかしい香具師を見ると
鬼の首取ったように叩きはじめる DQN って激しくうざいな。
0052名無しさん@お腹いっぱい。
NGNG0053名無しさん@お腹いっぱい。
NGNGDocumentRoot /home/www/data
で VirtualHost 全く使ってない状態です。
tikiをサーバの http://server/tiki/tiki.cgi
つまり /home/www/data/tiki/tiki.cgi
に設置して、動作するようにしました。
tiki は tiki.cgi?n=xxx とやってアクセスする事で、
複数の系を持つことができます。これを RewriteRule 使って
http://server/tiki/xxxx/tiki.cgi
(tiki.conf の設定もして)で basic 認証付きでアクセスできるようにしました。
ここまでは正常に動作することをページ作ったりして確認済みです。
で、ここからが本題なのですが、
元の http://server/tiki/tiki.cgi への直接アクセスを禁止したいのです。
つまり、全て RewriteRule で URL パスした物のみアクセス許可したいわけです。
で、次レスの用に記述してみましたが、全然だめです。
RewriteRule または Location を使って禁止できるでしょうか。
005453
NGNGRewriteEngine on
RewriteBase /tiki
RewriteRule ^([^/]+)/tiki\.cgi\??(.*)$ /home/www/data/tiki/tiki.cgi?n=$1&$2 [NE,QSA,L]
RewriteCond %{REQUEST_URI} ^/tiki/tiki\.cgi
RewriteRule ^tiki\.cgi - [F,L,NS,S=1]
</Directory>
<LocationMatch /tiki/[^/]+/tiki.cgi>
AuthUserFile /home/www/admin/htpasswd.tiki
AuthGroupFile /dev/null
AuthName "You need to login"
AuthType Basic
require valid-user
</LocationMatch>
005553
NGNGRewriteCond 以下を訂正
RewriteCond %{REQUEST_URI} ^/tiki/tiki\.cgi
RewriteRule ^tiki\.cgi - [F,L,NS]
そのほか、
<Location> 等を使って禁止してみようとしたのですが
うまくいきません。
どうも、認証をした後に、Rewrite や Location などをもう一回チェックして回っているようなのです。
RewriteRule の L フラグはあっても無くても一緒みたいな感じです。
RewriteRule %{IS_SUBREQ} false
等も試してみましたが、ログには INTERNAL REDIRECT とあって、
SUBREQ とは違うようです。
RewriteRule ^([^/]+)/tiki\.cgi\??(.*)$ /home/www/data/tiki/tiki.cgi?n=$1&$2 [NE,QSA,L,E=XX:1]
と、環境変数を設定して、
RewriteCond %{ENV:XX} 0
とかやっても無理でした。
0056名無しさん@お腹いっぱい。
NGNG???
0058名無しさん@お腹いっぱい。
NGNGDirectory ディレクティブの外側で、
AddOutputFilter INCLUDES .shtml
Directory ディレクティブの内側で、
Options Includes SymLinksIfOwnerMatch
XBitHack on
AllowOverride FileInfo Indexes
にしましたが、悩んでいることは、
その1
hoge.shtml にて
<!--#exec cmd="./cgi-bin/aaa.pl" -->
などと書いても、コマンドの dirname が無視され、hoge.shtml と同じ
ディレクトリ内にある ./aaa.pl が実行される。
なので、カレントディレクトリ以外のコマンドを使用する下の類はダメ。
<!--#exec cmd="/bin/ls" -->
また、カレントディレクトリのコマンドでも、
<!--#exec cmd="aaa.pl " -->
のように空白が入るとダメ。
(続く)
005958
NGNGその2
.htaccess に AddCharset を書くと、XBitHack の設定が無視される?
AddCharset に加え、AddOutputFilter INCLUDES .html を書けば
hoge.html で SSI 使えますが、644 でも使えますから、
せっかくの XBitHack の意味がないわけで…。
HTTP サーバ扱うのは初めてなので、重大な勘違いがあるかも知れません。
何かご存知の方、アドバイスよろしくおねがいします。
あと、この辺が解決したら、穴埋めのパッチを当てる予定でいます。
0060名無しさん@お腹いっぱい。
NGNG006158
NGNG今、
% cat > ttt.cgi
#! /usr/hoge/perl
$|=1;
print "Content-Type: text/html\n\n";
print "aaa";
sleep 20;
^D
的なスクリプト書いて、ps とってみたら、suexec されてました。
ちうわけで、suexec 周りのドキュメント読んでみます。
THX >>60
006253
NGNGなぜだー
LocationMatch で auth して RewriteRule すると
INTERNAL REDIRECT で環境変数が無かったことになるし・・・
試しに RewriteRule で簡単な奴作ったら
存在する CGI が INTERNAL REDIRECT の結果 404 になるし
ログに表示されているファイル名をコピペで ls してもちゃんと表示されるのに。
何が悪いのかわからなくなってきた
0063名無しさん@お腹いっぱい。
NGNG0064名無しさん@お腹いっぱい。
NGNG0065名無しさん@お腹いっぱい。
NGNGってのありましたっけ?
0066無料動画直リン
NGNG0067名無しさん@お腹いっぱい。
NGNG(・∀・)ニヤニヤ
006858
NGNG% httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
で、suexec_module とは出力されてないですが、apachectl と同じディレク
トリに suexec があるし、ps するとプロセスの owner は nobody ではなく、
CGI スクリプトの owner です。
というわけで、suEXEC が使われてるんですが、そのまま放っておく予定です。
Linux では仕様上 setuid したスクリプトが動かないらしいですが、
setuid した CGI 動かしたいけど suidperl 入れるのもなんだしなー、
と思ってたところでもありました。必要なコマンドはコピーすればいいし。
006958
NGNG> で、suexec_module とは出力されてないですが、apachectl と同じディレク
suexec_module → mod_suexec
0070あぼーん
NGNG0071名無しさん@お腹いっぱい。
NGNGCで作った掲示板CGIプロセスが、消えないで残ってしまうようなんです。
("ps ax"で括弧つきで表示されます。)
Apacge 1.3.26 では、そんなことはなかったのですが。
バージョンアップの仕方が悪かったのでしょうか。
それともバグあり?
0072名無しさん@お腹いっぱい。
NGNGsuexec 使ってんだろ?
もしそうならこのスレを最初から読み直せ。
0073名無しさん@お腹いっぱい。
NGNGバグありです。
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21737
0074名無しさん@お腹いっぱい。
NGNGそんな訳でおいらは、1.3.26 を使ってます。
新しいバージョンがリリースされてもすぐに使わない。
使いたかったら、テスト環境で使う。
0075名無しさん@お腹いっぱい。
NGNGそういうやり方は賢明だとは思うのですが、
こういう事情でバージョンアップしました。
http://www.ipa.go.jp/security/news/news.html
「 Apache 1.3系に、複数の脆弱性があり、ログの取得が中断させられたり、
サービス妨害攻撃(DoS攻撃)を受ける可能性があります。
Apache 1.3.28 へのアップグレードを推奨します。」
まさかこんな問題あり版をリリースするなんて、どうなってるんだろう。
0076名無しさん@お腹いっぱい。
NGNGやったことないけどちゃんと動くでしょ。たぶん。
0077名無しさん@お腹いっぱい。
NGNG0078名無しさん@お腹いっぱい。
NGNGんー、影響受けるのはWin32とかだけだからいいよべつに。
^Zとかそのへん。
0079あぼーん
NGNG0080名無しさん@お腹いっぱい。
NGNGDeny from all
ってタコなアクセス制限を書いている人って他にいます?
0081名無しさん@お腹いっぱい。
NGNGOSはRedHatLinux7.3deApacheは1.3.27です。
7.3でApacheが1.3.27なのですが、バーチャルホストについて質問があります。
(サーバに関することなので、すれ違いならすみません)
例えば、サーバのドメイン名がtest111.comでルートが
/home/root/public_html/
だとします。で、bbs.test111.comのバーチャルホストを
/home/bbs/public_html/
に設定したとします。
しか、http://test111.com/~bbs/ではファイルが問題なく表示されるのに
http://bbs.test111.com/ではCGIエラーが発生したり、ファイルが表示されなかったりします。
これは何が原因だと言えますでしょうか?
ちなみに、Apacheのバーチャルホストは
<VirtualHost *>
ServerAdmin root@test111.com
DocumentRoot /home/bbs/public_html/
ServerName bbs.test111.com
</VirtualHost>
にしています。
0082名無しさん@お腹いっぱい。
NGNGつーかFAQ。つーかerror_logプリーズ。suEXECの設定が原因に200ペリカ。
008381
NGNG実はsuEXECについて問題があるのは私も思っていたのですが
以前、Linux板で質問したときも単に
「suEXECの問題だな」で終わって解決しないままでした。
ちなみにサーバログは
suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
です。
0084名無しさん@お腹いっぱい。
NGNGでコンパイルオプションみれるけど、どうなってるよ?
0085名無しさん@お腹いっぱい。
NGNG逝け。
該当個所のログを探し出す能力もないなら、諦めた方が良い。
0086名無しさん@お腹いっぱい。
NGNGわかりました。帰ってからチェックしてみます。
>>85
反論すると煽られそうですけど
もちろん、過去ログを見た結果です。
ですが、みなさん私と同じような問題が出て
しかも、あまり解決していないように思うのですが・・。
0087名無しさん@お腹いっぱい。
NGNG過去ログじゃなくてログファイル。
0088名無しさん@お腹いっぱい。
NGNG(compatible;MSIE 5.5; Windows 98)"
昨日の昼からアクアスログにこれが急に増えたんだけど、
これって何かの感染者デスカ?
0089名無しさん@お腹いっぱい。
NGNG0090名無しさん@お腹いっぱい。
NGNGMSBLAST.の亜種みたいな香具師らしい。
009188
NGNGつーか、未だにどんどん来てます。
日本のドメインからもけっこー来てます。
しかも全部IE5.5のWin98なんですけど。
0093名無しさん@お腹いっぱい。
NGNGそのネタのソースってどこかにありませんか?
0094名無しさん@お腹いっぱい。
NGNGhttp://www.symantec.co.jp/region/jp/sarcj/data/w/w32.welchia.worm.html
0096名無しさん@お腹いっぱい。
NGNG0097名無しさん@お腹いっぱい。
NGNGRedHat9のApache2.0.40+mod_davです。
一般ユーザの公開ディレクトリは/home/*/public_htmlです。
一般ユーザに個別のWebDAV領域を与えたいのですがうまくいきま
せん。
http://hogehoge.com/~test/dav
のような形で/home/*/davをWebDAVの公開をさせてみようと思い、
Alias /dav "/home/*/dav"
<Location /dav>
AddCharset UTF-8 .utf-8
AddDefaultCharset UTF-8
DirectoryIndex none
Options Indexes
DAV on
</Location>
としてみましたがダメでした。
他の方法でもよいのですがどうすればよいのでしょうか
よろしくお願いします
0098名無しさん@お腹いっぱい。
NGNGhttp://pc2.2ch.net/test/read.cgi/mysv/1054463728/968-
経緯を説明しないのはマルチと同じだと思うが。
つか、linux板にいくんじゃ?
0099名無しさん@お腹いっぱい。
NGNG/var/tmp/ZE6693166612 みたいなファイルができています。
数字の部分がランダムなので、どんどんファイルが増えて
いってしまうのですが、こういうのはどうしたら良い
でしょう? というか、このファイルは何ですか?
0100名無しさん@お腹いっぱい。
NGNG0102名無しさん@お腹いっぱい。
NGNG0103名無しさん@お腹いっぱい。
NGNGその書き方からすると、君は、自分の鯖が
どんな設定になっているのか、把握していないのかい?
010499
NGNG100% とは言わないですけど、設定を理解して把握している
つもりですけど??? えーと、要は mod_daflate なる
モジュールは組み込んでいないけど、テンポラリみたいな
ファイルが作成されている、と言いたいわけです。
# mod_daflate が犯人なのかどうかはまだ分かりません。
0105名無しさん@お腹いっぱい。
NGNG> 100% とは言わないですけど、設定を理解して把握している
> つもりですけど??? えーと、要は mod_daflate なる
つもりです。
0106名無しさん@お腹いっぱい。
NGNG「エスパー募集」
0107名無しさん@お腹いっぱい。
NGNG> つもりです。
「つもり」だからいつまで経っても理解できてない奴っているよね
010899
NGNGとりあえずインスコと設定は下記の通りなのですが…。
ちなみに daflate じゃなくって deflate のようですが、
該当物は組み込んでいません。
./configure \
--prefix=/usr/local/apache2 \
--enable-mods-shared=all \
--with-mpm=prefork
make
make install
grep ^LoadModule httpd.conf
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule mime_module modules/mod_mime.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule cgi_module modules/mod_cgi.so
grep var httpd.conf
PidFile /var/run/httpd.pid
LockFile /var/tmp/httpd_accept.lock
ScoreBoardFile /var/tmp/httpd_runtime_status
ErrorLog /var/log/httpd_error_log
CustomLog /var/log/httpd_access_log common
0109103
NGNGいくつか指摘しておこう。
まず httpd.conf が別ファイルを Include している可能性を忘れるな。
>>101 で「組み込まれていませんでした」と書いているが、
自分で設定を理解して行なっているなら「組み込んでいません」だろう。
この言い誤りから考えるに、君は、設定を把握できていない。
で、問題の解決方法だが
1. まず、そのファイルが Apache に関係していることを確認する
2. 設定ファイルをどんどん削っていって、問題の個所を究明する
3. 問題を取り除く
こんな所で質問する前に、そのぐらい、やれ。
011199
NGNGなるほど。2. の対応でがんばってみます。1. に関しては、
テンポラリのユーザが httpd のユーザと同じであったので
間違いないと思います。
細かいご指摘ありがとうございました。また質問するかも
しれませんが、次からは私の質問には即答できるように
スキルアップしておいてください。よろしくです。
0112名無しさん@お腹いっぱい。
NGNGキミ、なかなか面白いね
0113名無しさん@お腹いっぱい。
NGNG0114名無しさん@お腹いっぱい。
NGNGガンガレ!
011599
NGNG0116114
NGNG君にエールを送った訳ではないです
君みたいなのを相手にしてしまった>103氏にエールを送ったのです
勘違いしないでね
0117名無しさん@お腹いっぱい。
NGNGな、厨房99
0118名無しさん@お腹いっぱい。
NGNGあからさま過ぎるのは面白くないよ
修行が足りないね
011999
NGNGインストールして間もないうちに誰かが CGI で ZE****な
ファイルを作成していました。suEXEC は使っていないので
ファイルのユーザは httpd のユーザと同じで気が付き
ませんでした。
なかなか素敵なオチだったと思うのですが、いかがなもの
でしょうか?
■ このスレッドは過去ログ倉庫に格納されています