This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Firewall Drop Msgs with working WAF setup

Hi,

I've setup an WAF with UTM 9 with a virtual server two real servers with some applications in a private network behind it (real server 1 has IP 10.200.3.10 on port 443/HTTPS and server 2 has IP 10.200.3.11 on port 80/HTTP). The UTM has the IP address 10.200.3.1 in this private network.

Everything seems working perfectly, I can access both applications and cannot see and problems, but the Firewall keeps logging drop messages that seem somehow strange to me - e.g.

22:08:49 Default DROP TCP 10.200.3.10 : 443 → 10.200.3.1 : 49249 [ACK PSH] len=153 ttl=128 tos=0x00
22:08:49 Default DROP TCP 10.200.3.10 : 443 → 10.200.3.1 : 49249 [ACK FIN] len=52 ttl=128 tos=0x00
22:08:49 Default DROP TCP 10.200.3.10 : 443 → 10.200.3.1 : 49249 [ACK PSH FIN] len=153 ttl=128 tos=0x00
22:08:49 Default DROP TCP 10.200.3.10 : 443 → 10.200.3.1 : 49249 [ACK PSH FIN] len=153 ttl=128 tos=0x00
22:08:51 Default DROP TCP 10.200.3.10 : 443 → 10.200.3.1 : 49249 [ACK PSH FIN] len=153 ttl=128 tos=0x00
22:08:52 Default DROP TCP 10.200.3.10 : 443 → 10.200.3.1 : 49249 [ACK PSH FIN] len=153 ttl=128 tos=0x00
22:08:53 Default DROP TCP 10.200.3.10 : 443 → 10.200.3.1 : 49249 [ACK PSH FIN] len=153 ttl=128 tos=0x00
22:08:56 Default DROP TCP 10.200.3.10 : 443 → 10.200.3.1 : 49249 [ACK PSH FIN] len=153 ttl=128 tos=0x00
22:09:01 Default DROP TCP 10.200.3.10 : 443 → 10.200.3.1 : 49249 [ACK PSH FIN] len=153 ttl=128 tos=0x00
22:09:02 Default DROP TCP 10.200.3.10 : 443 → 10.200.3.1 : 49249 [ACK RST] len=40 ttl=128 tos=0x00


and then the same repeats with another (random) destination port number on 10.200.3.1, and I get similar messages from source port 80 on 10.200.3.11.

As far as I understand it the packet filter somehow misinterprets a standing TCP connection from "itself" (i.e. the WAF) to the "real" webserver as hostile at some point and drops the connection - but it seems that this does not affect the applications itself, so probably it's in the end phase of the connection.

Nevertheless the messages are annoying and giving a wrong picture in the firewall logs and statistics, so I'd like to get rid of them - anybody knows what's going on here?

thanks and br,
__
/homas Bleier


This thread was automatically locked due to age.
  • Thomas, do you have a single virtual server set for HTTPS?  If it's set for HTTP (80), then I wonder if that could cause such drops.  In any case, I agree that it looks like part of the conversation is getting lost, and the real server at .10 is trying to get the WAF to continue it.  If the HTTP/S issue isn't the problem, then please post the same lines from the Firewall logfile instead of the Live Log.

    Cheers - Bob
  • Hi, I don't use the WAF (yet), but they're probably from TCP sessions that the firewall has already expired from it's connection tracking; this shows up for users running servers behind the firewall (I've posted about it wrt my web servers).

    Adding a DROP (without LOG) rule for port 80 AFTER the relevant ALLOW rules would be one way to get rid of it from the logs.

    Keep it narrow so you don't lose logging for 'real' blocked traffic.


    Barry
  • Hi,

    here's the sample from the firewall log:


    2012:08:16-22:08:49 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:10" dstmac="0:50:56:0:3:1" srcip="10.200.3.10" dstip="10.200.3.1" proto="6" length="153" tos="0x00" prec="0x00" ttl="128" srcport="443" dstport="49249" tcpflags="ACK PSH" 
    2012:08:16-22:08:49 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:10" dstmac="0:50:56:0:3:1" srcip="10.200.3.10" dstip="10.200.3.1" proto="6" length="52" tos="0x00" prec="0x00" ttl="128" srcport="443" dstport="49249" tcpflags="ACK FIN" 
    2012:08:16-22:08:49 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:10" dstmac="0:50:56:0:3:1" srcip="10.200.3.10" dstip="10.200.3.1" proto="6" length="153" tos="0x00" prec="0x00" ttl="128" srcport="443" dstport="49249" tcpflags="ACK PSH FIN" 
    2012:08:16-22:08:49 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:10" dstmac="0:50:56:0:3:1" srcip="10.200.3.10" dstip="10.200.3.1" proto="6" length="153" tos="0x00" prec="0x00" ttl="128" srcport="443" dstport="49249" tcpflags="ACK PSH FIN" 
    2012:08:16-22:08:51 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:10" dstmac="0:50:56:0:3:1" srcip="10.200.3.10" dstip="10.200.3.1" proto="6" length="153" tos="0x00" prec="0x00" ttl="128" srcport="443" dstport="49249" tcpflags="ACK PSH FIN" 
    2012:08:16-22:08:52 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:10" dstmac="0:50:56:0:3:1" srcip="10.200.3.10" dstip="10.200.3.1" proto="6" length="153" tos="0x00" prec="0x00" ttl="128" srcport="443" dstport="49249" tcpflags="ACK PSH FIN" 
    2012:08:16-22:08:53 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:10" dstmac="0:50:56:0:3:1" srcip="10.200.3.10" dstip="10.200.3.1" proto="6" length="153" tos="0x00" prec="0x00" ttl="128" srcport="443" dstport="49249" tcpflags="ACK PSH FIN" 
    2012:08:16-22:08:56 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:10" dstmac="0:50:56:0:3:1" srcip="10.200.3.10" dstip="10.200.3.1" proto="6" length="153" tos="0x00" prec="0x00" ttl="128" srcport="443" dstport="49249" tcpflags="ACK PSH FIN" 
    2012:08:16-22:09:01 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:10" dstmac="0:50:56:0:3:1" srcip="10.200.3.10" dstip="10.200.3.1" proto="6" length="153" tos="0x00" prec="0x00" ttl="128" srcport="443" dstport="49249" tcpflags="ACK PSH FIN" 
    2012:08:16-22:09:02 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:10" dstmac="0:50:56:0:3:1" srcip="10.200.3.10" dstip="10.200.3.1" proto="6" length="40" tos="0x00" prec="0x00" ttl="128" srcport="443" dstport="49249" tcpflags="ACK RST" 
    2012:08:16-22:10:48 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:10" dstmac="0:50:56:0:3:1" 


    and here's another sample for the other webserver at port 80:

    2012:08:16-22:20:52 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:11" dstmac="0:50:56:0:3:1" srcip="10.200.3.11" dstip="10.200.3.1" proto="6" length="40" tos="0x00" prec="0x00" ttl="64" srcport="80" dstport="37568" tcpflags="RST" 
    2012:08:16-22:20:52 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:11" dstmac="0:50:56:0:3:1" srcip="10.200.3.11" dstip="10.200.3.1" proto="6" length="40" tos="0x00" prec="0x00" ttl="64" srcport="80" dstport="37568" tcpflags="RST" 
    2012:08:16-22:20:52 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:11" dstmac="0:50:56:0:3:1" srcip="10.200.3.11" dstip="10.200.3.1" proto="6" length="40" tos="0x00" prec="0x00" ttl="64" srcport="80" dstport="37568" tcpflags="RST" 
    2012:08:16-22:20:53 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:11" dstmac="0:50:56:0:3:1" srcip="10.200.3.11" dstip="10.200.3.1" proto="6" length="40" tos="0x00" prec="0x00" ttl="64" srcport="80" dstport="37568" tcpflags="RST" 
    2012:08:16-22:20:55 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:11" dstmac="0:50:56:0:3:1" srcip="10.200.3.11" dstip="10.200.3.1" proto="6" length="40" tos="0x00" prec="0x00" ttl="64" srcport="80" dstport="37568" tcpflags="RST" 
    2012:08:16-22:20:58 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:11" dstmac="0:50:56:0:3:1" srcip="10.200.3.11" dstip="10.200.3.1" proto="6" length="40" tos="0x00" prec="0x00" ttl="64" srcport="80" dstport="37568" tcpflags="RST" 
    2012:08:16-22:21:05 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:11" dstmac="0:50:56:0:3:1" srcip="10.200.3.11" dstip="10.200.3.1" proto="6" length="40" tos="0x00" prec="0x00" ttl="64" srcport="80" dstport="37568" tcpflags="RST" 
    2012:08:16-22:21:18 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:11" dstmac="0:50:56:0:3:1" srcip="10.200.3.11" dstip="10.200.3.1" proto="6" length="40" tos="0x00" prec="0x00" ttl="64" srcport="80" dstport="37568" tcpflags="RST" 
    2012:08:16-22:21:44 fw ulogd[4630]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="0:50:56:0:3:11" dstmac="0:50:56:0:3:1" srcip="10.200.3.11" dstip="10.200.3.1" proto="6" length="40" tos="0x00" prec="0x00" ttl="64" srcport="80" dstport="37568" tcpflags="RST" 


    It's interesting to note that for the port 443 connection the packets that are dropped have the ACK/PSH/FIN flags set, and for the port 80 connection they have RST set.

    Some more notes about my setup:

    • There is one virtual webserver setup on the WAF for HTTPS on Port 443, with a default site path route to the server at 10.200.3.11 and some paths routed to the server at 10.200.3.10
    • The server at 10.200.3.10 is a Windows Server 2008 R2 with Exchange on Port 443
    • The server at 10.200.3.11 is a Ubuntu 12.04 Server with Apache and some PHP and Rails web applications on Port 80
    • First I was also thinking about a timeout problem with the connection tracking (as the connection on Port 443 is an ActiveSync connection from an iOS device which is known for long standing connections), but I also get the same messages (but as shown above with different flags, so probably it's a different problem) with a connection from a Chrome Webbrowser to a Rails Webapplication immediately some 2-3 seconds after I just opened the first page of this webapplication
    • Just dropping the packets would solve the log problem, but I'm wondering if this is a configuration problem of my setup or a bug in the WAF/packet filter itself?
  • How about a picture of the edit of this virtual server.  It's not clear to me how what you want to do can be done with a single virtual server.

    Cheers - Bob
  • Hi,

    here's the picture...

    br,
    __
    /homas
  • Ahhh!  Site Path Routing in V9 - I was being dense about that.  OK, I think you've uncovered a small bug.

    For the Firewall Drop rule that Barry suggests, you'll want to make a new service group like "Web Response" and add definitons for "HTTP Response" = 80 -> 1:65535 and "HTTPS Response" = 443 -> 1:65535.  Also, be sure to use the "(Address)" object created by WebAdmin instead of a Host definition for 10.200.3.1.

    Cheers - Bob
  • Hi,

    Thanks - that's covering the errorneous log messages, but I was hoping to find a solution to resolve the problem behind it (misinterpretation of TCP sessions by the firewall, if I understand correctly), to avoid possible problems with that. 

    But it seems that's a bug - so is someone with a good channel to the developers listening and filing that as a bug, or where can a submit one (didn't find anything apart from the support contact in a quick web browse on the site)...

    br,
    __
    /homas
  • Hi,
    If the tcp sessions are inactive for a certain amount of time, the firewall will consider them 'expired' and discard them from it's tracking tables.

    If they're not inactive, then this may be bug. If you have a support contract, you can open a ticket through your reseller.

    Barry
  • I'm encountering the same issue now under 9.207-19.  I've got a WAF to the same server via two separate "real server" definitions (one for HTTP and one for HTTPS).  HTTPS is working, but the firewall is logging non-stop dropped packets from 443 back to the firewall.  HTTP wasn't working at all, so I tried dumping WAF and went to a DNAT for port 80, which is also basically not working (the front page loads but every subsequent URL fails).  Investigation of the firewall log shows non-stop dropped response packets from 443 and 80 back to the firewall.  I thought Sophos was meant to be stateful?  Have to say I'm very disappointed with my use of Sophos so far, really hoping it's user error.
  • Further to this, I've tried defining services for HTTP and HTTPS response (ie 80 and 443 -> 1:65535) and created a firewall rule allowing the traffic from the webserver back to any.  Still doesn't work, still dropping packets. 
    ATP and IPS have been disabled in the hope they were the cause, but no improvement.