<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>spoofedpacket &#187; DNS</title>
	<atom:link href="http://www.spoofedpacket.net/index.php/category/dns/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.spoofedpacket.net</link>
	<description>Rob Gallagher</description>
	<lastBuildDate>Thu, 27 May 2010 16:35:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Switching to NSD</title>
		<link>http://www.spoofedpacket.net/index.php/2010/03/07/switching-to-nsd/</link>
		<comments>http://www.spoofedpacket.net/index.php/2010/03/07/switching-to-nsd/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 18:22:45 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[DNS]]></category>

		<guid isPermaLink="false">http://www.spoofedpacket.net/?p=195</guid>
		<description><![CDATA[Whilst BIND is a nameserver I use nearly every day, it&#8217;s somewhat large and unwieldy being a reference implementation of the DNS spec. Where possible, I always like to split out resolving and authoritative functionality into two seperate pieces of software. Unbound does a great job in the latter role &#8211; also from the authors [...]]]></description>
			<content:encoded><![CDATA[<p>Whilst BIND is a nameserver I use nearly every day, it&#8217;s somewhat large and unwieldy being a reference implementation of the DNS spec.</p>
<p>Where possible, I always like to split out resolving and authoritative functionality into two seperate pieces of software. Unbound does a great job in the latter role &#8211; also from the authors of NSD, <a href="http://www.nlnetlabs.nl/">NLnetlabs</a> &#8211; so I thought I&#8217;d give NSD a go on ns.spoofedpacket.net.</p>
<p>This machine serves only handful of zones, so it&#8217;s easy enough to migrate. The transition is made even simpler since NSD supports the old bind zonefile format out of the box. I decided to install NSD from source, following the tried and tested method:</p>
<pre>
 cd /usr/local/src
 wget http://www.nlnetlabs.nl/downloads/nsd/nsd-3.2.4.tar.gz
 tar zxvf nsd-3.2.4.tar.gz
 cd nsd-3.2.4
 ./configure
 make
 make install
</pre>
<p>The dependencies are very few, it should compile without much fuss on nearly any modern *nix system.</p>
<p>By default, all configuration files and zones go into /etc/nsd. There is also an nsd.conf.sample that you can use as a base config. The config file is extremely simple, for a basic setup you only need to look at the <strong>server:</strong> and the n-number of <strong>zone:</strong> sections. In the <strong>server:</strong> section, I only changed the location of the zone files:</p>
<pre>
 zonesdir: "/etc/nsd/zones"
</pre>
<p>At this point, it&#8217;s always good practice to organise your zonefiles into directories according to their roles. Here is what I have:</p>
<pre>
 /etc/nsd/zones/master
 /etc/nsd/zones/slave (nothing here yet)
 /etc/nsd/zones/master/forward
 /etc/nsd/zones/master/reverse
 /etc/nsd/zones/master/reverse/IPv4
 /etc/nsd/zones/master/reverse/IPv6
</pre>
<p>If you have an old BIND install that you are replacing, it is just a simple matter of copying/moving the existing zonefiles to their new locations. The zones can then be configured in nsd.conf as follows:</p>
<pre>
# spoofedpacket.net
zone:
        name: "spoofedpacket.net"
        zonefile: "master/forward/spoofedpacket.net.zone"

        notify: 193.1.193.194 NOKEY
        provide-xfr: 193.1.193.194 NOKEY
</pre>
<p><strong>name</strong> and <strong>zonefile</strong> are pretty self explanatory, just remember that the path to your zonefile is always prefixed with the zonesdir statement from earlier on. <strong>notify</strong>  lists all the nameservers you wish to send DNS notifies to when a zone is updated. <strong>provide-xfr</strong> controls who can carry out zone transfers (AFXR) from your nameserver. The NOKEY statement tells NSD that no cryptographic keys are required to authenticate the notifies or zone transfers between your nameserver and the secondary nameservers.</p>
<p>Once you&#8217;ve finished editing nsd.conf, you must now compile your zonefiles into the binary format that NSD understands. This is one of the main reasons for NSDs speed and low footprint:</p>
<pre>
 nsdc rebuild
 nsdc reload
</pre>
<p>Verify that nsd is running and serving zones:</p>
<pre>
 pgrep -lf nsd

 dig @ns.spoofedpacket.net www.spoofedpacket.net
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.spoofedpacket.net/index.php/2010/03/07/switching-to-nsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>spoofedpacket.net signed</title>
		<link>http://www.spoofedpacket.net/index.php/2009/12/01/spoofedpacket-net-signed/</link>
		<comments>http://www.spoofedpacket.net/index.php/2009/12/01/spoofedpacket-net-signed/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 18:49:35 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.spoofedpacket.net/?p=183</guid>
		<description><![CDATA[I recently signed spoofedpacket.net, here&#8217;s the DS sets: spoofedpacket.net. IN DS 15871 5 1 6D6B3C370091ECF38D81B2D91B54C7B2EB6D47E6 spoofedpacket.net. IN DS 15871 5 2 41D36F7DEC5827F650E772DE1DA33A219B3B994757DDF763830EBC12 E2DCEC80 And the keysets: spoofedpacket.net 604800 IN DNSKEY 257 3 5 ( AwEAAa1qyDcvEEsXZYvzI5TwlJks8pK95OSE RjMtg0aN/cBfpNeyyYwX1O5zQy1G13qklxYR CbPHbbeZkxMxfVxc3pUSDOqYtu6IBhhPTv9Z Gwnjn6CRBdKVrkdMI5ZPJ3uwvMj9yk6a9jjg tUZZfIRkbURa/Q75AaqB8ihQN7pU5N9Tui0i V3eoKZrVfc5mUDATnggSw/Pk7blHKn8OWwEJ b7Q5Uulg4fmHYSxX2sTzt5kgZxWAVbaZ5IWn XwMJkUN7kM9Lz04exn4JmpeMpfAo3+tyDC1F LLJVPAk4KmhDKPhiY1y9yeZxLiloYh8KvG4b W18D465/RQRkoLufF+/6htk= ) ; key id = 15871]]></description>
			<content:encoded><![CDATA[<p>I recently signed spoofedpacket.net, here&#8217;s the DS sets:</p>
<pre>
  spoofedpacket.net.      IN DS 15871 5 1 6D6B3C370091ECF38D81B2D91B54C7B2EB6D47E6
  spoofedpacket.net.      IN DS 15871 5 2 41D36F7DEC5827F650E772DE1DA33A219B3B994757DDF763830EBC12 E2DCEC80
</pre>
<p>And the keysets:</p>
<pre>
  spoofedpacket.net       604800  IN DNSKEY 257 3 5 (
                                        AwEAAa1qyDcvEEsXZYvzI5TwlJks8pK95OSE
                                        RjMtg0aN/cBfpNeyyYwX1O5zQy1G13qklxYR
                                        CbPHbbeZkxMxfVxc3pUSDOqYtu6IBhhPTv9Z
                                        Gwnjn6CRBdKVrkdMI5ZPJ3uwvMj9yk6a9jjg
                                        tUZZfIRkbURa/Q75AaqB8ihQN7pU5N9Tui0i
                                        V3eoKZrVfc5mUDATnggSw/Pk7blHKn8OWwEJ
                                        b7Q5Uulg4fmHYSxX2sTzt5kgZxWAVbaZ5IWn
                                        XwMJkUN7kM9Lz04exn4JmpeMpfAo3+tyDC1F
                                        LLJVPAk4KmhDKPhiY1y9yeZxLiloYh8KvG4b
                                        W18D465/RQRkoLufF+/6htk=
                                        ) ; key id = 15871
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.spoofedpacket.net/index.php/2009/12/01/spoofedpacket-net-signed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Domain renewal scams</title>
		<link>http://www.spoofedpacket.net/index.php/2009/10/28/domain-renewal-scams/</link>
		<comments>http://www.spoofedpacket.net/index.php/2009/10/28/domain-renewal-scams/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 21:10:10 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[Scams]]></category>

		<guid isPermaLink="false">http://www.spoofedpacket.net/?p=179</guid>
		<description><![CDATA[Some of my domains are coming up for renewal, right on cue the scam letters start arriving in the post. The scammers trawl whois information and send out demands for &#8220;renewal&#8221; to unsuspecting domain users. Send enough of them and somebody, somewhere will pay up. They&#8217;re getting pretty sophisticated compared to the ones from previous [...]]]></description>
			<content:encoded><![CDATA[<p>Some of my domains are coming up for renewal, right on cue the scam letters start arriving in the post. The scammers trawl whois information and send out demands for &#8220;renewal&#8221; to unsuspecting domain users. Send enough of them and somebody, somewhere will pay up.</p>
<p><a href="http://gallery.spoofedpacket.net/misc-images/domain-renewal.jpg"><img src="http://gallery.spoofedpacket.net/misc-images/domain-renewal-thumb.jpg" alt="Domain renewal scam" /></a></p>
<p>They&#8217;re getting pretty sophisticated compared to the ones from previous years, an accounts department could be easily tricked into paying them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spoofedpacket.net/index.php/2009/10/28/domain-renewal-scams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SpamAssassin DNS lookups over IPv6</title>
		<link>http://www.spoofedpacket.net/index.php/2009/09/15/spamassassin-dns-lookups-over-ipv6/</link>
		<comments>http://www.spoofedpacket.net/index.php/2009/09/15/spamassassin-dns-lookups-over-ipv6/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 13:58:01 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://www.spoofedpacket.net/?p=146</guid>
		<description><![CDATA[With the recent surge in AIB phishing mails, I thought it might be worth looking at our SpamAssassin setup to see if there was anything that could be done to filter them out. AIB helpfully publish SPF records for the aib.ie domain, so the first port of call was SAs SPF lookups. Which I noticed [...]]]></description>
			<content:encoded><![CDATA[<p>With the <a href="http://www.aib.ie/servlet/Satellite?c=SC_Content&#038;cid=1196265062880&#038;pagename=SecurityCentre%2Fsc_main&#038;section=S001">recent surge in AIB phishing mails</a>, I thought it might be worth looking at our SpamAssassin setup to see if there was anything that could be done to filter them out.</p>
<p>AIB helpfully publish SPF records for the aib.ie domain, so the first port of call was SAs SPF lookups. Which I noticed weren&#8217;t happening, despite being enabled some time ago. Reloading SA resulting in the following log message in spamd.log:<br />
<code><br />
Tue Aug 11 11:26:52 2009 [2221] warn: Error creating a DNS resolver<br />
socket: at /usr/share/perl5/Mail/SpamAssassin/DnsResolver.pm line 233.<br />
</code><br />
Aw snap, SA can&#8217;t do any DNS lookups, at all. Which means all of the DNS-based tests will be silently skipped. Going back through the spamd.log, I noticed these messages first started occurring when we enabled IPv6 DNS resolvers a number of months ago. Hmm, perl is obviously missing something fundamental.</p>
<p>So, it turns out a perl library required to create IPv6 sockets wasn&#8217;t installed, <a href="http://search.cpan.org/dist/IO-Socket-INET6/lib/IO/Socket/INET6.pm">IO::Socket::INET6</a>. This is conveniently packaged in Ubuntu:</p>
<p><code> aptitude install libio-socket-inet6-perl</code></p>
<p>A quick reload of spamassassin and we can say goodbye to all those &#8220;URGENT NOTIFICATION&#8221;s about our AIB online banking accounts. Although, the spammers have now copped on and aren&#8217;t even bothering to send from aib.ie addresses anymore..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spoofedpacket.net/index.php/2009/09/15/spamassassin-dns-lookups-over-ipv6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updates to bind and the open resolver project</title>
		<link>http://www.spoofedpacket.net/index.php/2009/07/29/updates-to-bind-and-the-open-resolver-project/</link>
		<comments>http://www.spoofedpacket.net/index.php/2009/07/29/updates-to-bind-and-the-open-resolver-project/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 09:28:10 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.spoofedpacket.net/?p=143</guid>
		<description><![CDATA[If you haven&#8217;t done so already, now would be a good time to update bind9. A remote exploit is doing the rounds. In related news, Team Cymru is running a scan for open DNS resolvers. It&#8217;s surprising the amount of DNS servers out there that are un-intentionally left wide open and, even worse, don&#8217;t implement [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t done so already, now would be a good time to update bind9. A <a href="https://www.isc.org/node/474">remote exploit</a> is doing the rounds.</p>
<p>In related news, Team Cymru is running <a href="http://www.team-cymru.org/Services/Resolvers/">a scan for open DNS resolvers</a>. It&#8217;s surprising the amount of DNS servers out there that are un-intentionally left wide open and, even worse, don&#8217;t implement <a href="http://monkey-house-org.blogspot.com/2006/08/top-10-dns-infrastructure-best.html">split-horizon DNS</a>. Looks like they&#8217;ve been busy probing ns.spoofedpacket.net:</p>
<p><code><br />
22-Jun-2009 23:33:54.393 security: client 38.229.0.10#55251: query (cache) 'recursion-test.cymru.com/A/IN' denied<br />
23-Jul-2009 23:34:08.350 security: client 38.229.0.10#45412: query (cache) 'recursion-test.cymru.com/A/IN' denied<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.spoofedpacket.net/index.php/2009/07/29/updates-to-bind-and-the-open-resolver-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First steps towards DNSSEC</title>
		<link>http://www.spoofedpacket.net/index.php/2009/04/03/first-steps-towards-dnssec/</link>
		<comments>http://www.spoofedpacket.net/index.php/2009/04/03/first-steps-towards-dnssec/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 12:53:47 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.spoofedpacket.net/?p=79</guid>
		<description><![CDATA[I recently began deploying DNSSEC within HEAnet. Things are at an early stage, but I&#8217;m hoping to have some signed zones up and running in the next few months. For testing, I wanted to find a practical application of DNSSEC, rather than simply stating &#8220;now our zones are secure against attack A, B and C&#8221;. [...]]]></description>
			<content:encoded><![CDATA[<p>I recently began deploying <a href="http://www.dnssec.net/">DNSSEC</a> within HEAnet. Things are at an early stage, but I&#8217;m hoping to have some signed zones up and running in the next few months.</p>
<p>For testing, I wanted to find a practical application of DNSSEC, rather than simply stating &#8220;now our zones are secure against attack A, B and C&#8221;.</p>
<p><a href="http://tools.ietf.org/html/rfc4255">RFC4255</a> provides exactly this, with automatic verification and trusting of SSH host keys through a combination of the SSHFP record type and DNSSEC validation. This removes the need to maintain a known_hosts file on each client, key fingerprints can simply be distributed through DNS. </p>
<p>I started by generating our zone signing key (ZSK) and key signing key (KSK) for the secure zone, <strong>login.heanet.ie</strong>. These are 1024bit RSASHA1 keypairs. </p>
<pre>
 mkdir /etc/bind/keys
 cd !$
 dnssec-keygen -r /dev/random -a RSASHA1 \
  -b 1024 -n ZONE login.heanet.ie
 dnssec-keygen -r /dev/random -f KSK \
  -a RSASHA1 -b 1024 -n ZONE login.heanet.ie
</pre>
<p>Then, I imported the trust anchor (KSK public part) for the zone into the DNS resolver. We are using <a href="http://www.unbound.net">Unbound</a> but BIND etc. configuration is somewhat similar. </p>
<pre>
cp Klogin.heanet.ie.+005+61342.key /etc/unbound/anchors/login.heanet.ie.anchor
...
vi /etc/unbound/unbound.conf
...
#
# login.heanet.ie test signed zone - robertg@heanet.ie 20090309
#
trust-anchor-file: "/etc/unbound/anchors/login.heanet.ie.anchor"
...
</pre>
<p>To prepare the zone for signing, I published the ZSK and KSK public keys at the apex of the zone, ie: after NS records but before any other records are defined.</p>
<pre>
@                       IN      NS      ns.heanet.ie.

; DNSSEC public keys
$INCLUDE                /etc/bind/keys/Klogin.heanet.ie.+005+01530.key  ;ZSK
$INCLUDE                /etc/bind/keys/Klogin.heanet.ie.+005+61342.key  ;KSK

; hosts
charlene                IN      A       193.1.219.75
charlene                IN      AAAA    2001:770:18:2::193.1.219.75
charlene                IN      SSHFP   1 1 d343493a92fdd26281dddc26e90440e5504c3b1a
charlene                IN      SSHFP   2 1 4fad90afa04a6b62371091662f88685822b07ebb
</pre>
<p>Now, to actually sign the zone! I signed the RRsets in the zone with <strong>dnssec-signzone</strong> and the ZSK and KSK keypairs we generated earlier. This produces a signed version of the zonefile, of the form zonefile.signed. The KSK (61342) is used to sign the keys we entered at the apex of the zone earlier, and the ZSK (01530) is used to sign all the other records in the zone. </p>
<pre>
dnssec-signzone -r /dev/random -o login.heanet.ie \
-k /etc/bind/keys/Klogin.heanet.ie.+005+61342.key \
login.heanet.ie /etc/bind/keys/Klogin.heanet.ie.+005+01530.key
</pre>
<p>Then, I loaded the .signed file into the authoritative nameserver.</p>
<pre>
zone "login.heanet.ie" {
        type master;
        file "pz/forward/login.heanet.ie.signed";
};
</pre>
<p>After doing this, it&#8217;s a good idea to check for any errors in name server log.</p>
<p>As a first test, I made a DNSSEC query to the resolvers. It should follow the chain of trust and securely resolve the query. The &#8220;ad&#8221; &#8211; authenticated data &#8211; flag in the flags: section of the dig output confirms that the zone data is signed and has been verified as authentic. The <strong>+dnssec</strong> option sets the DO (DNSSEC OK) bit on the query and the <strong>+multiline</strong> option is simply used for readability purposes.</p>
<pre>
dig @resolver0.heanet.ie charlene.login.heanet.ie +dnssec +multiline

; <<>> DiG 9.5.0-P2 <<>> @resolver0.heanet.ie charlene.login.heanet.ie +dnssec +multiline
; (2 servers found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42200
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;charlene.login.heanet.ie. IN A

;; ANSWER SECTION:
charlene.login.heanet.ie. 3600 IN A 193.1.219.75
charlene.login.heanet.ie. 3600 IN RRSIG	A 5 4 3600 20090429144034 (
				20090330144034 1530 login.heanet.ie.
				dw8qCGcHEBA8kSfv3CTr7sTM7FEJvoGyY8tz9bEgIsNK
				adSgG3eUfHIQ5nMFVYvg7/MEXLfhUyXmByNjPuuMhfi0
				mvX4GV0z+MqIRfVBb6bH8kPBlAjdXisny4e8rhrheRwu
				P8FyONy88cyy5OqTattjzz8bBtMevZo4wN/KfQs= )

;; AUTHORITY SECTION:
login.heanet.ie.	3600 IN	NS ns.heanet.ie.
login.heanet.ie.	3600 IN	RRSIG NS 5 3 3600 20090429144034 (
				20090330144034 1530 login.heanet.ie.
				C7C54YAIMVqp9UJfrrM56dRd2U8OB+zkxHV2G2YN0QsR
				7XFZHVcBEjw/9l8r1E6yiRIyAx2P3XGWT/tAvYvssAG8
				p143UAn29Gqnibf5mGzhRQFGN/huCdmFSIL7yK2jinhA
				rw/ZgOrVkBnWiGYNRe4BWtIhkHbcVYZ6roWXlo8= )

;; Query time: 2 msec
;; SERVER: 2001:770:f8::c101:ba02#53(2001:770:f8::c101:ba02)
;; WHEN: Wed Apr  1 17:07:12 2009
;; MSG SIZE  rcvd: 436
</pre>
<p>Now to test the signed SSHFP records. On the client, I added the following to resolv.conf.</p>
<pre>
options edns0
</pre>
<p>Also, I edited ~/.ssh/config and added this line in the Host section </p>
<pre>
VerifyHostKeyDNS yes
</pre>
<p>When ssh'ing to a the machine with signed SSHFP records, the user should not be prompted to accept the host key, even if it is "unknown".</p>
<pre>
ssh -v heanet@charlene.login.heanet.ie
OpenSSH_5.1, OpenSSL 0.9.7j 04 May 2006
...
debug1: found 2 secure fingerprints in DNS
debug1: matching host key fingerprint found in DNS
debug1: ssh_rsa_verify: signature correct
...
</pre>
<p>Presto! No known_hosts file. Profit! etc.. No need to maintain host keys across multiple clients, simply distribute your SSH fingerprints through DNS.</p>
<pre>
$ ls -al /home/rob/.ssh/
total 16
drwx------  2 rob  users  512 Mar 31 14:35 .
drwxr-xr-x  3 rob  users  512 Mar 31 14:15 ..
-rw-------  1 rob  users  613 Mar 31 17:23 authorized_keys
-rw-r--r--  1 rob  users  120 Mar 31 14:35 config
</pre>
<p>Of course there are a number of issues. I haven't gone through the required key rollover and resigning processes, however these are reasonably straightforward and can be automated with freely available tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spoofedpacket.net/index.php/2009/04/03/first-steps-towards-dnssec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TLD monitoring</title>
		<link>http://www.spoofedpacket.net/index.php/2008/11/26/tld-monitoring/</link>
		<comments>http://www.spoofedpacket.net/index.php/2008/11/26/tld-monitoring/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 14:33:45 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[DNS]]></category>

		<guid isPermaLink="false">http://www.spoofedpacket.net/?p=45</guid>
		<description><![CDATA[Now this is a good idea, TLD monitoring with nagios. It highlights some interesting information, such as the large amount of open resolvers.]]></description>
			<content:encoded><![CDATA[<p>Now this is a good idea, <a href="https://tldmon.dns-oarc.net/nagios/">TLD monitoring with nagios</a>.</p>
<p>It highlights some interesting information, such as the large amount of <a href="https://tldmon.dns-oarc.net/nagios/cgi-bin/status.cgi?servicegroup=zone-auth-group-openres&#038;style=overview">open resolvers</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spoofedpacket.net/index.php/2008/11/26/tld-monitoring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Law, protecting you from those scary zone transfers</title>
		<link>http://www.spoofedpacket.net/index.php/2008/01/17/the-law-protecting-you-from-those-scary-zone-transfers/</link>
		<comments>http://www.spoofedpacket.net/index.php/2008/01/17/the-law-protecting-you-from-those-scary-zone-transfers/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 10:07:50 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[DNS]]></category>

		<guid isPermaLink="false">http://www.spoofedpacket.net/index.php/2008/01/17/the-law-protecting-you-from-those-scary-zone-transfers/</guid>
		<description><![CDATA[So in North Dakota, you can apparently be prosecuted for conducting a DNS zone transfer: â€œRitzâ€™s behavior in conducting a zone transfer was unauthorized within the meaning of the North Dakota Computer Crime Law.â€ Interpreting that, it seems to say that you should not do a zone transfer without the expressed permission of the transferee [...]]]></description>
			<content:encoded><![CDATA[<p>So in North Dakota, you can apparently be <a href="http://www.circleid.com/posts/811611_david_ritz_court_spam/">prosecuted</a> for conducting a DNS zone transfer:</p>
<blockquote><p>â€œRitzâ€™s behavior in conducting a zone transfer was unauthorized within the meaning of the North Dakota Computer Crime Law.â€ </p></blockquote>
<p>Interpreting that, it seems to say that you should not do a zone transfer without the expressed permission of the transferee (??) &#8211; whoever that may be. Many nameservers don&#8217;t restrict who can carry out a zone transfer, for legitimate reasons, but there&#8217;s no mechanism for explicitly getting the permission of someone in authority before doing so. Any such system would be unworkable.</p>
<p>But wait, there&#8217;s more, publishing the results of freely available whois data is <strong>also</strong> illegal: </p>
<blockquote><p>â€œRitz has engaged in a variety of activities without authorization on the Internet. Those activities include port scanning, hijacking computers, and the compilation and publication of Whois lookups without authorization from Network Solutions.â€</p></blockquote>
<p>The braindead statements above came from a court course filed by a spammer against the anti-spam activist David Ritz. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.spoofedpacket.net/index.php/2008/01/17/the-law-protecting-you-from-those-scary-zone-transfers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Everyone needs a little Iodine..</title>
		<link>http://www.spoofedpacket.net/index.php/2007/10/31/everyone-needs-a-little-iodine/</link>
		<comments>http://www.spoofedpacket.net/index.php/2007/10/31/everyone-needs-a-little-iodine/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 10:46:35 +0000</pubDate>
		<dc:creator>rob</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.spoofedpacket.net/index.php/2007/10/31/everyone-needs-a-little-iodine/</guid>
		<description><![CDATA[Iodine is a nifty little program to tunnel IPv4 packets over DNS (53 is the atomic number of Iodine..*arf*). It can be handy in those situations where DNS queries are allowed out from a network, but not much else. The setup: One local FreeBSD box (the client), one Ubuntu Feisty box (the server) and control [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.kryo.se/iodine">Iodine</a> is a nifty little program to tunnel IPv4 packets over DNS (53 is the atomic number of Iodine..*arf*). It can be handy in those situations where DNS queries are allowed out from a network, but not much else. </p>
<p><strong>The setup</strong>: One local FreeBSD box (the client), one Ubuntu Feisty box (the server) and control over your own domain.</p>
<p>We start off by installing iodine on our FreeBSD machine, there is a port available for it:</p>
<pre>[root@akagi ~]# portinstall iodine</pre>
<p>Unfortunately iodine isn&#8217;t available in the Ubuntu package repositories, but we can just nick the Debian package and use that instead. The server is an amd64 machine, so you&#8217;d need to fetch the right package for your architecture. Install using</p>
<pre>
wget http://ftp.ie.debian.org/debian/pool/main/i/iodine/iodine_0.4.0-3_amd64.deb
dpkg -i iodine_0.4.0-3_amd64.deb
</pre>
<p>apt spat out some post-install errors due to version string mismatches &#8211; these are safe to ignore. </p>
<p>The next step is to delegate control of a domain to our server. This will cause all queries for the domain <strong>iotunneldom.spoofedpacket.net</strong> to go to our server <strong>iotunnel.spoofedpacket.net</strong>, where our iodine daemon lies in wait.</p>
<pre>
iotunnel        300     IN      A     88.198.67.243
...
iotunneldom     300     IN      NS    iotunnel.spoofedpacket.net.
</pre>
<p>Now, we start the server. The iodine daemon accepts udp/53 requests and creates a tunnel interface (dns0) for the IPv4-in-DNS packets. Make sure you have the <code>tun</code> device available, <code>lsmod</code> should confirm this. </p>
<pre>
root@longcat:~# iodined -P iminurdns 192.168.0.1 iotunneldom.spoofedpacket.net
Opened dns0
Setting IP of dns0 to 192.168.0.1
Setting MTU of dns0 to 1024
Opened UDP socket
Listening to dns for domain iotunneldom.spoofedpacket.net
Detaching from terminal...
</pre>
<p>-P specifies the password to use. The first argument is the tunnel endpoint address, choose an addressing scheme that doesn&#8217;t overlap with anything you already have &#8211; private space is a good choice. The second argument is the domain we setup earlier.</p>
<p>You should end up with an interface like this:</p>
<pre>
root@longcat:~# ifconfig dns0
dns0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:192.168.0.1  P-t-P:192.168.0.1  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1024  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:168 (168.0 b)  TX bytes:168 (168.0 b)
</pre>
<p>Start up the client and point it at our tunnel server. Again, you&#8217;ll need some kind of tunnel device available &#8211; the generic FreeBSD kernel has one by default:</p>
<pre>
[root@akagi ~]# iodine iotunnel.spoofedpacket.net iotunneldom.spoofedpacket.net
Enter password on stdin:
iminurdns
Opened /dev/tun0
Opened UDP socket
Retrying version check...
Version ok, both running 0x00000400. You are user #1
Setting IP of tun0 to 192.168.0.3
Adding route 192.168.0.3/24 to 192.168.0.3
add net 192.168.0.3: gateway 192.168.0.3
Setting MTU of tun0 to 1024
Sending queries for iotunneldom.spoofedpacket.net to iotunnel.spoofedpacket.net
Detaching from terminal...
</pre>
<p>The client will then have the following interface (tun0) available:</p>
<pre>
[root@akagi ~]# ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1024
        inet 192.168.0.3 --> 192.168.0.3 netmask 0xffffff00
        Opened by PID 61357
</pre>
<p>Now lets pass some traffic through it, test out the tunnel by pinging the remote end:</p>
<pre>
[root@akagi ~]# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=57.382 ms
</pre>
<p>So, iodine is relatively straightforward to setup. Once you&#8217;ve got your tunnel, there are many uses you can put it to &#8211; Run a web proxy on the server, do some port forwarding or simply route all your traffic down it. There is also the potential to obfuscate your traffic, as all anyone would see is udp/53 queries.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spoofedpacket.net/index.php/2007/10/31/everyone-needs-a-little-iodine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
