1月 172009
 

何となく常駐板以外をうろうろしていた所、つこうた事件で大騒ぎになっている最中のIPAが「DNSキャッシュポイズニング」に関する対策資料を作成したというネタを見つけた。

そんな問題あったっけ?と言うわけで調べてみた。

他のサーバに聞きに行くときに、ポートと呼ばれる窓口を通して聞きに行きます。
んで、このポートってのは65535個あるんだけど、ランダムに聞きに行くのが理想。
それと、一回聞きに行くごとに違うID(0-65535)を付けて送っています。
でも、これらの番号がもし予想しやすかったら?固定されていたら?
そこに目がけて嘘のデータを投げ込んでしまえば、嘘の住所をDNSが覚えちゃう。つまり、googleに繋ぎたい人を全く別のサイトに接続させたりすることが出来ちゃう!
ポート番号とクエリidがそれぞれ一致しないと、この汚染攻撃は成功しないんだけど、どっちかが予測可能であったら65535通り試す程度で済んじゃうよね。
今回の問題としては、そのポート番号のランダム性が足りなかったり、決め打ち(53番)だったりする事です。

ヤバイ、ヤバイね!

引用元:今更だけどDNSキャッシュポイズニングについて簡単に説明するよ! – そして、DNSポイズニングがなかなか対応されない理由。 – m-birdとFreeBSDの同棲日記

それでうちのDNSサーバもチェックしてみたところ案の定駄目でした。ポートがランダムになっておらず一直線です。
BINDの設定では「query-source」のポートは固定にしていないため数十秒単位で見れば変わってはいるのですが、連続で問い合わせされると役に立たないよう。

対策済みのBINDを早く導入せんとなぁ・・・。
そうはいってもFedora Core 6のバイナリ更新は完全に止まってるんじゃあああああああああああ!
適当なrpm探すかソースからビルドするか・・・。うーむ。

 Posted by at 11:48 PM