idnits 2.17.1 draft-fujiwara-dnsop-avoid-fragmentation-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (July 04, 2019) is 1750 days in the past. Is this intentional? Checking references for intended status: Best Current Practice ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Downref: Normative reference to an Informational RFC: RFC 7739 ** Obsolete normative reference: RFC 8499 (Obsoleted by RFC 9499) Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group K. Fujiwara 3 Internet-Draft JPRS 4 Intended status: Best Current Practice July 04, 2019 5 Expires: January 5, 2020 7 Avoid IP fragmentation in DNS 8 draft-fujiwara-dnsop-avoid-fragmentation-00 10 Abstract 12 Path MTU discovery is vulnerable and IP fragmentation may cause 13 protocol weakness. Currently, DNS is said to be the biggest user of 14 IP fragmentation. However, it is possible to avoid IP fragmentation 15 in DNS because TCP transport and truncation work well. This document 16 proposes to avoid IP fragmentation in DNS. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at https://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on January 5, 2020. 35 Copyright Notice 37 Copyright (c) 2019 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (https://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 54 3. Proposal to avoid IP fragmentation in DNS . . . . . . . . . . 3 55 4. Incremental deployment . . . . . . . . . . . . . . . . . . . 3 56 5. Considerations . . . . . . . . . . . . . . . . . . . . . . . 3 57 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 58 7. Security Considerations . . . . . . . . . . . . . . . . . . . 4 59 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 60 8.1. Normative References . . . . . . . . . . . . . . . . . . 4 61 8.2. Informative References . . . . . . . . . . . . . . . . . 5 62 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5 64 1. Introduction 66 DNS has EDNS0 [RFC6891] mechanism. It enables that DNS server can 67 send large size response using UDP. Now EDNS0 is widely deployed, 68 then DNS is said to be the biggest user of IP fragmentation. 70 However, "Fragmentation Considered Poisonous" [Herzberg2013] proposed 71 effective off-path DNS cache poisoning attack vectors using IP 72 fragmentation. "IP fragmentation attack on DNS" [Hlavacek2013] and 73 "Domain Validation++ For MitM-Resilient PKI" [Brandt2018] proposed 74 that off-path attackers can intervene in path MTU discovery [RFC1191] 75 to perform intentionally fragmented responses from authoritative 76 servers. [RFC7739] stated security implications of predictable 77 fragment identification values. 79 As a result, we cannot trust fragmented UDP packets and path MTU 80 discovery. By the way, TCP is considered resistant against IP 81 fragmentation attacks because TCP has sequence number and 82 acknowledgement number in each sequence. 84 This document proposes to avoid IP fragmentation in DNS. 86 2. Terminology 88 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 89 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 90 "OPTIONAL" in this document are to be interpreted as described in 91 BCP14 [RFC2119] [RFC8174] when, and only when, they appear in all 92 capitals, as shown here. 94 Many of the specialized terms used in this document are defined in 95 DNS Terminology [RFC8499]. 97 3. Proposal to avoid IP fragmentation in DNS 99 The methods to avoid IP fragmentation in DNS are described below: 101 o Full-service resolvers SHOULD set EDNS0 requestor's UDP payload 102 size to 1220. (defined in [RFC4035] as minimum payload size) 104 o Authoritative servers and full-service resolvers SHOULD choose 105 EDNS0 responder's maximum payload size to 1220 (defined in 106 [RFC4035] as minimum payload size) 108 o Special consideration in small MTU network: If authoritative 109 servers and full-service resolvers are located across the link 110 with the MTU value less than 1280, choose EDNS0 requestor's and 111 responder's maximum payload size fit to the smallest link MTU 112 value. (the smallest MTU value minus IPv4 header size and UDP 113 header size.) 115 o Full-service resolvers MAY drop fragmented UDP responses derived 116 from DNS before IP assembly. (It is a countermeasure against DNS 117 cache poisoning attacks using IP fragmentation.) 119 o And more, authoritative servers MAY send DNS responses with 120 IP_DONTFRAG / IPV6_DONTFRAG options. 122 When responses exceed specified EDNS0 size 1220 (or smaller value), 123 servers return truncated responses, and clients retry by TCP. 124 [RFC1035] 126 4. Incremental deployment 128 The proposed method supports incremental deployment. 130 When a full-service resolver implements the proposed method, the 131 full-service resolver becomes to avoid IP fragmentation in DNS. 133 When an authoritative server implements the proposed method, the 134 authoritative server becomes to avoid IP fragmentation in DNS. 136 5. Considerations 138 In past researches ([Fujiwara2018] / dns-operations mailing list 139 discussions), there are some authoritative servers that ignore EDNS0 140 requestor's UDP payload size, and return large UDP responses. 142 And it is known that there are some authoritative servers that do not 143 support TCP transport. 145 6. IANA Considerations 147 This document has no IANA actions. 149 7. Security Considerations 151 8. References 153 8.1. Normative References 155 [RFC1035] Mockapetris, P., "Domain names - implementation and 156 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, 157 November 1987, . 159 [RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191, 160 DOI 10.17487/RFC1191, November 1990, 161 . 163 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 164 Requirement Levels", BCP 14, RFC 2119, 165 DOI 10.17487/RFC2119, March 1997, 166 . 168 [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. 169 Rose, "Protocol Modifications for the DNS Security 170 Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005, 171 . 173 [RFC6891] Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms 174 for DNS (EDNS(0))", STD 75, RFC 6891, 175 DOI 10.17487/RFC6891, April 2013, 176 . 178 [RFC7739] Gont, F., "Security Implications of Predictable Fragment 179 Identification Values", RFC 7739, DOI 10.17487/RFC7739, 180 February 2016, . 182 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 183 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 184 May 2017, . 186 [RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS 187 Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, 188 January 2019, . 190 8.2. Informative References 192 [Brandt2018] 193 Brandt, M., Dai, T., Klein, A., Shulman, H., and M. 194 Waidner, "Domain Validation++ For MitM-Resilient PKI", 195 Proceedings of the 2018 ACM SIGSAC Conference on Computer 196 and Communications Security , 2018. 198 [Fujiwara2018] 199 Fujiwara, K., "Measures against cache poisoning attacks 200 using IP fragmentation in DNS", OARC 30 Workshop , 2019. 202 [Herzberg2013] 203 Herzberg, A. and H. Shulman, "Fragmentation Considered 204 Poisonous", IEEE Conference on Communications and Network 205 Security , 2013. 207 [Hlavacek2013] 208 Hlavacek, T., "IP fragmentation attack on DNS", RIPE 67 209 Meeting , 2013, . 212 Author's Address 214 Kazunori Fujiwara 215 Japan Registry Services Co., Ltd. 216 Chiyoda First Bldg. East 13F, 3-8-1 Nishi-Kanda 217 Chiyoda-ku, Tokyo 101-0065 218 Japan 220 Phone: +81 3 5215 8451 221 Email: fujiwara@jprs.co.jp