3 ms·
While packet size is one thing you can do with EDNS, it’s really a mechanism to allow the DNS protocols to add new features, as there’s no version in the DNS he
by bluejekyll 8y ago
While packet size is one thing you can do with EDNS, it’s really a mechanism to allow the DNS protocols to add new features, as there’s no version in the DNS header.
Also, a lot of DNS hosts do not allow for large packet sizes over UDP to attempt to reduce the effect of reflection attacks.
- Dylan16807 8y ago> Also, a lot of DNS hosts do not allow for large packet sizes over UDP to attempt to reduce the effect of reflection attacks. Do any allow a large response if you send a large (padded) request?
- bluejekyll 8y agoHopefully someone else can answer this, but I think Google will limit the response UDP packet size to either 512 bytes or the size of the request. So, yes, I think padding it could work. (EDNS does have a padding type)
- Dylan16807 8y ago> (EDNS does have a padding type) "The use of the EDNS(0) padding only provides a benefit when DNS packets are not transported in cleartext. Further, it is possible that EDNS(0) padding may make DNS amplification attacks easier. Therefore, implementations MUST NOT use this option if the DNS transport is not encrypted." Apparently it does have a padding proposal, but it wasn't thought through very well. They only had the use case of confidentiality in mind, and decided to deal with amplification by forbidding cleartext use, no matter what the response:request size ratio is.
- bluejekyll 8y agoEven in the intended use scenario, I’ve personally found it difficult to reason about how to append it to the end of a packet. It basically needs to be the final record, which conflicts with things like SIG0 that also want to be the final record.