Subject: random ip_id must be configurable
To: None <tech-net@netbsd.org>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-net
Date: 09/11/2003 13:04:45
The traditional incrementing IP id code was recently replaced (without
discussion) with an OpenBSD-derived pseudo-random IP id.

This change was made despite the relatively recent discussion of the
technical issue, in which most (if not all) the following points came up:

 * Its not  clear to all of us that the "vulerability" to DNS requests
   is widespread,[    or that randomizing the ip_id is the best way to close it.

 * There are environments where the computational cost does not justify
  deploying this fix.

 * There are environments where the downside of reducing the (already small)
   ip_id space overwhelms the alleged security gains.

(To paraphrase an observation Bill STudenmund made in a different context:
   ``this code needs to be fast.')

I therefore intend to to make randomisation of the IP id field be a
config-time option. Personally I beleive the default should be to not
randomize; though i amo open to other suggestions, such as making it
sysctl'able (changeable at low security levels), with an
inline-function to make the test and (if using increment) return the
increnemted global; otherwise do a full function call to get a
pseudo-random IP id.