どさにっきLTE 〜2013年7月下旬〜

by やまや
<< = >>

2013年7月22日(月)

Apache 2.4.6

_ いつのまにやら 2.4.6がリリースされたようだ。 トップページではまだ 2.4.4 が最新ということになってるし、新しいのがリリースされたよ、というニュースも見当たらないけど。2.4.5 はバージョンタグを打った直後にバグが見つかって修正が入ったため欠番とのこと。

_ ちうことで、うちのもさっそく入れ替え。まあ、とくに変わらん。脆弱性が2件修正されてるようだけど、うちじゃ関係ないし、それ以外の修正点も使ってないモジュールがほとんどだし。じゃあ、なんで入れ替えた:-)

_ httpd.conf の中でマクロ展開できるようにする mod_macro というモジュールが新しく追加されたようだ。

Define DOCROOT /path/to/docroot
DocumentRoot ${DOCROOT}
<Directory ${DOCROOT}>
    ...
</Directory>
みたいな記述ができるようになるのか、それは便利だ、と思ったらぜんぜん違った。つーか、その機能は 2.3 のころにすでに入ってる(すっかり忘れてた…)。

_ たとえば大量の仮想ホストを定義したい場合、

<Macro VHOST $servername>
    <VirtualHost *>
	ServerName $servername
	DocumentRoot /path/to/vhost/$servername
	<Directory /path/to/vhost/$servername>
	    ...
	</Directory>
	...
    </VirtualHost>
</Macro>
こんな感じでマクロを定義しておくと、
Use VHOST vhost1.example.com
Use VHOST vhost2.example.com
こんな感じに列挙することでマクロ展開してくれる、というシロモノらしい。まあ、便利といえば便利だけど、テンプレからスクリプトで conf を生成するなんてことはこれまでも日常的にやってたわけなので、これまでの不便が格段に改善された、というほどのものでもない。うん、使わないと思う。


2013年7月27日(土)

今年も夏祭り

_ 週末に公表すんなボケがぁーっ。

_ 細工された RDATA を含むクエリで死ぬって、今回だけでなくときどき起きてるけどさ、おかしくね? レスポンスで死ぬならまだ理解できるんだけど。answer/authority/additional section がいずれも 0 な通常な DNS クエリならそもそも RR を含まないから RDATA もとーぜん含まないはずなのに。DNS のプロトコル上はあっても不正じゃないし、実際 EDNS0 は疑似 RR で実現されるから RDATA を含むこともあるけど(ただし、パケットの最大サイズを指定するだけのよくある使い方なら RDATA は空)、今回の修正部分を見るかぎり関係なさそうだし。なんで存在しないはずのデータを解釈しようとしてコケてんですかね。まあ、そこを細工することで攻撃してるわけだけど、仮に存在したとしても、RDATA を解釈せず RDLENGTH の大きさだけポインタを進めて読み飛ばすんじゃ何か不都合あるんですかね。つーか、EDNS0 ではない RR を含むクエリはパケットの解釈をしないで FORMERR を返しちゃいけないんですかね。

_ それから、今回の件で修正されたのが rdata/generic/keydata_65533.c というファイルなんだけど、…なにこれ? ここにあるということは、KEYDATA(65533) という qtype が存在してるってことだよね。初めて知ったのでぐぐってみたけどひっかからないよ? もしかして、BIND が内部的に勝手に生成してる疑似タイプですか? 以前 NSEC3 がらみで TYPE65534 という内部用疑似タイプが外に漏れるという バグがあったけど、こっちはちゃんと マニュアルにも載ってる。が、今回の 65533 の方はどこにも記載がないようなんだけど、いったい何なんですかねこれ。

_ おまけ。 昨年までの夏祭り


<< = >>
やまや