MoinQ:

1. DNS/キャッシュ毒盛/対策

../攻撃 http://www.topology.org/linux/bind_bigbug.html

キャッシュサーバで行なう対策 /google

1.1. 緊急必須の対策

max-cache-ttl で毒の効果期間を制限するのもいいでしょう。

1.2. 次の一歩 (案)

1.3. unbound

/unbound キャッシュサーバならオプションとして実装されている。

1.4. RFC つまりはBINDに対する疑問

RRSetsの受け入れについての RFC 2181 5.4. 節の記述は Kaminsky 流攻撃を防げないのか。


The accuracy of data available is assumed from its source. Trustworthiness shall be, in order from most to least:


どういう扱いをしようと、

毒盛対策としては、

すでにキャッシュされているものは置き換えないのがよい。

2. SPNEセキュリティ技術解説セミナー スライド

改訂されている。毒盛の例もある。

SPNセキュリティ技術解説セミナー. DNSにおけるキャッシュ汚染攻撃. 
2008年10月25日(土). 【2008年11月3日改訂】.
塩月 誠人 <mshio@Sec-Pro.Net>. 合同会社セキュリティ・プロフェッショナルズ・ネットワーク ...

3. もっとTCPを使おう

別途説明しているように、委譲の仕組みを利用した毒盛攻撃が存在する。

DNS返答が委譲を示すものなら、TCPで問い合わせしなおすのがよい。

委譲以外の返答に含まれるauthoriy section や additional section は問合せ効率向上が目的だから、 セキュリティ向上のためには無視するのがよい。

TTLを大きく設定して、問い合わせ回数を減らすなどの方法により対応するのがよい。 -- ToshinoriMaeno 2011-05-21 03:27:29

djbdns/dnscache でTCPを使うときには、SIGPIPE対応(無視)のパッチを使うことが推奨されている。

あるいは、実行環境を設定しておく。

exec <seed
trap "" SIGPIPE
exec ...

http://blog.netherlabs.nl/articles/2008/08/05/calculating-the-chance-of-spoofing-an-agile-source-port-randomised-resolver