CVE-2012-どさにっき

by やまや
1月下旬

2012年1月26日(木)

unbound で AAAA filter

_ ふつーの場合。

  1. AAAA を聞かれる
  2. ふつーに AAAA を再帰検索する
  3. 結果を答える
AAAA filter が有効な場合。
  1. AAAA を聞かれる
  2. ふつーに AAAA を再帰検索する
  3. クライアントが ipv6 である、または結果が DNSSEC 署名されている、または AAAA が存在しなかった場合、結果をそのまま答える
  4. クライアントが ipv4 であり、かつ署名されておらず、かつ AAAA が存在する場合、さらに A を検索する
  5. A が存在していれば NODATA を返す(AAAA も A も答えない)
  6. A が存在していなければそのまま AAAA を返す

_ 今度の World IPv6 Launch に際して、BIND のような AAAA filter が unbound にも欲しいよね、という声が一部で出てる。v6 を launch するイベントのために AAAA filter が必要になるというのは、なんとも後ろ向きなんだけど、閉域網のおかげで実際に問題になる環境が存在するし、そのせいで google やら akamai やらが「ちゃんと解決しないと日本に対してだけは永久に v4 のみにするぞ」と圧力をかけてきているようなので問題が起きないように対策せざるをえない。が、実際それを実装するとなるとなんともめんどくさい。BIND もよくこんなめんどくさいもの入れたな。

_ unbound のソースをちらっと覗いてみた感じでは、v6 での問い合わせでも問答無用に AAAA を削っていいなら数行の修正でいけそうだけど、応答を組み立てる関数の中からはクライアントが v4 か v6 かといった情報にアクセスできないっぽい(?)ので、そのへんをちゃんと判定して AAAA を応答から削るとなるとけっこう手間がかかりそう。それだけではなく、AAAA と A が両方存在していた場合のみ削るようにしないといけないので、聞かれもしない A を問い合わせて AAAA だけなのか AAAA と A が両方あるのかどちらか調べる必要があってさらに複雑化する。unbound のソースのかなりの部分に手を入れる必要がありそうで超めんどくさい。少なくともわしの手には負えない。ソースを詳しく調査したわけじゃないので、見落としがあって実はほんのちょっとの修正でいけちゃうのかもしれないけどね。

_ ちなみになんで単純に AAAA を削るだけではダメなのかというと、v6 reachability を持っているけどキャッシュ DNS への問い合わせは v4 でおこなっている環境(具体的には WinXP とか、あるいは単純にキャッシュ DNS が v4 しか提供されてないとか)で、アクセスできるはずのホストにアクセスできなくなってしまうため。目的は v6 -> v4 のフォールバックを減らすことであって、v6 only のホストの存在をないものにすることではないので、A が存在しない場合には AAAA の応答を返してやる必要がある。AAAA じゃなくて ANY を聞かれた場合も、A の有無によって AAAA を除くかどうか応答を変えた方がいいのかしら。BIND はどうなってるんだっけ。

_ まあ、そんなわけで、やってみようかとも思ったけどやめた、というお話でした。期待した人がいればごめんなさい。

_ 結論: NGN がみんな悪い。


2012年1月20日(金)

無題

_ 目覚ましではなく、携帯メールで起こされた。うがー。障害発生か。今日は当番じゃないけど、やたらうるさく鳴りまくってるから手伝っとくか、とリモートログインしようとしたら、つながらない。障害サーバが落ちてるとかそういうのじゃなくて、自宅ネットワークから出ていけない。自宅サーバが腐って DHCP やら DNS やらが応答しなくてなってた。うー、またか。

_ ログ。

Jan 20 02:05:46 <kern.crit> eel kernel: ae0: watchdog timeout - resetting.
Jan 20 02:05:46 <kern.notice> eel kernel: ae0: link state changed to DOWN
Jan 20 02:05:48 <kern.notice> eel kernel: ae0: link state changed to UP
Jan 20 02:06:22 <kern.crit> eel kernel: ae0: Size mismatch: TxS:140 TxD:29806
Jan 20 02:06:22 <kern.crit> eel kernel: ae0: Received stray Tx interrupt(s).
Jan 20 02:06:23 <kern.crit> eel kernel: ae0: Size mismatch: TxS:89 TxD:12899
Jan 20 02:06:23 <kern.crit> eel kernel: ae0: Size mismatch: TxS:216 TxD:16685
Jan 20 02:06:23 <kern.crit> eel kernel: ae0: Size mismatch: TxS:165 TxD:2607
Jan 20 02:06:23 <kern.crit> eel kernel: ae0: Size mismatch: TxS:131 TxD:256
Jan 20 02:06:26 <kern.crit> eel kernel: ae0: Size mismatch: TxS:216 TxD:32849
Jan 20 02:06:26 <kern.crit> eel kernel: ae0: Size mismatch: TxS:165 TxD:27138
Jan 20 02:06:27 <kern.crit> eel kernel: ae0: Size mismatch: TxS:111 TxD:5056
Jan 20 02:06:27 <kern.crit> eel kernel: ae0: Size mismatch: TxS:151 TxD:36431
Jan 20 02:06:27 <kern.crit> eel kernel: ae0: Size mismatch: TxS:89 TxD:28015
以下略。寝てる間ずっと腐ってたらしい。夜中うちにアクセスしてきた人がいたらごめんなさい。

_ 初犯じゃないんだけどな。何ヶ月かおきによくこうなって NIC が腐る。NIC がハード的にダメなのか、ドライバがダメなのかどっちなんだろ。まあ、マシンごと再起動しなくても ifconfig で down/up すれば復活するので対処は楽なんだが。

_ ASUS の EeePC 900 という安物ネットブックなんで、信頼性がかなり劣るのもしかたない。自宅用とはいえ、こんなのをサーバとして使う方がどうかしてるので、そこを責めるつもりはない。やっぱりもう少しマシな機材に買い替えるかなぁ。その前に OS のバージョンを上げてみる方がいいか。めんどくせぇ。

_ あ、障害の方はとりあえず、まあ、なんとかなりました。


2012年1月11日(水)

無題

_ 沖縄は今日まで。いつ降り出してもおかしくないような曇り空。結局晴れたのは滞在中1日だけだった。久高島→平和祈念公園→喜屋武岬。

_ 船に乗って久高島へ。どんぶらこ、ってな感じでのんびり行ければよかったけど、風が強くて波がそこそこある中を高速船が突き進むのですっげー揺れる。片道20分でよかったよ。1時間とかかかるようなら確実に船酔いで死んでた。

_ ここは琉球神話で重要な役割を果たす島らしく、ニライカナイがどうたらこうたら(よくわかってない)。そんなわけで、そういう聖所が見られるんじゃないかと期待してたんだけれど、残念ながらそれほどでも。島の北端の岬は聖地らしいのでなんかあるのかなと思ったら、拝所のようなものは見当たらず、ただ眺めのよい岬があるだけだった。いや、この眺めだけで十分なわけだが(もっと天気がよければ……)。ほんとに重要な聖地もあるにはあるけど立ち入り禁止で、人が見てなければこっそり入っちゃおうかと悪い考えもおこしてみたけど、入口で島の人がなんか作業してて悪の芽は潰えた。

_ まあ、ニライカナイな方面ではちょと期待はずれだったけど、鬱蒼とした原生林とかすばらしい。レンタサイクルで半日もかからず島内をぐるっと一周できるし、海もきれいでお手頃に楽しいんだけど圧倒的に知名度低いよね。わしも今回こっちに来てはじめて知ったし。砂浜がほとんどないし、なまじ聖地なもんだからリゾート開発がされないからなんだろう。逆に言えば、そういうことを目的にしないのであれば穴場といえるかも。

_ というわけで、これで沖縄旅行おしまい。さすがにオフシーズンに4泊もするとさすがに時間を持て余し気味な感じ。もともと自転車を持ち込んで乗り回すつもりで予約したんだけど、ずーっと天気が悪い予報だったんであきらめたので、間延びするのもまあしかたない。次があるならぜひ自転車で、そして天気のいい日に来たいものだ。宮古とか石垣とかの離島にも行きたいなー。

_ そして年末から半月に及び遊び暮らしもこれでおしまい。んー、仕事したくない。

_ 久高島の原生林

イラブー(ウミヘビ)汁。久高島の名物らしい。たいしてうまいもんでもなかろうと思いながらも、こういうものは食えるときに食わないと一生縁がなさそうなので注文してみたら、やっぱりたいしてうまいもんではなかった(まずいわけでもないが)。


1月下旬
やまや