トップページunix
1001コメント348KB

Apache関連 Part5

■ このスレッドは過去ログ倉庫に格納されています
0001攻撃ヘリAPACHENGNG
HTTP ServerのApacheに関する話題を扱うスレッドです。

前スレ Apache関連 Part4
http://pc.2ch.net/test/read.cgi/unix/1040312647/

Apache関連サイトへのリンクは >>2-5 あたり
0176名無しさん@お腹いっぱい。NGNG
>>175
有意義なことは何も書かないで、荒らすだけだけのdjb厨は
publicfile使っててください。
0177名無しさん@お腹いっぱい。NGNG
こんなところでも F は暴れてるのかよ
0178名無しさん@お腹いっぱい。NGNG
>>176
>>166
0179名無しさん@お腹いっぱい。NGNG
(つд`)モウヤメテヨ、、、
0180名無しさん@お腹いっぱい。NGNG
アパッチのエロい人のウラ話だけど、もう読んだ?
http://www.kyoto-u.com/lounge/pc/html/200310/03100002.html
0181名無しさん@お腹いっぱい。NGNG
>板のレベルが落ちたとしても人としての価値までは落したくないものだw
人としての価値も地に落ちたようだな。
0182名無しさん@お腹いっぱい。NGNG
>>180
ミラー
http://fuba.s7.xrea.com/mirror/1065626317_0.html
0183名無しさん@お腹いっぱい。NGNG
>>182
グッジョブ( ̄ー ̄)
0184名無しさん@お腹いっぱい。NGNG
Mac板のスレもミラーきぼんぬ。
0185名無しさん@お腹いっぱい。NGNG
よそでやれ。
0186名無しさん@お腹いっぱい。NGNG
なんか誤解があるなあ。まあいいんだけど、ここでやる咄じゃないやね。
0187名無しさん@お腹いっぱい。NGNG
>>180,182 見えないんですけど、、
0188名無しさん@お腹いっぱい。NGNG
>>182
でぃ もーると ぐらっつぇ
0189名無しさん@お腹いっぱい。NGNG
apache2.0.47ですが、KeepAliveを細かく制御したいと考えております。
下記の様なことは可能でしょうか?

・ある特定のcgi(perl)だけKeepAliveする。
・ある特定のIPアドレスから繋ぎに来たときだけKeepAliveする。
・VirtualHostによってKeepAliveTimeoutを別々に設定する。

このようなことはできるのでしょうか?なにかmodがあるのでしょうか。
色々検索してみたのですが分かりませんでした。m(__)m
0190名無しさん@お腹いっぱい。NGNG
>>189
まぬあるを見ると、
KeepAlive
Context: server config,virtual host
Module: core

CGIは(細工無しには)論外。IP別は無理。VirtualhostはOK。ってとこじゃないかな。
0191名無しさん@お腹いっぱい。NGNG
換気用変数nokeepaliveつかって
SetEnvIfNoCase Remote_Addr "\.cgi$" nokeepalive
SetEnvIfNoCase Request_URI "\.cgi$" nokeepalive
なんてすることはできる。
ので、正規表現いじくって特定のだけ 許可にできるんでない?
0192名無しさん@お腹いっぱい。NGNG
>>191
それ、検証する方法ってある?
特定のconnection がkeepaliveされてるかどうかを調べる方法。
0193名無しさん@お腹いっぱい。NGNG
http://www.example.com/server-status/
0194189NGNG
>>190-191
ありがとうございます。なんとかできそうですね。
助かりました。試してみます。(__)

>>192-193
serverstatusは便利ですよね。
mrtgでグラフにして日夜チューニングに励んでいます。
0195名無しさん@お腹いっぱい。NGNG
apache2で転送量を制限するモジュールってないんですかねぇ。
0196名無しさん@お腹いっぱい。NGNG
耐障害性をあげるため、webサーバを完全2重化したいのです。
アクセス分散はラウンドロビンを使えばいいと思うのですが、
2重化するにはどんな手を使ったら良いか、ご存じの方いますか?
できればその状態でphpセッションとかも使えるのがベストなんですが。。。
0197名無しさん@お腹いっぱい。NGNG
>>196
共有DISKがあればいいね。
0198名無しさん@お腹いっぱい。NGNG
それだと耐障害性が上がんないね。
セッションもっていうことならF5のBIG-IPは?
0199名無しさん@お腹いっぱい。NGNG
もちろん、共有DISKはDisk-Arryで。
0200名無しさん@お腹いっぱい。NGNG
ついに『モー○ング娘。』のトイレ盗撮ビデオ見つけた♪
TV収録時と全く同じ衣装!ここでサンプル動画も見れたよ♪
http://www.nukix.net/index2.html
0201名無しさん@お腹いっぱい。NGNG
>>196
F5のとかが使えるなら、それに越したことはないと思うけど、
http://shibuya.pm.org/blosxom/techtalks/techtalks_200310_slides_and_reviews.html
の「mod_perl における C10K problem」で紹介されてる Pound ってのはどうか。
Pound http://www.apsis.ch/pound/index.html
0202名無しさん@お腹いっぱい。NGNG
セッションレベルで耐障害性が必要なのって例えばどのような用途?
0203名無しさん@お腹いっぱい。NGNG
E-コマ鯖。B2Bサバ。SSLなんか噛んでるとSSLハードウエアアクセラレーション
ついてるのが欲しくなる。


それにしてもF5ボリすぎ。アメーリカから直接買うと半額以下。
死ねって感じ。
0204名無しさん@お腹いっぱい。NGNG
>>197-203
レスありがとうございます。
参考にします。

>>202
よく考えたら、さすがに正サーバが落ちたときに、副がセッション情報を引き継ぐところまでの
耐障害性は必要ありませんね。
正がぶちんと落ちても、自動で副が変わりを果たすというシステムを作りたいのです。


さすがにF5とかは買えません。
マシンは複数台増やすことができますので、オープンソース系ソフトを使って
なんとかやりくりしたいのですが。。。

201の他に良いアイディアをご存じの方がいましたら教えてください。


0205名無しさん@お腹いっぱい。NGNG
>>204
> 他に良いアイディアをご存じの方がいましたら教えてください。

Apache スレはあなたのサポートセンターではありません
コンサルタントでも雇って氏ね
0206名無しさん@お腹いっぱい。NGNG
>>204
フリーのロードバランサ使うといいYO!
0207名無しさん@お腹いっぱい。NGNG
2.0.48
1.3.29
キタ━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━(゚∀゚)━!!!!
020811NGNG
可愛くてエッチな美少女アイドルたちがいっぱい♪
画面の向こう側でアナタとの出会いをドキドキしながら待っています!
http://www.bigchat.tv
0209 NGNG
バイナリ待ち
まだでねーよ
0210名無しさん@お腹いっぱい。NGNG
http://www.apache.org/dist/httpd/Announcement.html

1.3.29
リリースしたみたいよ
0211名無しさん@お腹いっぱい。NGNG
basic認証を掛けているディレクトリに、ある特定のUserAgentがアクセスして
来た時は認証を無しにする、と言う設定は可能ですか?

SetEnvIfやRewiteRuleで、RemoteUserを設定すれば良いのかと思いましたが
出来ませんでした。
0212NGNG
mod_ssl 待ち・・・歯がゆい
0213名無しさん@お腹いっぱい。NGNG
UAはクライアント側で改竄できるのでBasic認証の意味無いがな。
でもやりたいんでつか?
0214名無しさん@お腹いっぱい。NGNG
>>211 UserAgent は詐称できますけど?
0215名無しさん@お腹いっぱい。NGNG
携帯専用コンテンツとかで専用のgatewayを介しているときのみ
アクセスを許すという設定が別にしてあったときには
User-Agent: による区別は多少は意味はあると思うが。
0216211NGNG
UAが詐称出来ても、やりたいんです。
詐称できると言っても、特殊な文字列にしてしまえば basic認証と変わりませんし、
応用すれば、認証が必要なページをgoogleで検索させると言うことも出来ます(キャッ
シュには画像が出ないので、画像が重要な場合に使えます)。

mod_rewriteで、色々試してみたのですが、私の想像力では、やはり無理でした。
0217名無しさん@お腹いっぱい。NGNG
詐称できても、なんて詐称すれば良いかが秘密ならいいよな。
それほど重要なデータを置くのでなければ十分だろう。
0218名無しさん@お腹いっぱい。NGNG
>>216
googleのイメージ検索に出ないようにね。
0219名無しさん@お腹いっぱい。NGNG
>>216
こんな感じでどうだろう?

BrowserMatch "Secret" AUTH_OK

Order deny,allow
Deny from all
Allow from env=AUTH_OK

AuthType Basic
AuthName Auth
AuthUserFile /foo/bar/.htpasswd
<Limit GET POST>
Require valid-user
Satisfy any
</Limit>
0220名無しさん@お腹いっぱい。NGNG
そもそも basic 認証の「認証」なんて名前ばかりのもんなんだが
0221名無しさん@お腹いっぱい。NGNG
ネットワークごしに盗聴されると困るようなコンテンツは
ssl使うだろうから、basic認証でもだいジョブだーよ。
0222名無しさん@お腹いっぱい。NGNG
>>220
なんでよ?
0223名無しさん@お腹いっぱい。NGNG
base64符号化だからじゃない?digest使えばいいんだけど
古いブラウザのこと考えると使えんよな。
SSL でbasic認証ならパスワードもSSL経由で流れるから
盗聴されても安心だけど。
0224名無しさん@お腹いっぱい。NGNG
『経路の盗聴に対して脆弱』なのと『「認証」なんて名前ばかり』なのとは
まったく次元の違う話だと思うが?
>>220 は前者のような状況を『「認証」なんて名前ばかり』と言っとるの?
0225名無しさん@お腹いっぱい。NGNG
>>220
そんなこといったらPOP,FTP等大部分が認証とはいえなく
なるわけで。
0226名無しさん@お腹いっぱい。NGNG
実際に認証といえないから public key や one time password などがあるわけで
0227名無しさん@お腹いっぱい。NGNG
「認証」を正しく理解してない人が多いようですが、
それはそれとしてスレ違いなのでよそ行ってください。
0228211NGNG
>>219
ありがとうございます。完璧に出来ました。
Satisfyってこういう風に使うんですね。勉強になりました。
0229名無しさん@お腹いっぱい。NGNG
認証であることと、それが secure であることは別の事柄です。
0230名無しさん@お腹いっぱい。NGNG
「認証」を正しく理解してる人もいるようですが、
それはそれとしてスレ違いなのでよそ行ってください。
0231名無しさん@お腹いっぱい。NGNG
ちゃんと誘導しろな
「よそ」とかいってる香具師は
多分知らない

0232名無しさん@お腹いっぱい。NGNG
modsslキタ━━━(゚∀゚)━━━!!!!!age
0233名無しさん@お腹いっぱい。NGNG
>>212
> mod_ssl 待ち・・・歯がゆい

どういうこと?
0234名無しさん@お腹いっぱい。NGNG
>233
212じゃないけど、1.3.29用のmod_sslがなかなか出なかったのです。
SSLで構築している人には必須。
0235名無しさん@お腹いっぱい。NGNG
>>234
> 212じゃないけど、1.3.29用のmod_sslがなかなか出なかったのです。
> SSLで構築している人には必須。

mod_ssl-2.8.15-1.3.28 って 1.3.29 でも普通に使えてるけど……。
0236名無しさん@お腹いっぱい。NGNG
>>235

(((( ;゚Д゚)))ガクガクブルブル
0237名無しさん@お腹いっぱい。NGNG
>>236
(゚Д゚)ハァ?
0238初期不良NGNG
>>235
ここはおっかないインターネットですね
0239名無しさん@お腹いっぱい。NGNG
以下の www.example.com は一例ですが、
"GET http://www.example.com/ HTTP/1.1"
といったアクセスがあります。
これはどういった使途でアクセスしているのでしょうか?
0240名無しさん@お腹いっぱい。NGNG
80番で待ってるオプ-ソプロクシ探しの旅の途中に立ち寄ったです。
0241名無しさん@お腹いっぱい。NGNG
バーチャルホストで運用しているサイトに
Host: www.example.com
をつけずにアクセスできるので

ごく希に、この意図で使用しているクライアントがあるかもしれません。
0242239NGNG
>>241
そのクライアントは例としてあげた(実際は別のサイト)
www.example.com へアクセスするつもりで www.example.com
とは無関係のサイトへくだんの GET を投げて来たということ
ですか? よく分かりません。

>>240
open proxy サーチの対象に遭ったということですか?
これならば、気分は悪いですが合点いきます。
0243239NGNG
>>242
241さんが解説下さっているのも、proxy 経由のアクセスと
いうことを示唆されているのでしょうか?
「バーチャルホストで運用しているサイト」とは、
"GET http://www.example.com/ HTTP/1.1"
といったアクセスをされているホストを指されていますか?
0244名無しさん@お腹いっぱい。NGNG
いや、アクセス対象が自サイトと関係ないなら間違いなく240の通り
0245名無しさん@お腹いっぱい。NGNG
>>236
> (((( ;゚Д゚)))ガクガクブルブル

なんで本家のメイリングリストでもそうすれってなってたけど。
0246名無しさん@お腹いっぱい。NGNG
SSH その3
http://pc.2ch.net/test/read.cgi/unix/1058202104/222-225
から飛んできました。

SSH のように、ある秘密鍵を持っている人のアクセスを許可するような認証を
HTTP で行うためにはどうすればいいのでしょうか?
0247名無しさん@お腹いっぱい。NGNG
HTTPというより認証用フォーム(PerlなりPHPなり)でその仕組みを作る。
あと公開鍵方式とは全く別なんだけどDigest認証は用件に合わない?
0248名無しさん@お腹いっぱい。NGNG
>>246
SSL 認証でいいんじゃねーの?
0249名無しさん@お腹いっぱい。NGNG
>>246
「ある秘密鍵」なの?「ある公開鍵」じゃなくて?
0250初期不良NGNG
SSL のクライアント認証がばっちりなんだからそれで良いじゃん
0251名無しさん@お腹いっぱい。NGNG
>235
2.8.15と2.8.16のdiff取って、どういうことか確認した方がいいでつ・・・
(((((;゚Д゚))))ガクガクブルブル
0252初期不良NGNG
>>239
そうそう、最近こんなアクセスも増えてきてるみたいだから
みんな気を付けてね。

POST http://localhost:25/

間違って ProxyRequests On とかやってしまっていると
オープンプロキシーとして疎まれるだけじゃなく
SPAM サーバとしても使われてしまっていたりする。
実際には localhost じゃなくてそのサーバのホスト名が
入っていたのでもっと見つかりにくいかも。
0253名無しさん@お腹いっぱい。NGNG
>>251
どゆこと?
0254名無しさん@お腹いっぱい。NGNG
>>252
うちもいっぱい来るんすけどなんとか対策ないですかねぇ?
今はとりあえずnph-cgiでロギングしながら適当な返事返してるんですけど。

61.54.85.156:3541 , 2003/11/02 05:27:44 , GET http://202.96.140.78:34627/BODY&USER=ィ勢篠メヌ鬨昏・7 , Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461; .NET CLR 1.1.4322)
61.54.85.156:3538 , 2003/11/02 05:27:44 , GET http://202.96.140.78:34627/BODY&USER=ィ勢篠メヌ鬨昏・4 , Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461; .NET CLR 1.1.4322)
61.54.85.156:4047 , 2003/11/02 05:27:45 , GET http://202.96.140.78:34627/BODY&USER=ィpヒタヘ択犬ィpツメヌ・0&PASS= , Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461; .NET CLR 1.1.4322)
67.202.109.175:3558 , 2003/11/02 06:03:49 , POST http://61.213.120.122:25/ ,
67.202.109.175:3560 , 2003/11/02 06:03:50 , POST http://61.213.67.229:25/ ,
67.202.109.30:3361 , 2003/11/02 06:11:42 , POST http://61.213.120.122:25/ ,
0255初期不良NGNG
>>253
このあとこのリクエストを出した(おそらく)スクリプトは
そのサーバの smtp とおしゃべりをします。
smtp サーバは localhost からのアクセスなので
たいていリレーをしてしまいます。と言う事で
単なるオープンプロキシーで収まっていたはずが、
SPAM サーバにまでされてしまう、と言う事です。
他のプロトコルもしゃべられると困るしとにかく
オープンプロキシーは思ったよりやばいです。
0256名無しさん@お腹いっぱい。NGNG
>>255
>>253>>251 に聞いているように見えるのだが?
0257名無しさん@お腹いっぱい。NGNG
>>246
SSLVerifyClient require
って話?
0258初期不良NGNG
>>256
スマソ
そんなに語りたかったのか...>漏れ
0259名無しさん@お腹いっぱい。NGNG
>>258
>>254に対しても語ってくだちゃい。
0260名無しさん@お腹いっぱい。NGNG
>>259
request が飛んで来ること自体は止められないんじゃない?
あとは >>255 のとおりオープンプロキシになってないかちゃんと設定確認しとくと。
0261254NGNG
>>260
まぁ、そうですね。
いまは数分おきにsource-ipを route add xxxx reject してるんですけど
ソースも踏み台なのか、毎回source-ipちがうんですよね。

なので reject もあまり意味なさそう・・・。

あとオープンプロキシ云々は、mod_proxyを組み込まないでコンパイルしなおした
のと、そういう proxy要求なリクエストを mod_rewrite で nph-cgi に持って
いっているので大丈夫です。

できればatakkerのブラックリストに載せてもらおうかと思って、そういうアクセス
に対してはブラクラを返してたりするんですけど全然減らないですね。
http_user_agentがIEだったりするんですけどあれはfakeなのかな・・・。
0262名無しさん@お腹いっぱい。NGNG
*.ar - - [04/Nov/2003:08:34:19 +0900] "CONNECT *.ar:25 HTTP/1.0" 401 401
*.ar - - [04/Nov/2003:08:34:19 +0900] "0x040x01" 401 401

こういうのがいくつか来てました。
25番に繋ごうとしてるのでSMTPのトンネル狙いだろうと思うのですが、下の方はなんでしょうか?
0x040x01は実際のログだとエスケープされてません。
0263名無しさん@お腹いっぱい。NGNG
下らないrequestなんかほっとけよ
調子に乗って反撃なんかしてたら自分も同罪だぞ
0264名無しさん@お腹いっぱい。NGNG
反撃って何ですか?
0265名無しさん@お腹いっぱい。NGNG
nmap -sS してから襲撃。
0266名無しさん@お腹いっぱい。NGNG
>>263
ういっす。
どうせ、アクセス元に攻撃しても単なる踏み台なんだろうから意味無いですしね。
0267名無しさん@お腹いっぱい。NGNG
>>262は私なんですが。
>>266=>>263だったりするのでしょうか。ジサクジエーン(・∀・)。

私は、反撃なんかには興味ありません。
0x04 0x01 というのをナマで送ってる意味が俺の乏しい知識だと見当がつかないので不思議に思っただけです。
あと、これで Apache が BadRequest を返してないってのもちょっとびっくりしました。

いつくるか分からんからパケットダンプし続けるわけにもいかないし。
0268名無しさん@お腹いっぱい。NGNG
>>267
>>266>>261ですよ。
>>263は反撃という話だったので、私の>>261に対するレスだと思いましたが。
0269名無しさん@お腹いっぱい。NGNG
>>267
Unauthoirzed って事は、BadRequestを返すわけにもいかんでしょ。
承認が先に無いと意味が無いですよ。
0270名無しさん@お腹いっぱい。NGNG
>>268
正直スマンカッタ

>>269
なるほど、そういうことですか。手っ取り早く規制すために全体にBasic認証かけちゃってたもので。

401出させる前のログを辿ってみたら、同様のリクエストを見つけました。

*.ar - - [21/Oct/2003:08:33:36 +0900] "0x040x01" 501 204

501 Not Implementedになるのか。そりゃそうですね。

しかしこのリクエストは何を狙ってるのか謎です。
0271名無しさん@お腹いっぱい。NGNG
http://www.example.com/foo/bar/fuga/hoge/
にアクセスされた場合、実際には
http://www.example.com/index.php?cat=hoge
にアクセスしてるように表示させたいと思っています。
(要は、com/以下の、途中のパス名はどうでもよく、URIの最後の/と/の間の文字列を受け取って
実際には、http://www.example.com/index.php?cat=その文字列
を表示させたく思ってます。

自分で調べたところ、
●mod_rewrite を使う
●たぶん日本語で一番わかりやすそうなサイトは http://japache.infoscience.co.jp/rewriteguide/
と、分かったのですが、実際の表現方法が分かりません。
httpd.confに、
<VirtualHost xxx.xxx.xx.xx:80>
SSLDisable
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteOptions inherit
  #2003-11-07 20:08
  RewriteRule ^([^/]*)/$ /index.php?cat=$1 [R]
 </IfModule>
</VirtualHost>
と、RewriteRuleの1行を加えて、Apacheを再起動させたのですが、結果は変わらずでした。

正しくはどう書けばよいのでしょうか・・・?正規表現が間違っているのでしょうか?
なお、環境は、FreeBSDのレンタル共有サーバ(ただし、実質専用サーバ)、というか、
このサービス使ってます⇒http://vps.rapidsite.jp/
0272271NGNG
すいません、「httpd -l」したら
mod_rewrite.c
が表示されてませんでした・・・。

おかしいな・・・ちょっと手前に戻って、勉強しなおしてきます。
0273271NGNG
うーん。

デフォルトで、httpd.confに、
#LoadModule rewrite_module libexec/mod_rewrite.so
とコメントアウトされてる行があったので、
そのコメントをはずして、
apacheを再起動させたのですが・・・
やはり、
「httpd -l」したら
mod_rewrite.c
が見あたらない・・・

/# find . -name mod_rewrite.so -print
./usr/local/apache/libexec/mod_rewrite.so

と、モジュールの存在は確認済みなのですが・・・
この場合は、Apacheをリコンパイルする必要はないですよねぇ・・・?

初歩的なとこで勘違いしてるでしょうか?
0274名無しさん@お腹いっぱい。NGNG
>>273
Apacheリコンパイルしないとダメだよ。

./configure --enable-rewrite
make
make install

こんな感じ。
0275274NGNG
>>273
ごめん、よく読んでなかった。

LoadModule rewrite_module /usr/local/apache/libexec/mod_rewrite.so

これは書いてるの?
■ このスレッドは過去ログ倉庫に格納されています