Linux Netfilter discussions
 help / color / mirror / Atom feed
* Session tracking failure - ssh packets dropped as INVALID
@ 2008-02-10  3:29 John Zornig
  2008-02-10  7:35 ` Eray Aslan
  0 siblings, 1 reply; 7+ messages in thread
From: John Zornig @ 2008-02-10  3:29 UTC (permalink / raw)
  To: netfilter

I'm setting up a host based firewall on a CentOS 5.1 system and I'm  
having issues with ssh sessions hanging.
I want to restrict incoming ssh sessions to those originating from a  
particular subnet and interface.

I can connect via ssh, but often when I generate a lot of traffic e.g.  
by cat'ing a large file or running top, the session hangs. By  
selective logging, I have discovered that when a session hangs the  
packets coming to port 22 for that session change from ESTABLISHED to  
INVALID and I have a rule that all INVALID packets are dropped. For  
some reason the connection tracking appears to be faulty. Is this a  
known issue or am I doing something incorrect? I've had this occur on  
a number of systems I'm setting up at the moment all are configured  
similarly.

iptables-save output below:

# Generated by iptables-save v1.3.5 on Sun Feb 10 11:50:18 2008
*filter
:INPUT DROP [36592:4741659]
:FORWARD DROP [0:0]
:OUTPUT DROP [31:11468]
-A INPUT -f -j LOG --log-prefix "FRAGMENT DROPPED "
-A INPUT -f -j DROP
-A INPUT -s 172.18.0.0/255.255.254.0 -i eth0 -p tcp -m state --state  
NEW,ESTABLISHED -m tcp --dport 22 -j LOG --log-prefix "ESTABLISHED -  
TO BE ACCEPTED "
-A INPUT -s 172.18.0.0/255.255.254.0 -i eth0 -p tcp -m state --state  
NEW,ESTABLISHED -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state INVALID -j LOG --log-prefix "INVALID - TO BE  
DROPPED "
-A INPUT -m state --state INVALID -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -m addrtype --dst-type LOCAL -j LOG
-A FORWARD -j LOG
-A OUTPUT -d 172.18.0.0/255.255.254.0 -o eth0 -p tcp -m state --state  
ESTABLISHED -m tcp --sport 22 -j LOG --log-prefix "ESTABLISHED - TO BE  
ACCEPTED "
-A OUTPUT -d 172.18.0.0/255.255.254.0 -o eth0 -p tcp -m state --state  
ESTABLISHED -m tcp --sport 22 -j ACCEPT
-A OUTPUT -m state --state INVALID -j LOG --log-prefix "INVALID - TO  
BE DROPPED "
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -j LOG
COMMIT
# Completed on Sun Feb 10 11:50:18 2008


Log excerpt while executing "ls -Rl /" in the ssh session.

Feb 10 13:15:09 logging kernel: ESTABLISHED - TO BE ACCEPTED IN=eth0  
OUT= MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=52 TOS=0x10 PREC=0x00 TTL=61 ID=5833 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=25100 RES=0x00 ACK URGP=0
Feb 10 13:15:09 logging kernel: ESTABLISHED - TO BE ACCEPTED IN=eth0  
OUT= MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=52 TOS=0x10 PREC=0x00 TTL=61 ID=30003 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=25068 RES=0x00 ACK URGP=0
Feb 10 13:15:09 logging kernel: ESTABLISHED - TO BE ACCEPTED IN=eth0  
OUT= MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=52 TOS=0x10 PREC=0x00 TTL=61 ID=11272 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=25044 RES=0x00 ACK URGP=0
Feb 10 13:15:09 logging kernel: ESTABLISHED - TO BE ACCEPTED IN=eth0  
OUT= MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=52 TOS=0x10 PREC=0x00 TTL=61 ID=16325 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=24916 RES=0x00 ACK URGP=0
Feb 10 13:15:09 logging kernel: ESTABLISHED - TO BE ACCEPTED IN=eth0  
OUT= MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=52 TOS=0x10 PREC=0x00 TTL=61 ID=23358 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=24748 RES=0x00 ACK URGP=0
Feb 10 13:15:09 logging kernel: INVALID - TO BE DROPPED IN=eth0 OUT=  
MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=64 TOS=0x10 PREC=0x00 TTL=61 ID=22690 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=23572 RES=0x00 ACK URGP=0
Feb 10 13:15:09 logging kernel: INVALID - TO BE DROPPED IN=eth0 OUT=  
MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=64 TOS=0x10 PREC=0x00 TTL=61 ID=9482 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=23572 RES=0x00 ACK URGP=0
Feb 10 13:15:09 logging kernel: INVALID - TO BE DROPPED IN=eth0 OUT=  
MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=64 TOS=0x10 PREC=0x00 TTL=61 ID=22670 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=23572 RES=0x00 ACK URGP=0
Feb 10 13:15:09 logging kernel: INVALID - TO BE DROPPED IN=eth0 OUT=  
MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=64 TOS=0x10 PREC=0x00 TTL=61 ID=26191 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=27668 RES=0x00 ACK URGP=0
Feb 10 13:15:09 logging kernel: INVALID - TO BE DROPPED IN=eth0 OUT=  
MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=112 TOS=0x10 PREC=0x00 TTL=61 ID=31011 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=27668 RES=0x00 ACK PSH URGP=0
Feb 10 13:15:09 logging kernel: INVALID - TO BE DROPPED IN=eth0 OUT=  
MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=64 TOS=0x10 PREC=0x00 TTL=61 ID=19328 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=31764 RES=0x00 ACK URGP=0
Feb 10 13:15:09 logging kernel: INVALID - TO BE DROPPED IN=eth0 OUT=  
MAC=00:1d:09:1e:b0:a4:00:d0:00:db:f8:00:08:00 SRC=172.18.0.168  
DST=192.168.154.56 LEN=64 TOS=0x10 PREC=0x00 TTL=61 ID=11844 DF  
PROTO=TCP SPT=50066 DPT=22 WINDOW=33252 RES=0x00 ACK URGP=0



JZ

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-02-11 19:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-10  3:29 Session tracking failure - ssh packets dropped as INVALID John Zornig
2008-02-10  7:35 ` Eray Aslan
2008-02-10 20:16   ` Martijn Lievaart
2008-02-11  1:08     ` John Zornig
2008-02-11  2:10       ` Philip Craig
2008-02-11 17:36         ` Jozsef Kadlecsik
2008-02-11 19:32           ` Martijn Lievaart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox