--state NEW for UDP?

This is a discussion on --state NEW for UDP? within the Linux Networking forums, part of the Linux Forums category; I am trying to log all instances of --state NEW packets on our interface to the Internet, and am occasionally ...


Go Back   Usenet Forums > Linux Forums > Linux Networking

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 05-01-2008
Greg Russell
 
Posts: n/a
Default --state NEW for UDP?

I am trying to log all instances of --state NEW packets on our interface
to the Internet, and am occasionally getting some UDP packets that match
the logging criteria from DNS nameservers:

Resolved_Address Packets Bytes Protocol(s) Dest.Port
148.78.249.202.starband.com 1 190 UDP 45236
ns1.eburg.com 1 256 UDP 45241
ns1-mar.starband.com 1 124 UDP 45271

Is there any reason why a nameserver in /etc/resolv.conf would be sending
me unsolicited UDP packets? The iptables rule that causes the logging is:

-A INPUT -m state -i eth1 --state NEW -j LOG --log-level 7 \
--log-prefix UNSOLICITED:

and the logged entry for the first instance above is:

May 1 08:31:48 centos51 kernel: UNSOLICITED:IN=eth1 OUT=
MAC=00:03:6d:17:df:1a:00:a0:ad:09:1d:88:08:00 SRC=148.78.249.202
DST=148.78.x.y LEN=105 TOS=0x00 PREC=0x00 TTL=60 ID=0 DF PROTO=UDP SPT=53
DPT=45236 LEN=85
Reply With Quote
  #2 (permalink)  
Old 05-02-2008
Burkhard Ott
 
Posts: n/a
Default Re: --state NEW for UDP?

Am Thu, 01 May 2008 22:11:47 +0000 schrieb Greg Russell:

> I am trying to log all instances of --state NEW packets on our interface
> to the Internet, and am occasionally getting some UDP packets that match
> the logging criteria from DNS nameservers:


Have fun with that, so it's pretty easy to get your host load up.


> Is there any reason why a nameserver in /etc/resolv.conf would be sending
> me unsolicited UDP packets? The iptables rule that causes the logging is:


The DNS didn't send you an unsolicited packet, it just answered you DNS
query and that is a new packet (udp ist stateless).

> -A INPUT -m state -i eth1 --state NEW -j LOG --log-level 7 \
> --log-prefix UNSOLICITED:
>
> and the logged entry for the first instance above is:
>
> May 1 08:31:48 centos51 kernel: UNSOLICITED:IN=eth1 OUT=
> MAC=00:03:6d:17:df:1a:00:a0:ad:09:1d:88:08:00 SRC=148.78.249.202
> DST=148.78.x.y LEN=105 TOS=0x00 PREC=0x00 TTL=60 ID=0 DF PROTO=UDP SPT=53
> DPT=45236 LEN=85


Logging every packet could lead to a DOS.

cheers
Reply With Quote
  #3 (permalink)  
Old 05-02-2008
Hal Murray
 
Posts: n/a
Default Re: --state NEW for UDP?


>> Is there any reason why a nameserver in /etc/resolv.conf would be sending
>> me unsolicited UDP packets? The iptables rule that causes the logging is:


>The DNS didn't send you an unsolicited packet, it just answered you DNS
>query and that is a new packet (udp ist stateless).


If UDP was really stateless, NAT boxes wouldn't know where to send
that type of responses.

I don't know much about iptables. I assume it either isn't setup
right for this problem or can't be setup correctly because it's missing
a critical feature.

--
These are my opinions, not necessarily my employer's. I hate spam.

Reply With Quote
  #4 (permalink)  
Old 05-02-2008
Burkhard Ott
 
Posts: n/a
Default Re: --state NEW for UDP?

Am Fri, 02 May 2008 02:00:17 -0500 schrieb Hal Murray:

> If UDP was really stateless, NAT boxes wouldn't know where to send
> that type of responses.


NAT is a totally different thing.
UDP is stateless (http://www.faqs.org/rfcs/rfc768.html)
Reply With Quote
  #5 (permalink)  
Old 05-02-2008
Hal Murray
 
Posts: n/a
Default Re: --state NEW for UDP?


>NAT is a totally different thing.
>UDP is stateless (http://www.faqs.org/rfcs/rfc768.html)


Even through the RFC says it is stateless, there is enough
information so that NAT boxes can do their thing.

If the goal is to make iptables not get confused by
answers to UDP packets, it might be a good idea to
copy whatever tricks NAT is using.

--
These are my opinions, not necessarily my employer's. I hate spam.

Reply With Quote
  #6 (permalink)  
Old 05-02-2008
Burkhard Ott
 
Posts: n/a
Default Re: --state NEW for UDP?

Am Fri, 02 May 2008 02:50:31 -0500 schrieb Hal Murray:

> Even through the RFC says it is stateless, there is enough
> information so that NAT boxes can do their thing.


Sure, e.g.: cat /proc/net/ip_conntrack

> If the goal is to make iptables not get confused by
> answers to UDP packets, it might be a good idea to
> copy whatever tricks NAT is using.


No, I don't agree if you log every new packet it fills just the logfile.
That means more I/O to system (logfile) and if there is no seperate
partition for /var/log, huge logfiles will stop the systems
(e.g. root-partition full)
In my opinion it doesen't make sense to log so paranoid, hut anyway
everybody can do what he want.

cheers
Reply With Quote
  #7 (permalink)  
Old 05-02-2008
Pascal Hambourg
 
Posts: n/a
Default Re: --state NEW for UDP?

Hello,

Burkhard Ott a écrit :
> Am Fri, 02 May 2008 02:00:17 -0500 schrieb Hal Murray:
>
>>If UDP was really stateless, NAT boxes wouldn't know where to send
>>that type of responses.

>
> NAT is a totally different thing.


Not so much. Stateful NAT relies on connection tracking.

> UDP is stateless (http://www.faqs.org/rfcs/rfc768.html)


Even though UDP is stateless by design, the Netfilter connection
tracking maintains some state information about UDP flows, so a
bidirectionnal UDP flow with packets in each direction having
source/destination addresses and ports swapped is considered a connection.

To answer the initial question, there could be some reasons for DNS
replies being tagged NEW :
- the reply arrived after the connection entry expired (default
unreplied UDP timeout is 30 seconds) ;
- the source address of the query was spoofed ;
- you have a dynamic connection (DHCP, PPP...) and use MASQUERADE, which
deletes masqueraded connections whenever the interface goes down or has
its address deleted or changed ;
- the DNS server has some DNAT-based load-balancing which sometimes
fails to put the correct source address back in the reply.
Reply With Quote
  #8 (permalink)  
Old 05-02-2008
Andrew Gideon
 
Posts: n/a
Default Re: --state NEW for UDP?

On Fri, 02 May 2008 07:10:34 +0000, Burkhard Ott wrote:

> UDP is stateless (http://www.faqs.org/rfcs/rfc768.html)


This doesn't mean that a stateful protocol cannot be built over UDP. DNS
has "responses". Therefore, it has state.

In playing around, I've noticed the same thing as the OP; I've been
curious about it too. I've thought perhaps that it's an artifact of the
timeout, but that seems a little unlikely. I'd notice delays like that!

Perhaps the issue is that responses are coming from different IPs than
that to which the requests are sent? I think I've seen this (resulting
in responses blocked by a stateful firewall?). Would these match
iptable's RELATED, perhaps?

- Andrew
Reply With Quote
  #9 (permalink)  
Old 05-02-2008
Burkhard Ott
 
Posts: n/a
Default Re: --state NEW for UDP?

Am Fri, 02 May 2008 12:37:18 +0000 schrieb Andrew Gideon:

> On Fri, 02 May 2008 07:10:34 +0000, Burkhard Ott wrote:
>
>> UDP is stateless (http://www.faqs.org/rfcs/rfc768.html)

>
> This doesn't mean that a stateful protocol cannot be built over UDP. DNS
> has "responses". Therefore, it has state.


No, it doesn't you surely mean a session in the firewall/filter.
You can't mix a stateless protocoll with a stateful.
(but you could encapsulate it)

Many stateful firewalls are able to track the state of flows in
connectionless protocols, like UDP.
Such sessions usually get the ESTABLISHED state immediately after the
first packet is seen by the firewall.
Sessions in connectionless protocols can only end by time-out, because
there is no flag where you could see that ist the last packet.
It ist not part of an protocoll.

By keeping track of the connection state, stateful firewalls provide added
efficiency in terms of packet inspection.
This is because for existing connections the firewall need only check the
state table, instead of checking the packet against the firewall's rule
set, which can be extensive.

cheers
Reply With Quote
  #10 (permalink)  
Old 05-02-2008
AZ Nomad
 
Posts: n/a
Default Re: --state NEW for UDP?

On Fri, 02 May 2008 02:00:17 -0500, Hal Murray <hal-usenet@ip-64-139-1-69.sjc.megapath.net> wrote:

>>> Is there any reason why a nameserver in /etc/resolv.conf would be sending
>>> me unsolicited UDP packets? The iptables rule that causes the logging is:


>>The DNS didn't send you an unsolicited packet, it just answered you DNS
>>query and that is a new packet (udp ist stateless).


>If UDP was really stateless, NAT boxes wouldn't know where to send
>that type of responses.


UDP is stateless. NAT boxes using UDP broadcast their UDP packets to
everybody on the physical network.
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 10:01 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0