Re: large organization nameservers sending icmp packets to dns servers.

2007-08-10 Thread Valdis . Kletnieks
On Thu, 09 Aug 2007 22:58:40 -, Paul Vixie said:

  How does the (eventual) deployment of DNSSEC change these numbers?
 
 DNSSEC cannot be signalled except in EDNS.

Right. Elsewhere in this thread, somebody discussed ugly patches to keep
the packet size under 512.  I dread to think how many different ways of
protecting DNS are deployed that will break EDNS, and just haven't been
noticed because there's little enough *actual* EDNS breakage that it's down
in the noise of *other* random voodoo breakage at those sites.

  And who's likely to feel *that* pain first?
 
 the DNSSEC design seems to distribute pain very fairly.

I actually meant which 800 pound gorilla is going to try this first and
find all the bustifications, but your answer is good too.. :)



pgpFy1Ds4pwV8.pgp
Description: PGP signature


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-10 Thread Matthew Black


On Thu, 9 Aug 2007 15:53:12 -0700 (PDT)
 Doug Barton [EMAIL PROTECTED] wrote:


How many bytes of shell code can you stuff into a 4096 byte EDNS0 UDP 
packet? :)



Probably a lot. People used to have 4-line signatures
with the PGP encryption or DECSS. I have a 152-byte C
program that calculates 32K digits of PI.

matthew black
network services
california state university, long beach


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-10 Thread Douglas Otis



On Aug 9, 2007, at 2:05 PM, Paul Vixie wrote:

Your comments have helped.

i think you're advising folks to monitor their authority servers to  
find out how many truncated responses are going out and how many  
TCP sessions result from these truncations and how many of these  
TCP sessions are killed by the RFC1035 4.2.2 connection management  
logic, and if the numbers seem high, then they ought to change  
their applications and DNS content so that truncations no longer  
result.


Monitoring is a good recommendation, as many incorrectly estimate  
record limits.  Wildcard resources should also be checked against  
maximal labels.  Fallback may occur with resource records  
encompassing a bit more than a couple hundred bytes.  The assurance  
TCP will fail first is heartening.  How this protection interacts  
with an emerging exploit could be interesting.  I'll try to setup  
some tests and be less pragmatic.


or perhaps you're asking that EDNS be more widely implemented, that  
it not be blocked by firewalls or perverted by hotelroom DNS  
middleboxes, and that firewalls start allowing UDP fragments (which  
don't have port numbers and therefore won't be allowed by UDP/53  
rules).


TCP offers a means to escape UDP related issues.  On the other hand,  
blocking TCP may offer the necessary motivation for having these UDP  
issues fixed.  After all, only UDP should be required.  When TCP is  
designed to readily fail, reliance upon TCP seems questionable.  As  
DNSSEC in introduced, TCP could be relied upon in the growing number  
of instances where UDP is improperly handled.  UDP handling may have  
been easier had EDNS been limited to 1280 bytes.  On the other hand,  
potentially larger messages may offer the necessary motivation for  
adding ACLs on recursive DNS, and deploying BCP 38.


No pain, no gain might be a motto that applies equally to DNS as it  
does for weight lifting.


-Doug


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-10 Thread Paul Vixie

 Your comments have helped.

groovy.

 When TCP is designed to readily fail, reliance upon TCP seems questionable.

i caution against being overly cautious about DNS TCP if you're using RFC 1035
section 4.2.2 as your basis for special caution.  DNS TCP only competes
directly against other DNS TCP.  there are only two situations where a DNS TCP
state blob is present in a DNS target (server) long enough to be in any
danger: when doing work upstream to fulfill the query, and in zone transfers.

when answering DNS TCP queries in an authority server, there is by definition
no upstream work to be done, other than possible backend database lookups
which are beyond the scope of this discussion.  these responses will usually
be generated synchronous to the receipt of the last octet of a query, and the
response will be put into the TCP window (if it's open, which it usually is),
and the DNS target (server) will then wait for the initiator (client) to
close the connection or send another query.  (usually it's a close.)

when answering DNS TCP zone transfer requests in an authority server, there is
a much larger window of doom, during which spontaneous network congestion can
close the outgoing TCP window and cause a DNS target (server) to think that
a TCP session is idle for the purpose of RFC 1035 section 4.2.2 TCP resource
management.  while incremental zone transfer is slightly less prone to this
kind of doom than full zone transfer, since the sessions are shorter, it can
take some time for the authority server to compute incremental zone diffs,
during which the TCP session may appear idle through no fault of the DNS
initiator (client) who is avidly waiting for its response.

lastly, when answering DNS TCP queries in a recursive caching nameserver, it
can take a while (one or more round trips to one or more authority servers)
before there is enough local state to satisfy the query, during which time the
TCP resources held by that query might be reclaimed under RFC 1035 section
4.2.2's rules.

the reason why not to be overly cautious about TCP is that in the case where
you're an authority server answering a normal query, the time window during
which network congestion could close the outbound TCP window long enough for
RFC 1034 section 4.2.2's rules to come into effect, is vanishingly short.  so
while it's incredibly unwise to depend on zone transfer working from a small
number of targets to a large number of initiators, and it is in fact wise to
firewall or ACL your stealth master server so that only your designated
secondary servers can reach it, none of this comes into play for normal
queries to authority servers -- only zone transfers to authority servers.

the unmanageable risk is when a recursive caching nameserver receives a 
query by TCP and forwards/iterates upstream.  if this happens too often, then
the RFC 1035 section 4.2.2 rules will really hurt.  and thus, it's wise, just
as you say, to try to make sure other people don't have to use TCP to fetch
data about your zone.  the counterintuitive thing is that you won't be able
to measure the problems at your authority server since that's not where they
will manifest.  they'll manifest at caching recursive servers downstream.

 As DNSSEC in introduced, TCP could be relied upon in the growing number of
 instances where UDP is improperly handled.

this would be true if TCP fallback was used when EDNS failed.  it's not.
if EDNS fails, then EDNS will not be used, either via UDP or TCP.  so if
improper handling of UDP prevents EDNS from working, then EDNS and anything
that depends on EDNS, including DNSSEC, will not be used.

 UDP handling may have been easier had EDNS been limited to 1280 bytes.

if you mean, had EDNS been limited to nonfragmentation cases, then i think
you might mean 576 bytes or even 296 bytes.  1280 is an IPv6 (new era) limit.

 On the other hand, potentially larger messages may offer the necessary
 motivation for adding ACLs on recursive DNS, and deploying BCP 38.

i surely do hope so.  we need those ACLs and we need that deployment, and if
message size and TCP fallback is a motivator, then let's turn UP the volume.


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-10 Thread Roland Dobbins



On Aug 10, 2007, at 4:41 PM, Paul Vixie wrote:

On the other hand, potentially larger messages may offer the  
necessary

motivation for adding ACLs on recursive DNS, and deploying BCP 38.


i surely do hope so.  we need those ACLs and we need that  
deployment, and if
message size and TCP fallback is a motivator, then let's turn UP  
the volume.


There are so many more larger and immediate reasons for doing these  
things that I seriously doubt message size and TCP fallback on the  
DNS will have any impact at all in terms of motivating the non- 
motivated.


But, one can always hope.

;

---
Roland Dobbins [EMAIL PROTECTED] // 408.527.6376 voice

Culture eats strategy for breakfast.

   -- Ford Motor Company




Re: large organization nameservers sending icmp packets to dns servers.

2007-08-10 Thread Mark Andrews


  On 8/9/2007 at 10:07 PM, Mark Andrews [EMAIL PROTECTED] wrote:
 
  In article [EMAIL PROTECTED] you write:
 
 I suspect that the origin of the myth that DNS/TCP is more
 dangerous than DNS/UDP is that the first root expliot of
 named was over TCP not UDP.  There were later exploits that
 were UDP only which totally busted the myth but it continues
 to live.
 
 Mark
  
  Just to make it clear.  This was BIND 4/8 code and the bugs
  were addressed in the last millennia.
  
  To date there are no known root exploits for BIND 9.
 
 Because who runs BIND as root anymore?

Lots of people.  It's the only way you can handle some
events.

Mark
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: [EMAIL PROTECTED]


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-10 Thread John Kristoff

On Fri, 10 Aug 2007 16:11:04 -0700
Douglas Otis [EMAIL PROTECTED] wrote:

 TCP offers a means to escape UDP related issues.  On the other hand,  
 blocking TCP may offer the necessary motivation for having these UDP  
 issues fixed.  After all, only UDP should be required.  When TCP is  
 designed to readily fail, reliance upon TCP seems questionable.  As  
 DNSSEC in introduced, TCP could be relied upon in the growing number  
 of instances where UDP is improperly handled.

As a datapoint I ran some tests against a reasonably diverse and
sizeable TLD zone I work with in another forum.  I queried the name
servers listed in the parent to see if I could successfuly query
them for their corresponding domain name they are configured for
using TCP.  Out of about 9,300 unique name servers I failed to
receive any answer from about 1700 of them.  That is a bit more
than an 18% failure rate.

John


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-09 Thread Douglas Otis



On Aug 8, 2007, at 5:35 PM, Paul Vixie wrote:




... but a TCP connection will consume a
significant amount of a name server's resources.


...wrong.


Wanting to understand this comment, ...


the resources given a nameserver to TCP connections are tightly  
controlled, as described in RFC 1035 4.2.2.  so while TCP/53 can  
become unreliable during high load, the problems will be felt by  
initiators not targets.


The relevant entry in Section 1035 4.2.2 recommends that the server  
not block other activities waiting for TCP data.  This is not exactly  
a requirement that TCP should fail before UDP.


The concern leading to a suggestion that TCP always fail was a bit  
different.  A growing practice treats DNS as a type of web server  
when used to publish rather bulky script-like resource records.  Due  
to typical sizes, it is rather common to find these records depend  
upon TCP fallback.  This problem occurred with paypal, for example.   
TCP fallback is especially problematic when these records are given  
wildcards.  Such fallback increases the amplification associated with  
an exploit related to the use of the script within the record.


Of course there are better ways to solve this problem, but few are as  
certain.


-Doug




Re: large organization nameservers sending icmp packets to dns servers.

2007-08-09 Thread Paul Vixie

  the resources given a nameserver to TCP connections are tightly
  controlled, as described in RFC 1035 4.2.2.  so while TCP/53 can become
  unreliable during high load, the problems will be felt by initiators not
  targets.
 
 The relevant entry in Section 1035 4.2.2 recommends that the server not
 block other activities waiting for TCP data.  This is not exactly a
 requirement that TCP should fail before UDP.

it is semantically equivilent to such a requirement, in that UDP/53 is an
other activity performed by name servers.  it happens to be implemented
this way in all versions of BIND starting in 4.8 or so (when named-xfer was
made a separate executable), all versions of Windows DNS, and all current
name server implementations i am aware of (including powerdns, nominum ANS,
and NSD).  so while not exactly, it's effectively a requirement, and i
think we ought to design our systems with this constraint as a given.

 The concern leading to a suggestion that TCP always fail was a bit
 different.  A growing practice treats DNS as a type of web server when used
 to publish rather bulky script-like resource records.  Due to typical sizes,
 it is rather common to find these records depend upon TCP fallback.  This
 problem occurred with paypal, for example.  TCP fallback is especially
 problematic when these records are given wildcards.  Such fallback increases
 the amplification associated with an exploit related to the use of the
 script within the record.
 
 Of course there are better ways to solve this problem, but few are as
 certain.

i think you're advising folks to monitor their authority servers to find out
how many truncated responses are going out and how many TCP sessions result
from these truncations and how many of these TCP sessions are killed by the
RFC1035 4.2.2 connection management logic, and if the numbers seem high, then
they ought to change their applications and DNS content so that truncations
no longer result.

or perhaps you're asking that EDNS be more widely implemented, that it not
be blocked by firewalls or perverted by hotelroom DNS middleboxes, and that
firewalls start allowing UDP fragments (which don't have port numbers and
therefore won't be allowed by UDP/53 rules).

i would agree with either recommendation.

but i won't agree that TCP creates stability or load problems for servers.


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-09 Thread Valdis . Kletnieks
On Thu, 09 Aug 2007 21:05:26 -, Paul Vixie said:

 i think you're advising folks to monitor their authority servers to find out
 how many truncated responses are going out and how many TCP sessions result
 from these truncations and how many of these TCP sessions are killed by the
 RFC1035 4.2.2 connection management logic, and if the numbers seem high, then
 they ought to change their applications and DNS content so that truncations
 no longer result.

How does the (eventual) deployment of DNSSEC change these numbers?

And who's likely to feel *that* pain first?


pgpjVn8NTTT7U.pgp
Description: PGP signature


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-09 Thread Paul Vixie

[EMAIL PROTECTED] writes:

  ... advising folks to monitor their authority servers to find out how
  many truncated responses are going out and how many TCP sessions result
  from these truncations and how many of these TCP sessions are killed by
  the RFC1035 4.2.2 connection management logic, and if the numbers seem
  high, then they ought to change their applications and DNS content so
  that truncations no longer result.
 
 How does the (eventual) deployment of DNSSEC change these numbers?

DNSSEC cannot be signalled except in EDNS.

 And who's likely to feel *that* pain first?

the DNSSEC design seems to distribute pain very fairly.
-- 
Paul Vixie


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-09 Thread Doug Barton


On Mon, 6 Aug 2007, Drew Weaver wrote:

   Is it a fairly normal practice for large companies such as Yahoo! 
And Mozilla to send icmp/ping packets to DNS servers? If so, why? And a 
related question would be from a service provider standpoint is there 
any reason to deny ICMP/PING packets to name servers within your 
organization?


If someone else mentioned this I didn't see it, so I think it's worthwhile 
to point out that in the case of Yahoo! at least the pinging isn't done by 
nsX.yahoo.com, but rather it's done by Akamai after you get to the point 
in the chain where the real answer is going to come from one of their 
servers.


Someone else already did point out that in spite of the existence of 
outliers, the shape of the bell-shaped curve remains the same, and if this 
method didn't actually work then it wouldn't be in such widespread use.


hth,

Doug

--

If you're never wrong, you're not trying hard enough


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-09 Thread Mark Andrews

I suspect that the origin of the myth that DNS/TCP is more
dangerous than DNS/UDP is that the first root expliot of
named was over TCP not UDP.  There were later exploits that
were UDP only which totally busted the myth but it continues
to live.

Mark


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-09 Thread Mark Andrews

In article [EMAIL PROTECTED] you write:

   I suspect that the origin of the myth that DNS/TCP is more
   dangerous than DNS/UDP is that the first root expliot of
   named was over TCP not UDP.  There were later exploits that
   were UDP only which totally busted the myth but it continues
   to live.

   Mark

Just to make it clear.  This was BIND 4/8 code and the bugs
were addressed in the last millennia.

To date there are no known root exploits for BIND 9.

Mark


Industry best practices (was Re: large organization nameservers sending icmp packets to dns servers)

2007-08-08 Thread Sean Donelan


On Tue, 7 Aug 2007, Kevin Oberman wrote:

This has been a pain for me for years. I have tried to reason with
security people about this and, while they don't dispute my reasoning,
they always end up saying that it is the standard practice and that,
lacking any evidence of what it might be breaking, it will continue to
be blocked. And I don't mean small companies, either. One of the biggest
issues I have is with one of the countries largest government funded
research labs.


Having worked on both sides of the fence, i.e. I was a card-carrying 
member of both ASIS and NFPA, I used grumbled about the kooky things 
sysadmins and programmers did in the name of security as much as I 
grumbled about the kooky things security folks did in the name of 
security. Heck, if programmers only produced bug-free software and 
sysadmins kept only well configured systems, security people would 
have a lot less work to do.


What are the industry best practices for keeping DNS servers secure?

CERT publishes a document on securing DNS:
http://www.cert.org/archive/pdf/dns.pdf

NIST publishes a document on securing DNS:
http://csrc.nist.gov/fasp/FASPDocs/network-security/NISTSecuringDNS.htm

CMYRU publishes a document on securing DNS:
http://www.cymru.com/Documents/secure-bind-template.html

Microsoft publishes a document on securing DNS:
http://technet2.microsoft.com/WindowsServer/en/Library/0fe406eb-6ca2-4d95-9a18-aede7e931ca21033.mspx

IETF publishes a document on operational (including security) requirements 
for root DNS servers:

http://www.rfc-editor.org/rfc/rfc2870.txt

While there is a lot in common, they each also have variations and 
omissions.  Especially when it comes to some possibly obscure interactions
with many different protocols and applications. The relationships between 
IP, ICMP, TCP, UDP and DNS seems to be tough for many people to get 
right.  When you add undocumented common knowledge and other applications
leveraging DNS for all sorts of stuff besides name/address resolution, its 
the typical programmer generated pile of spaghetti.


Its often simplier to wait for something to break before you fix it. I 
know many sysadmins, programmers and even security people, that use that

philosphy to decide which things to work on today.


The good thing about security folks (and their cousins, the auditors) is 
most are compliance driven.  So if you get a new Industry Best Practice, 
often they will become your friend enforcing whatever that says.



So what should the Industry Best Practice(s) for DNS servers (root, 
authoritative and recursive) be?  And what should it say about the

interaction between IP/ICMP and TCP/UDP?  And maybe we'll even get
G-Root to follow it.



Re: large organization nameservers sending icmp packets to dns servers.

2007-08-08 Thread Paul Vixie

i normally agree with doug

[EMAIL PROTECTED] (Douglas Otis) writes:
 Ensuring an authoritative domain name server responds via UDP is a
 critical security requirement.  TCP will not create the same risk of a
 resolver being poisoned, but a TCP connection will consume a significant
 amount of a name server's resources.

...but this is flat out wrong, dead wrong, no way to candy coat it, wrong.
-- 
Paul Vixie


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-08 Thread Douglas Otis



On Aug 8, 2007, at 12:11 PM, Paul Vixie wrote:


[EMAIL PROTECTED] (Douglas Otis) writes:
Ensuring an authoritative domain name server responds via UDP is a  
critical security requirement.  TCP will not create the same risk  
of a resolver being poisoned, but a TCP connection will consume a  
significant amount of a name server's resources.


...but this is flat out wrong, dead wrong, no way to candy coat it,  
wrong.


Wanting to understand this comment, I'll expand upon the quoted  
statement.


Resolver's factors affecting DNS security are:
 - selection of port and transaction IDs
 - restrictions on outstanding queries for same resource
 - limits on inbound bandwidth

Ignoring uncontrollable factors...

Authoritative server factors affecting security are:
 - time frame for an answer
 - duration of RR TTLs
 - number of servers

A short time frame for an answer along with longer TTLs are  
influenced by authoritative servers and also affect spoofing rates.


When DNS TCP is used, the transport sequence number further precludes  
a spoofed TCP answer from being accepted.  When a truncated response  
is returned, TCP fallback may be attempted.  When a TCP ICMP refusal  
is filtered or never sent, but TCP has been blocked, the timeframe  
alloted for spoofing could entail the entire TCP timeout.  However,  
probability for successful spoofing includes an additional multiplier  
of 1 / 2^32.  This reduction should sufficiently negate an additional  
timeout duration.


TCP requires state and introduces several additional exchanges for a  
given number of answers.  Any effort related to poisoning will likely  
attempt to delay an answer by adding to the server's overhead.   
Precluding truncation, and thereby eliminating TCP, should favorably  
reduce server overhead and increase overall performance.


Of course, a more practical method would be to ensure sufficient DNS  
resources are available by increasing server resources.  That said,  
how many domains allocate a couple of prior generation servers for DNS?


-Doug








Re: large organization nameservers sending icmp packets to dns servers.

2007-08-08 Thread Paul Vixie

  ... but a TCP connection will consume a
  significant amount of a name server's resources.
 
  ...wrong.
 
 Wanting to understand this comment, ...

the resources given a nameserver to TCP connections are tightly controlled,
as described in RFC 1035 4.2.2.  so while TCP/53 can become unreliable during
high load, the problems will be felt by initiators not targets.

(this is why important AXFR targets have to be firewalled down to a very small
population of just one's own nameservers, and is why important zones have to
use unpublished primary master servers, and is why f-root's open AXFR of the
root zone is a diagnostic service not a production service.)


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-08 Thread Patrick W. Gilmore


On Aug 8, 2007, at 6:20 PM, william(at)elan.net [EMAIL PROTECTED]  
wrote:





On Tue, 7 Aug 2007, Donald Stahl wrote:

All things being equal (which they're usually not) you could use  
the ACK

response time of the TCP handshake if they've got TCP DNS resolution
available. Though again most don't for security reasons...

Then most are incredibly stupid.

Several anti DoS utilities force unknown hosts to initiate a query  
via TCP in order to be whitelisted. If the host can't perform a TCP  
query then they get blacklisted.


How is that an anti DoS technique when you actually need to return  
an
answer via UDP in order to force next request via TCP? Or is this  
techinque
based on premise that an attacker will not spoof packets and thus  
will send
flood of DNS requests to server from same IP (set of ips)? If so the  
result

would be that attacker could in fact use TCP just as well as UDP.


The anti-ddos box sends back a UDP reply with the TCP bit sent and no  
data. Which, I believe, violates the RFC. (But it is too hard to look  
up on my iPhone. :)


If so, guess that makes those boxes 'stupid'.

--
TTFN,
patrick



RE: large organization nameservers sending icmp packets to dns servers.

2007-08-07 Thread Donald Stahl



All things being equal (which they're usually not) you could use the ACK
response time of the TCP handshake if they've got TCP DNS resolution
available. Though again most don't for security reasons...

Then most are incredibly stupid.

Several anti DoS utilities force unknown hosts to initiate a query via 
TCP in order to be whitelisted. If the host can't perform a TCP query then 
they get blacklisted.


In addition, any UDP truncated response needs to be retried via TCP- 
blocking it would cause a variety of problems.


-Don


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-07 Thread Jason J. W. Williams
Hi Donald,

I'm not prepared to call it stupid, but you're right it can cause issues.

-J

Sent via BlackBerry

- Original Message -
From: Donald Stahl [EMAIL PROTECTED]
To: Jason J. W. Williams
Cc: [EMAIL PROTECTED] [EMAIL PROTECTED]; John Levine [EMAIL PROTECTED]; 
[EMAIL PROTECTED] [EMAIL PROTECTED]
Sent: Tue Aug 07 12:14:11 2007
Subject: RE: large organization nameservers sending icmp packets to dns servers.

 All things being equal (which they're usually not) you could use the ACK
 response time of the TCP handshake if they've got TCP DNS resolution
 available. Though again most don't for security reasons...
Then most are incredibly stupid.

Several anti DoS utilities force unknown hosts to initiate a query via 
TCP in order to be whitelisted. If the host can't perform a TCP query then 
they get blacklisted.

In addition, any UDP truncated response needs to be retried via TCP- 
blocking it would cause a variety of problems.

-Don

!SIG:46b8b686156533728213125!



Re: large organization nameservers sending icmp packets to dns servers.

2007-08-07 Thread Kevin Oberman
 From: Joe Abley [EMAIL PROTECTED]
 Date: Tue, 7 Aug 2007 15:19:30 -0400
 Sender: [EMAIL PROTECTED]
 
 
 
 On 7-Aug-2007, at 14:38, Patrick W. Gilmore wrote:
 
  On Aug 7, 2007, at 2:14 PM, Donald Stahl wrote:
 
  All things being equal (which they're usually not) you could use  
  the ACK
  response time of the TCP handshake if they've got TCP DNS resolution
  available. Though again most don't for security reasons...
 
  Then most are incredibly stupid.
 
  Those are impressively harsh words.
 
 But they are hard to argue with.
 
  In addition, any UDP truncated response needs to be retried via  
  TCP- blocking it would cause a variety of problems.
 
  Since we are talking about authorities here, one can control the  
  size of ones responses.
 
 Never reply with anything big and hence never set TC seems like a  
 reasonable, expedient way to circumvent the problem of wholesale 53/ 
 tcp-blocking stupidity. It doesn't make the behaviour any less  
 stupid, though.
 
 The security argument looks even more bizarre when you consider  
 what the DO bit in a request will do in general to the size of a  
 response, in the case of an authority server which has signed zone data.

This has been a pain for me for years. I have tried to reason with
security people about this and, while they don't dispute my reasoning,
they always end up saying that it is the standard practice and that,
lacking any evidence of what it might be breaking, it will continue to
be blocked. And I don't mean small companies, either. One of the biggest
issues I have is with one of the countries largest government funded
research labs.

Wonder how often DNSSEC might make non-transfer queries tickle this and
really break things? (Assuming we ever get wide use of DNSSEC.)
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: [EMAIL PROTECTED]   Phone: +1 510 486-8634
Key fingerprint:059B 2DDF 031C 9BA3 14A4  EADA 927D EBB3 987B 3751


pgpU18YPgK72t.pgp
Description: PGP signature


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-07 Thread Patrick W. Gilmore


On Aug 7, 2007, at 4:33 PM, Donald Stahl wrote:

[...]

If you don't like the rules- then change the damned protocol. Stop  
just doing whatever you want and then complaining when other people  
disagree with you.


I think this last part is the key.

Remember the old adage: My network, My rules?  Have we forgotten that?

Should I not block ports for MS protocols when a new worm spreads  
because it would break the E-2-E principal?  What about spam  
filtering?  Or a myriad of other things.  Everyone here is breaking  
some RFC somehow.  And most of us don't give a rats ass.  Which is  
the way it should be.


But when you decide that YOUR violation is MY problem to fix, then  
you are just being silly.  And worse, annoying.


Let's all just agree to run our own networks the way we damned well  
please, as long as we are not hurting anyone else.  We just have to  
define omplaining to you about things I b0rk'ed by myself as  
hurting you.  Which isn't a stretch, support costs money, and  
costing me money because you screwed up is definitely hurtful.


--
TTFN,
patrick

P.S. To be clear, no, your pr0n site not resolving because I don't  
support TCP does not qualify as hurting you unless I call you to  
complain about it, even if it loses you revenue.




Re: large organization nameservers sending icmp packets to dns servers.

2007-08-06 Thread Valdis . Kletnieks
On Mon, 06 Aug 2007 11:53:15 EDT, Drew Weaver said:
 Is it a fairly normal practice for large companies such as Yahoo! And
 Mozilla to send icmp/ping packets to DNS servers? If so, why?

Sounds like one of the global-scale load balancers - when you do a (presumably)
recursive DNS lookup of one of their hosts, they'll ping the nameserver from
several locations and see which one gets an answer the fastest.

Yes, it's a semi-borkken strategy, because it assumes that:

1) ICMP is handled at the same rate as TCP/UDP packets in all the routers
involved (so there's no danger of declaring a path slow when it really isn't,
just becase a router slow-pathed ICMP).

2) That the actual requester of service is reasonably near net-wise to the
server handling the end-user's recursive DNS lookup.


pgpq1zcxucApB.pgp
Description: PGP signature


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-06 Thread Simon Waters

On Monday 06 August 2007 16:53, Drew Weaver wrote:
 Is it a fairly normal practice for large companies such as Yahoo!
 And Mozilla to send icmp/ping packets to DNS servers? If so, why? 

Some of the DNS load balancing schemes do this, I assume to work out how far 
away your server is so they can give geographically relevant answers. If you 
are geographically close to your recursive name server, it might even work.

 And a 
 related question would be from a service provider standpoint is there any
 reason to deny ICMP/PING packets to name servers within your organization?

I tend to favour filtering some types of ICMP packets and not others, the 
packets required for ping hold little fear for me (and are kind of useful), 
but YMMV. 

My ICMP filtering experience is not DNS specific, you might be able to do 
better with DNS server specific rule, but that is too much like 
micromanagement for me, others may know a lot more on this.


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-06 Thread matthew zeier




Drew Weaver wrote:

Is it a fairly normal practice for large companies such as Yahoo! And
Mozilla to send icmp/ping packets to DNS servers? If so, why? And a
related question would be from a service provider standpoint is there
any reason to deny ICMP/PING packets to name servers within your
organization?


Wearing my Mozilla hat here...

I blogged about this (blog.mozilla.com/mrz, somewhere there) and Asa 
blog'd about it over at 
http://weblogs.mozillazine.org/asa/archives/2007/03/trying_to_load.html .


Mozilla uses Citrix Netscalers and we're currently using dynamic 
proximity for load balancing between data centers.


After Asa's post, we found poorly documentation that led to 
misconfiguration of the probe settings.  I've cut down the number of 
probes (default was icmp, udp and tcp:80 to a nameserver) and instead of 
the ~10 complaints a day I was getting, I get many one a month.


If you're still annoyed by the probes, ping me off-list.

- mz



Re: large organization nameservers sending icmp packets to dns servers.

2007-08-06 Thread Steven M. Bellovin

On Mon, 06 Aug 2007 11:57:08 -0400
[EMAIL PROTECTED] wrote:

 On Mon, 06 Aug 2007 11:53:15 EDT, Drew Weaver said:
  Is it a fairly normal practice for large companies such as Yahoo!
  And Mozilla to send icmp/ping packets to DNS servers? If so, why?
 
 Sounds like one of the global-scale load balancers - when you do a
 (presumably) recursive DNS lookup of one of their hosts, they'll ping
 the nameserver from several locations and see which one gets an
 answer the fastest.
 
 Yes, it's a semi-borkken strategy, because it assumes that:
 
 1) ICMP is handled at the same rate as TCP/UDP packets in all the
 routers involved (so there's no danger of declaring a path slow
 when it really isn't, just becase a router slow-pathed ICMP).

This is aimed at hosts, not routers, right?  As far as I know, routers
don't slow-path forwarded ICMP.  Hosts will probably reply to ICMP from
their kernel, so it's a faster response than a user-level DNS reply.
 
 2) That the actual requester of service is reasonably near net-wise
 to the server handling the end-user's recursive DNS lookup.

Right.  But there's no particular reason to block it, unless the rate
is high enough that it's causing you CPU or network load problems.  (If
it's your IDS that's getting overloaded, perhaps tell it not to worry
unless you see other load issues...)


--Steve Bellovin, http://www.cs.columbia.edu/~smb


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-06 Thread Leigh Porter


But why would they care where the nameserver is? Point 2 would seem to
be a little stupid a thing to assume. Also, what happens if, at that
moment, the ICMP packet is stuck in a queue for a few ms making the
shortest route longer.

--
Leigh


[EMAIL PROTECTED] wrote:
 On Mon, 06 Aug 2007 11:53:15 EDT, Drew Weaver said:
   
 Is it a fairly normal practice for large companies such as Yahoo! And
 Mozilla to send icmp/ping packets to DNS servers? If so, why?
 

 Sounds like one of the global-scale load balancers - when you do a 
 (presumably)
 recursive DNS lookup of one of their hosts, they'll ping the nameserver from
 several locations and see which one gets an answer the fastest.

 Yes, it's a semi-borkken strategy, because it assumes that:

 1) ICMP is handled at the same rate as TCP/UDP packets in all the routers
 involved (so there's no danger of declaring a path slow when it really 
 isn't,
 just becase a router slow-pathed ICMP).

 2) That the actual requester of service is reasonably near net-wise to the
 server handling the end-user's recursive DNS lookup.
   


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-06 Thread Owen DeLong



On Aug 6, 2007, at 9:13 AM, Leigh Porter wrote:




But why would they care where the nameserver is? Point 2 would seem to
be a little stupid a thing to assume. Also, what happens if, at that
moment, the ICMP packet is stuck in a queue for a few ms making the
shortest route longer.


While point 2 is a bad assertion if you depend completely upon it, it's
not necessarily a bad starting point if you have no other data to go on.

1.  90+% of resolvers are topologically proximate to either the
requestor, or, the requestors NAT box that you will have to
talk to anyway.

2.  At the GLB level, you really don't have any data other than the
IP address of the resolver upon which to base your GLB decision.
Since you'll be right 90+% of the time, and, only sub-optimal,
not broken the other 10% of the time, it generally works OK.

3.  When I worked for Netli, before they were acquired in what I would
call a much less than ethical transaction, we maintained an
exception table for cases where we learned that the DNS
resolver was not topologically proximate to the requestors
that flowed through it.  We also spent a fair amount of time
explaining the benefits of having the resolver be topologically
proximate to our customers and their customers.

The Netli system was designed to be quite gentle in the amount of
probing it did, but, we did occasionally get messages from people
with paranoid IDS boxes.  Usually, once we explained that our
efforts were directed at improving the quality of service to their
users, and how the system worked and how little traffic we sent
their way to accomplish this, they were happy to reconfigure their
alarm preferences.

I don't have first hand knowledge of anyone elses use of these
kinds of ICMP probes, but, I would say that generally, they are
somewhat useful and mostly harmless.

Owen





Re: large organization nameservers sending icmp packets to dns servers.

2007-08-06 Thread Valdis . Kletnieks
On Mon, 06 Aug 2007 12:13:03 EDT, Steven M. Bellovin said:

  1) ICMP is handled at the same rate as TCP/UDP packets in all the
  routers involved (so there's no danger of declaring a path slow
  when it really isn't, just becase a router slow-pathed ICMP).
 
 This is aimed at hosts, not routers, right?  As far as I know, routers
 don't slow-path forwarded ICMP.  Hosts will probably reply to ICMP from
 their kernel, so it's a faster response than a user-level DNS reply.

Well, they don't *directly* slow-path it.  But we've seen *plenty* of cases
of multi-hop performance as indicated by ICMP Echo Request/Reply doesn't at
all match throughput/latency as indicated by TCP-level stats mentioned on
this list...


pgpA3RXyxDK49.pgp
Description: PGP signature


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-06 Thread John L



Why would they ping rather than just sending the query to all of the
NS and see which one answers first?  It's an IP round trip either way.


If you have sites in San Fran, London, and Tokyo, and you launch a ping from
all 3 and see which one gets there first, you'll *know* the RTT from each site.

If you just send DNS replies from all 3, you don't have a good way of telling
which one got to the destination first.


Um, unless I seriously misunderstand the client DNS cache wants to know 
which server is closest.  So it sends DNS queries to all three NS at the 
same time.  Then it waits for the answers.  Whichever one answers first is 
the closest.  What am I missing?


Regards,
John Levine, [EMAIL PROTECTED], Primary Perpetrator of The Internet for 
Dummies,
Information Superhighwayman wanna-be, http://www.johnlevine.com, ex-Mayor
More Wiener schnitzel, please, said Tom, revealingly.


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-06 Thread Valdis . Kletnieks
On Mon, 06 Aug 2007 16:11:36 EDT, Matthew Crocker said:

 But you could,  it isn't hard to dump a BGP view into a box from a  
 border router and use that map to determine the proper DNS records to  
 return.

It's harder than it looks, given the number of people who pop up on this list
and ask how to get BGP to Do The Right Thing when 2 paths are the same length
but vastly differing in bandwidth, number-of-actual-hops, and/or latency


pgpi11qlEUAjq.pgp
Description: PGP signature


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-06 Thread Sean Donelan


On Mon, 6 Aug 2007, Drew Weaver wrote:
Is it a fairly normal practice for large companies such as Yahoo! And 
Mozilla to send icmp/ping packets to DNS servers? If so, why? And a 
related question would be from a service provider standpoint is there 
any reason to deny ICMP/PING packets to name servers within your 
organization?


They use ICMP/Echo Request to calculate a rough surrogate latency estimate 
for potential users of that caching DNS server so they can return 
different DNS answers depending on your network topology.  Yes its an 
approximation, and can be wrong.  Some networks even re-route ICMP/Echo to 
a completely different box which just responsed to pings; so it may not
even go to the same place.  Given all those caveats, many times its still 
the best guess you can make.


ICMP/ECHO is a separate protocol which is easy to filter if you want to, 
without affecting normal TCP/UDP/etc packets. But then expect to get 
worse default DNS answers from those same sites attempting to optimize 
their DNS answers.


It would be cool if people ran NTP port 123 on their DNS servers, 
and then we could get extreme measurements.  But then I'm sure someone 
would point out 62 flaws with that.  In the end, its up to each 
network operator to make its own decision.  If your DNS servers aren't

being negatively impacted, and it helps your users get better answers,
you might keep it.  If the answers are reversed, you might drop them.

My IDS is badly tuned Well maybe there is a fix for that.


Re: large organization nameservers sending icmp packets to dns servers.

2007-08-06 Thread Patrick W. Gilmore


On Aug 6, 2007, at 4:43 PM, [EMAIL PROTECTED] wrote:

On Mon, 06 Aug 2007 16:11:36 EDT, Matthew Crocker said:


But you could,  it isn't hard to dump a BGP view into a box from a
border router and use that map to determine the proper DNS records to
return.


It's harder than it looks, given the number of people who pop up on  
this list
and ask how to get BGP to Do The Right Thing when 2 paths are the  
same length
but vastly differing in bandwidth, number-of-actual-hops, and/or  
latency


Plus you are assuming BGP knows the right answer.

People here are arguing ICMP Echo is a bad metric.  BGP makes ICMP  
look like the gold standard.


--
TTFN,
patrick