Hi Gurus,
I had a disscusion with friend of mine who does use Linux ( and 
therefore iptables ) for his firewall. I wonder, why is so 
important for firewall to check for valid sequence number range 
for whole life of connection ? As I do understand, iptables does
it only for handshake time and after connection enters ESTABLISHED 
state it checks only for {source,destination} and {IP address, 
port}. Pf on the other hand checks for valid sequence number all
the time. 
If I send packet with invalid seq. number (with other atributes 
valid) to host behind firewall and firewall don't check it ie. 
let it through, destination host will drop it anyway doesn't it?
So in case of pf, pf will drop packet before it reach host, in 
case of firewall that doesn't do check on seq. numbers, 
destination host will drop it. Yes, nasty and not valid packets 
will enter my network, taking resources from my server etc., but 
is there anything else that I missed ? 

I red lots of papers about TCP hijacking, IP spoofing and packet
injection, but I still somehow do not understand, how seq. 
number check on firewall in whole connection's lifetime could help.
I could imagine only one situation - sending RST with valid
addresses and ports could change state on the firewall but host
will drop it, so firewall will close the connection (after some time) 
but it still will look like established on both hosts.
Could someone put more light on it ?
Thanks a lot

Petr Ruzicka

Reply via email to