Sorry, 'modulate tcp' was a thinko.  I had been meaning to move
'modulate state' into the scrubber for a long time.

Reassemble TCP does aggressive TCP PAWs checks on the TCP timestamps.
It does the usual PAWs check to make sure a timestamp is not older than
the last echoed value - which is in theory a wrapped sequence number.
It also does its aggressive check to make sure the timestamp did not
increase faster than the fastest clock which the RFC allows - an
attacker can kill a connection by spoofing a higher timestamp.  In
order to prevent blind TCP spoofing PF's scrub will require TCP
timestamps on all data packets if the first data packet had a
timestamp.  There are some transparent web caches out there that will
allow the 3whs to complete (exchanging timestamp information) and then
they will will hijack the TCP connection.  Of course the developers of
the hijacking device took some liberal shortcuts that make them look
just like a blind hijacker instead of a MITM hijacker.  If they hijack
in the middle of the data stream (like after they see the HTTP request)
and stop sending TCP Timestamps then PF's reassemble TCP will block
further packets.

.mike

> What is 'modulate tcp'?
> modulate state works fine.
> I get these errors only with scrub's reassemble tcp option
> I originally assumed it was an Apple problem since I only had trouble 
> with the OS X "Software Update" feature.
> Going back to the beginning of this thread - Walter Haidinger appears to 
> have a similar problem but not with Apple.
> I was hoping he could try 'set debug loud' in his pf.conf and check his 
> /var/log/messages file after testing a problem site.
> If he sees messages similar to the one's I've seen maybe we both know a 
> little more.
> 
> -Dan

Reply via email to