LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Networking
User Name
Password
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.

Notices


Reply
  Search this Thread
Old 11-19-2009, 07:52 PM   #1
Ulysses_
Senior Member
 
Registered: Jul 2009
Posts: 1,303

Rep: Reputation: 57
Any tool to compare DNS results from several DNS servers?


Someone suggested what he called "dns pooling" as a countermeasure for those man-in-the-middle attacks that are based on DNS poisoning. His suggestion was to query several DNS servers and compare the results. If there's any difference, alert the user. Of course that would produce false alarms for any legitimate IP changes propagating in DNS networks. But it's better than nothing.

Are there any tools to automatically compare the results from several DNS servers, and alert for any difference?

Last edited by Ulysses_; 11-19-2009 at 07:57 PM.
 
Old 11-20-2009, 06:03 AM   #2
Guyverix
Member
 
Registered: Nov 2008
Location: Washington State
Distribution: Mint
Posts: 36

Rep: Reputation: 2
Hmm, that is an interesting idea. The script at http://www.madboa.com/geek/dig/
has about 80-90% of the code done that would be needed. just reverse what is in the text file vs what is being queried.
 
Old 11-20-2009, 07:48 AM   #3
Jim Bengtson
Member
 
Registered: Feb 2009
Location: Iowa
Distribution: Ubuntu 9.10
Posts: 164

Rep: Reputation: 38
Quote:
Originally Posted by Guyverix View Post
Hmm, that is an interesting idea. The script at http://www.madboa.com/geek/dig/
has about 80-90% of the code done that would be needed. just reverse what is in the text file vs what is being queried.
As an enhancement, if all DNS servers in your pool agree on an entry, use it. If 90% (or whatever threshhold you set) agree, use it. If less than that threshhold agree, put it in a file for a human admin to check. Or perhaps find some way to record whether anyone on the network have requested that domain recently, and flag it for a human to respond to, and ignore those that no one has requested recently.

But if someone then does request one of those questionable domains, what then?
 
Old 11-20-2009, 01:12 PM   #4
Ulysses_
Senior Member
 
Registered: Jul 2009
Posts: 1,303

Original Poster
Rep: Reputation: 57
That's good. Any chance we could force all accesses to the internet from browsers, email clients etc, go through this check? Where would the script go, what system scripts would be edited?
 
Old 11-22-2009, 03:33 AM   #5
Guyverix
Member
 
Registered: Nov 2008
Location: Washington State
Distribution: Mint
Posts: 36

Rep: Reputation: 2
Quote:
Originally Posted by Ulysses_ View Post
That's good. Any chance we could force all accesses to the internet from browsers, email clients etc, go through this check? Where would the script go, what system scripts would be edited?
That kind of script used in the fashion you are asking about would have to go on your local DNS server. To be honest however I do not believe it would be robust enough to work really well. Especially if you are checking all outgoing DNS queries.. The script would have to edit your local DNS server cache as well. I believe that you would have all kinds of headaches doing this (although I dont pretend to be a DNS expert)..
 
Old 11-22-2009, 11:42 AM   #6
Ulysses_
Senior Member
 
Registered: Jul 2009
Posts: 1,303

Original Poster
Rep: Reputation: 57
Isn't it simpler to find the place in the system scripts where the 2 DNS servers that you specify with the gnome network manager are read and used one at a time, with the second one being read only if the first one fails? It would then be a very simple change of the script, to ask both DNS servers anyway, and also ask 5 more servers, and return successfully only if they all agree?
 
Old 11-22-2009, 05:01 PM   #7
Jim Bengtson
Member
 
Registered: Feb 2009
Location: Iowa
Distribution: Ubuntu 9.10
Posts: 164

Rep: Reputation: 38
Quote:
Originally Posted by Ulysses_ View Post
Isn't it simpler to find the place in the system scripts where the 2 DNS servers that you specify with the gnome network manager are read and used one at a time, with the second one being read only if the first one fails? It would then be a very simple change of the script, to ask both DNS servers anyway, and also ask 5 more servers, and return successfully only if they all agree?
How would you know if the first one failed? The idea here is to combat DNS poisoning, where a DNS server is intentionally given the wrong IP address for a site. How do you know the DNS server has been poisoned? By comparing it's answers against several other DNS servers to see if they all give the same answer.
 
Old 11-22-2009, 05:08 PM   #8
Ulysses_
Senior Member
 
Registered: Jul 2009
Posts: 1,303

Original Poster
Rep: Reputation: 57
Quote:
Originally Posted by Jim Bengtson View Post
How would you know if the first one failed?
I said you check them both and compare them. The bit about the first server failing etc was the description of what is currently going on in the linux scripts we want to edit (it fails if there's no dns server running at the address given).

Last edited by Ulysses_; 11-22-2009 at 05:09 PM.
 
Old 11-22-2009, 05:14 PM   #9
Jim Bengtson
Member
 
Registered: Feb 2009
Location: Iowa
Distribution: Ubuntu 9.10
Posts: 164

Rep: Reputation: 38
Quote:
Originally Posted by Ulysses_ View Post
I said you check them both and compare them. The bit about the first server failing etc was the description of what is currently going on in the linux scripts we want to edit (it fails if there's no dns server running at the address given).
But what if there is a DNS server running there, and it does give an IP address in response to a name query, but that IP address is wrong (i.e., it has been poisoned)?

Only by performing the same DNS query against multiple DNS servers would you have a reasonable chance of detecting the poisoning.
 
Old 11-22-2009, 05:21 PM   #10
Ulysses_
Senior Member
 
Registered: Jul 2009
Posts: 1,303

Original Poster
Rep: Reputation: 57
Quote:
Originally Posted by Jim Bengtson View Post
But what if there is a DNS server running there, and it does give an IP address in response to a name query, but that IP address is wrong (i.e., it has been poisoned)?
Then you start an LQ thread about this thing you saw online somewhere that is called DNS pooling (see OP).
 
Old 11-22-2009, 06:43 PM   #11
Jim Bengtson
Member
 
Registered: Feb 2009
Location: Iowa
Distribution: Ubuntu 9.10
Posts: 164

Rep: Reputation: 38
Quote:
Originally Posted by Ulysses_ View Post
Then you start an LQ thread about this thing you saw online somewhere that is called DNS pooling (see OP).
I agree...but this suggestion

Quote:
Isn't it simpler to find the place in the system scripts where the 2 DNS servers that you specify with the gnome network manager are read and used one at a time, with the second one being read only if the first one fails?
won't work because the first DNS query is successful...it returns a result. You just won't know if it's a poisonous result or not. That's the danger of DNS poisoning attacks...you trust the DNS server yet have no way to validate that trust.
 
Old 11-24-2009, 10:52 AM   #12
Ulysses_
Senior Member
 
Registered: Jul 2009
Posts: 1,303

Original Poster
Rep: Reputation: 57
You still do not understand the suggestion. The suggestion is to edit a computer program, part of the linux system and probably a script, that currently does the wrong thing, and the wrong thing that it does was described here:
Quote:
the 2 DNS servers that you specify with the gnome network manager are read and used one at a time, with the second one being read only if the first one fails?
The desired thing that we want was described here:
Quote:
ask both DNS servers anyway, and also ask 5 more servers, and return successfully only if they all agree?

Last edited by Ulysses_; 11-24-2009 at 11:30 AM.
 
Old 11-24-2009, 10:54 AM   #13
Ulysses_
Senior Member
 
Registered: Jul 2009
Posts: 1,303

Original Poster
Rep: Reputation: 57
Now does anyone know where linux implements the access to the list of DNS servers that you have specified with the gnome network manager, before querying the servers one at a time?

It should be an extremely simple change if linux does it with a script.

Last edited by Ulysses_; 11-24-2009 at 10:58 AM.
 
Old 11-04-2010, 03:36 PM   #14
davidzake
LQ Newbie
 
Registered: Nov 2010
Posts: 2

Rep: Reputation: 0
Wink

Hi,
You can compare DNS records at-

http://sharontools.com

Happy to help,
Dave
 
  


Reply



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

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
DNS Questions Multiple DNS Servers with single domain linuxcrazyguy Linux - Networking 1 01-27-2009 12:21 PM
How to set DNS servers? How to stop auto change of DNS servers? newtovanilla Linux - Newbie 1 10-29-2008 09:19 PM
DNS problems, reverse dns working localy but not on other servers. valls Linux - Newbie 1 06-16-2008 06:59 AM
TEMP_FAILURE: DNS Error: Timeout while contacting DNS servers when receiving emails tonysutherland Linux - Networking 2 02-10-2006 09:04 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Networking

All times are GMT -5. The time now is 04:46 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration