title
わたしの日記は日々の出来事の鬱憤晴らしの毒だし日記がメインです。 相当病んでいます。くだを巻いています。許容出来る方のみのアクセスをお願いします。 また、この日記へのリンクは原則自由にして頂いても結構ですが、 写真への直リンクを張るのはご遠慮下さい。内容に関しては、一切保証致しません。
カテゴリ一覧 Network, Internet, IPv6, DC, NTT, Comp, Linux, Debian, FreeBSD, Windows, Server, Security, IRC, 大学, Neta, spam, , 生活, 遊び, Drive, TV, 仕事,
過去日記:





2003年07月18日(金) [晴れ]

[IRC] wiki と ircのへの接続の関係

miro2くんが昔IRCへ繋がらない…といってたことですが、今回検証してみました。
私が過去にwikiをTOPにしたら、ircに繋ぐとDenied Access(web proxy)とでて、繋がらなくなるという現象を聞いたことがありますが、iwaiさんに激しくつっこまれましたが、、、

まず、利用したサーバは、bsd.gyojya.jp (woody.debian-users.org) なホストで、 FreeBSD 4.7-RELEASE + Apache 1.3.27 です
wiki は tDiary のテーマを使えるという楽しいHikiを利用しました。

まず、irc2.10.3p3+hemp+jp7 (hempそのものの仕様だが)では、接続してきたホストのIPに対して、自分自身のIRCサーバへconnectを試みます。(irc.fujisawa.wide.ad.jp の例)

$ telnet 61.213.130.36 80
CONNECT 192.244.23.3:6669 HTTP/1.0
そのとき、wikiをTOPページに置くとApacheは
HTTP/1.1 200 OK
Date: Fri, 18 Jul 2003 12:25:11 GMT Server: Apache/1.3.27 (Unix) mod_perl/1.27 PHP/3.0.18 PHP/4.2.3 Cache-Control: no-cache Content-Language: ja Pragma: no-cache Last-Modified: Fri, 18 Jul 2003 08:14:47 GMT Content-Length: 3331 Connection: close Content-Type: text/html; charset=EUC-JP
と返してしまい、open web proxy として見なされてしまい、Denyされてしまいます。
しかし、wikiがIPアドレスに対してアクセスしたとき、TOPページじゃなければ、以下のように返し、proxy機能が無いと判断され、IRCサーバへ接続が出来ます。
HTTP/1.1 302 Found
Date: Fri, 18 Jul 2003 12:24:45 GMT Server: Apache/1.3.27 (Unix) mod_perl/1.27 PHP/3.0.18 PHP/4.2.3 Location: http://www.gyojya.jp/hosting/hosting_index.html Connection: close Content-Type: text/html; charset=iso-8859-1
wiki を TOPページに持ってくると、何故 CONNECT を許してしまうのか、解りませんが…。 結果から考えると、wikiが関連していると思われます。
TOPページをwikiにするという場合、VirtualDomainで、IPに対してアクセスがあったとき、wikiを表示しないように構成するのが解決策だと考えられます。

以下が.httpd.conf のvirtual domainの設定です。
IPアドレスで接続したとき、wikiが表示される状態
NameVirtualHost 61.213.130.36:80
<VirtualHost www.shotamoe.net:80>
  ServerAdmin tomo@gyojya.jp
  DocumentRoot /home/www/shotamoe.net/netsuzou/public_html/
  ServerName 61.213.130.36
</virtualHost>
IPアドレスでアクセスしたとき、wiki以外の場合
NameVirtualHost 61.213.130.36:80
<VirtualHost 61.213.130.36:80>
  ServerAdmin info@gyojya.jp
  DocumentRoot /home/www/document_root/public_html
  ServerName 61.213.130.36
</virtualHost>
いわい  『それは失礼しました。ただ、HTTP 1.1 的には、Cache-Control: no-cache とか Pragma: no-cache とかがあるだけで Proxy だと看做すことはかなり間違っている気はします。静的な単なる HTML 文書を返すときにもそれらのヘッダと共に返されることはそれなりにあるはずです。世の中の Proxy の実装の都合でそうなのかも知れないので断言は危険ですが、irc2.10.3p3+hemp+jp7 の仕様がどうもおかしい気がしますね。ま、安全側に倒すことは悪いことではないので別に構いませんが。また、これも僕自身が Wiki というもののあるべき実装を知らないのでどちらが Wiki 的にいけてないのか、それともそもそもそのあたりについては何も言及されていないため実装者の趣味が反映されているのかは知りませんが、あらゆる Wiki で成立することでもなさそうです。PukiWiki 1.3.4 や AsWiki 0.93 ではそのようなヘッダを吐くことは確認できませんでした。 対策については、単純に IRC サーバからのパケットを落とすだけでよい気がします。 』
ともちゃ  『私が書きたかったのは、「Cache-Control: no-cache 」や「Pragma: no-cache 」ではなく、wikiをTOPページに置くと、「HTTP/1.1 200 OK」と返してしまい、web proxy と ircサーバが認識してしまい拒否されたと言うことです。 本来は、「HTTP/1.1 405 Method Not Allowed」と出すのが正しいと思われますが…。要はCONNECTというメソットは使えないと返すべきかと。まぁ、「HTTP/1.1 302 Found」でもIRCサーバへの接続は可能の様ですが…。 # 302 を返したのは.htaccess によるRedirectを使ってるからかも… 要は、hemp そのものの仕様として、CONNECT のメソットに対して 200 OK さえ出さなければ接続可能とのこと。 また、いわいさんのおっしゃるように、パケットを落とせば手っ取り早いかもしれませんが、ただ、落とすだけでは接続に時間がかかるようになるはず(未検証)。identの要求と同じように、proxyのチェックでも「Connection reset by peer」となるように落とさないと、タイムアウトが起こるまで待つはずです。 』
いわい  『すみません。日本語が全然読めてなかった模様。CONNECT ですか。 Apache/1.3.27 な環境で試してみると CONNECT しにいくと 400 を返しますね。いろいろ試しても 200 とか 302 はでなかったです。そもそも、ソースは読んでないんですけど、実装的には 400 になるべきリクエストがきたら、その URL で表現されるリソースとは関係なく、400 を返すようにすると思うので Wiki か否かというところまでチェックしにいかない気がするのですが、ソース読む気はないし、IRCサーバとのやりとりをチェックするのも面倒なので検証はしない方向で(謎)。 』
なす  『私もくらいました..... 結局、httpd.confでは逃げられなかったので(動的IPだしなぁ^^;)、iptablesでIRCサーバからの接続をDROPしました。 PukiWiki1.3.4です。うーむ。 色気を出してlilo-bkのWikiをVirtualDomainでやったのが敗因でした(笑) ってか、普通きづかねーよ.... 』
ともちゃ  『とある方からつっこまれましたが,情報としては, _default_ の / に対して cgi 等を置くと CONNECT METHOD を許可してしまうそうです。 私は今のところ検証をしていないため断定は出来ませんが,もし繋がらないとか該当していると思われる場合は確認してみてください。 』
近藤@古代図書館  『CONNECT method 許さないように .htaccess なり httpd.conf なりで指定する。以上。 Apache だったら出来ないほうが不思議。 <Limit GET POST> Options -ExecCGI </Limit> 逆転させてもいいだろうけど。 』
[ コメントを読む(6) | コメントする ]

[Life] ゴーヤ

ゴーヤを食べてみました。
うが〜、苦くてまずかった〜〜〜(( T-T
おいしい調理方法発掘せねば…(?)
[ コメントを読む(0) | コメントする ]

[Life] 偏頭痛

しくしく、偏頭痛で死んでいて、19時間ほど寝ていました(;_;
[ コメントを読む(0) | コメントする ]

Diary for 1 day(s)
Powered by hns HyperNikkiSystem Project




(c) Copyright 1998-2014 tomocha. All rights reserved.