DNS関連技術情報のトップへ戻る

---------------------------------------------------------------------
■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.