---------------------------------------------------------------------
■qmail/netqmailにおける512バイトを超えるDNS応答の不適切な取り扱いについて
株式会社日本レジストリサービス(JPRS)
2011/03/03(Thu)
---------------------------------------------------------------------
▼背景
伝統的なDNSの仕様では、通信プロトコルとしてUDPを用いる場合のDNS応答
のサイズを512バイト以下に制限しています。DNSにおいて512バイトを超え
る応答を取り扱う必要がある場合、通信プロトコルとしてTCPを使用するか、
RFC 2671で定められた拡張機能であるEDNS0を使用します。
そのうち、TCPの使用は従来からあるDNSの基本機能の一つであり、インター
ネットに接続するホストが満たすべき要件を定めたRFC 1123では、DNSにお
けるTCPの使用を「サポートすべき(SHOULD support)」と定めています
(*1)。そして、TCPを使用することでDNSでは65,535バイトまでのDNS応答
を取り扱うことができ、これがDNSの仕様においてサポートされるDNS応答の
最大サイズとなります。
(*1)RFC 1123の内容を一部更新するRFC 5966で「サポートしなければなら
ない(MUST support)」に変更されています。
ただし、DNSの仕様では負荷軽減の観点から、通信時にはUDPを最初に使用し、
TCPの使用は応答の大きさが512バイトを超え、応答パケットの切り詰めが発
生した場合のみとすることを定めています。そのため、DNS応答の大きさが
512バイトを超えない場合、ゾーン転送以外の通常のDNS運用でTCPが使用さ
れることはありません。
▼問題の概要
近年、DNSSECの本格運用開始やIPv6、SPFなどの技術の普及により、DNS応答
のサイズが増大する傾向にあります。これにより、これまで潜在していた
512バイトを超えるDNS応答の不適切な取り扱いが顕在化し、予期しない障害
が発生する場合があります。
現時点において、メール配送ソフトウェアの一つであるqmail、及びqmail
にいくつかのバグ修正や機能拡張を実施したnetqmailには本件に該当するバ
グが存在することが判明しており、特定のドメイン名あての電子メールの配
送ができなくなる障害の発生が確認されています。
また、この他のソフトウェアにおいても512バイトを超えるDNS応答の取り扱
いが不適切である場合、同様の障害が発生する可能性があります。
▼必要な対策
参考URIに示したパッチを適用してqmail/netqmailを再インストールするこ
とにより、このバグを修正できます。なお、一部のOSやディストリビューショ
ンに付属するqmail/netqmailでは、同様の対策が既に実施されている場合が
あります。
その他の該当ソフトウェアについても、同様の障害修正が必要になります。
▼参考URI
JPRSトピックス&コラム No.16
■DNSSECに関するよくある質問と回答(技術仕様編)
<http://jpinfo.jp/topics-column/016.pdf>
qmail 1.03に対する非公式パッチ
<http://www.ckdhr.com/ckd/qmail-103.patch>
---------------------------------------------------------------------
▼更新履歴
2011-03-03 16:00 初版作成
株式会社日本レジストリサービス Copyright©2001-2024 Japan Registry Services Co., Ltd.