Archive

Posts Tagged ‘DNS’

Eerste stapjes in ENUM

May 16th, 2011 Comments off

Tijdens de upgrade van een Fritz!Box naar de laatste versie van de firmware verdween de optie uit de interface om ENUM te gebruiken bij het bellen. Hierbij kwam de vraag of ENUM daadwerkelijk wel gebruikt wordt en begon de zoektocht naar resource records in DNS. En hier komt de uitdaging, want hoe controleer je welke records er allemaal zijn behalve ze allemaal op te vragen?

Maar wat is ENUM nu precies en waarom is het zo belangrijk voor de prijsbewuste Hollander? Waar vroeger alles over een koperdraad ging, gaat tegenwoordig steeds meer over het hippe VoIP, want dat zou kosten besparen. Helaas is dat voornamelijk voor de telefonie-aanbieder en niet voor de klant, want nog steeds worden dezelfde tarieven gerekend als in het tijdperk dat dedicated circuits in het telefonienetwerk werden opgezet voor elk telefoniegesprek. Met VoIP kunnen meer gesprekken over minder lijnen en in kleinere centrales en op meer centrale plaatsen.

Zeker in het tijdperk van Internet waarbij steeds meer mensen met elkaar kunnen communiceren voor een vast tarief wordt het probleem duidelijk. Waarom zou je nog betalen voor het gebruik van telefonienetwerk als je het ook over Internet kan sturen? Dit is waar huiscentrales in beeld komen die telefonieverkeer met behulp van ENUM direct over Internet kunnen sturen naar de ontvanger in plaats van via het dure telefonienetwerk waar je betaalt per minuut, seconde of tik en alles daar tussen. Dit alles door de juiste resource records op te nemen in DNS en bij zowel de verzender als ontvanger de juiste apparatuur te hebben.

Maar hoe verifieer je welke records er allemaal zijn? Het eigenlijke antwoord is door gewoon DNS te bevragen, natuurlijk wel in alle redelijkheid, en kijken welke entries allemaal bestaan. Dit is natuurlijk niet netjes, maar het is helaas voorlopig de enige manier. Een collega gaf aan dat zijn telefoonnummers waren opgenomen voor ENUM en na enig zoeken kwamen we tot een nare verrassing. Want naast het toplevel domein e164.arpa waarin ENUM is geregeld blijken er ook andere aanbieders te zijn zoals e164.org. Helaas zijn er maar weinig partijen die die alternatieve aanbieders bevragen voor telefoniegegevens en of het verstandig is om ze te vertrouwen en gebruiken laat ik even in het midden.

Terug bij af, want alternatieve diensten zijn leuk, maar of ze ooit mainstream zullen worden blijft de vraag. Na enige verder zoek, want records om te valideren dat een resolver werkt met ENUM lijken er niet te zijn, kwam ik op een voorbeeld van een Engelse aanbieder. Een query met dig leverde het volgende op en brengt ENUM al een stapje dichterbij.

$ dig 3.4.5.6.7.8.9.2.9.5.3.e164.arpa. naptr
 
; < <>> DiG 9.7.3 < <>> 3.4.5.6.7.8.9.2.9.5.3.e164.arpa. naptr
;; global options: +cmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 50865
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0
 
;; QUESTION SECTION:
;3.4.5.6.7.8.9.2.9.5.3.e164.arpa. IN	NAPTR
 
;; ANSWER SECTION:
3.4.5.6.7.8.9.2.9.5.3.e164.arpa. 60 IN	NAPTR	10 6 "u" "E2U+sip" "!^.*$!sip:9876543@sip.bol.bg!" .
3.4.5.6.7.8.9.2.9.5.3.e164.arpa. 60 IN	NAPTR	10 7 "u" "E2U+loc:geo" "!^.*$!geo:42.6911,23.3254!" .
3.4.5.6.7.8.9.2.9.5.3.e164.arpa. 60 IN	NAPTR	10 5 "u" "E2U+ft:ftp" "!^.*$!ftp:ftp.bol.bg!" .
3.4.5.6.7.8.9.2.9.5.3.e164.arpa. 60 IN	NAPTR	10 3 "u" "E2U+web:http" "!^.*$!http:www.bol.bg!" .
3.4.5.6.7.8.9.2.9.5.3.e164.arpa. 60 IN	NAPTR	10 4 "u" "E2U+mailto" "!^.*$!mailto:info@bol.bg!" .
 
;; Query time: 1010 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Mon May 16 22:12:32 2011
;; MSG SIZE  rcvd: 327

Nu we een goede verificatie van records in DNS hebben gevonden wordt het dus tijd om oa de netnummers van Nederlandse steden te gaan scannen in DNS. Er zit gelukkig voldoende structuur in de nummering en is grotendeels openbaar door de uitgifte door Opta. Want los van de kosten zit er ook een privacy-aspect aan vast, want direct communiceren met een andere centrale over bv TLS verkleint de kans op meeluisteren cq meekijken van overheid en telefonie-aanbieders.

RFC 5006 ondersteuning

July 9th, 2010 Comments off

Sinds enige tijd doe ik mee aan de IPv6-pilot van XS4ALL om gebruik te kunnen maken van IPv6 zonder dit via een extra tunnel te doen. In een recente update, versie 54.04.81-17599, voor oa de Fritz!Box 7270 van AVM is de ondersteuning voor RFC 5006 goed aangepakt. Helaas staat deze optie standaard uit, maar wel begrijpelijk om potentiële problemen te voorkomen met minder goed werkende netwerk hardware. Gelukkig zijn zowel MacOS X als vele Linux distributies klaar voor RFC 5006.

De vraag alleen is wat heb je aan RFC 5006? Het ligt eigenlijk in de provisioning van de nameservers die kunnen worden gebruikt als resolver. Met de komst van IPv6 is een DHCP-server eigenlijk niet meer nodig en blijft de vraag over hoe je sommige configuratie-items gaat zetten. En hoewel RFC 5006 een smerige hack lijkt is het eigenlijk wel netjes, want er zijn voorzieningen om bepaalde uitgiften te laten ondertekenen in IPv6. Hiermee gebruikt de client alleen gegevens met het juiste signature en is het eigenlijk veiliger dan vele DHCP-oplossingen die nu binnen bedrijven staan, maar een daadwerkelijke bruikbare oplossing laat nog op zich wachten.

Het aan de praat krijgen op bv Debian of Ubuntu is vrij simpel met de volgende opdracht.

$ sudo apt-get install rdnssd resolvconf

Als je nu reboot en kijkt in /etc/resolv.conf krijg je bv het volgende te zien:

$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver fd00::21f:3fff:fe30:4ff0
nameserver 192.168.178.1
search fritz.box

Wat nu nog overblijft is NTP wat met behulp van NTP-broadcasting gedaan zou kunnen worden, maar hier kleven wel nadelen aan. Want hoe kan je de broadcaster vertrouwen dat hij de juiste tijd geeft? Hoor ik hier een oplossing in DNSSEC?

Google Public DNS

February 12th, 2010 Comments off

Diensten in de cloud zijn leuk natuurlijk, maar soms doen ze dingen die je echt niet wilt. Dit kan zowel bewust als onbewust gebeuren. Bij OpenDNS.com zagen mensen al leuke dingen met het automatisch corrigeren van bepaalde fouten. Maar ook de vraag komt gelijk waarom we vanuit Europa onze DNS zouden uit besteden aan een Amerikaans-bedrijf. Er zijn bepaalde juridische problemen waar de mensen achter EDRI in het verleden al een paar keer antwoord op hebben gegeven.

Vandaag was het de beurt aan Google Public DNS, want de beheerders van het Franse topleveldomein merkte op dat het arpa-domein niet kon worden geresolved via Google Public DNS. Nu lijkt dit op zich geen probleem, want de dienst is bedoelt voor oa thuisgebruikers. De vraag komt wel wat er nog meer niet goed werkt en of dit op zet is of niet. Daarbij komt de vraag wat je allemaal wel en niet moet outsourcen naar een cloud. Zeker met protocollen zoals DNS die juist zijn ontwikkelt om te blijven werken in de meest vreemde situaties.

DNS meldingen in logfiles

February 2nd, 2010 Comments off

Nu DNSSEC langzaam zijn intrede doet wordt het ook tijd om strikter naar de fouten te kijken die opdoemen in logfiles. De meldingen die oa voor DNS worden gegenereerd zullen voor DNSSEC ook voor de nodige problemen zorgen. Het is misschien nu de tijd om dingen structureel te gaan oplossen.

In een logfile staat de volgende melding en wat er uit is op te maken is dat de nameserver op IP-adres 70.84.207.245 de verbinding niet aanneemt. Ook is af te lezen dat er een verzoek wordt gedaan voor de nameserver records voor domein cordaidke.org.

Feb 1 22:35:43 ns-cache2 named[9352]: connection refused resolving 'cordaidke.org/NS/IN': 70.84.207.245#53

Dus laten we beginnen om te kijken waar dingen fout gaan. De eerste stap is om te kijken of alle nameservers goed werken, zodat we deze kunnen gaan gebruiken bij het onderzoek. De nameserver records voor een domein komen ook uit de bovenliggende zone in de vorm van glue records. Er is dus altijd achter te komen wat de officiële nameserver records zijn.

$ dig +short cordaidke.org ns
dns1.thebook.com.
dns2.thebook.com.

Nu duidelijk is welke officiële nameservers er zijn bevragen we eerst dns1.thebook.com of deze op de hoogte is van de nameserver records voor domein cordaidke.org. Hiervoor komt net hetzelfde antwoord als ook via de org-zone is verkregen mbv de glue records. Nu we hetzelfde doen met dns2.thebook.com dan krijgen we helaas geen antwoord, maar wel een bevestiging dat de nameserver niet kon worden bereikt.

$ dig +short cordaidke.org ns @dns1.thebook.com.
dns2.thebook.com.
dns1.thebook.com.
$ dig +short cordaidke.org ns @dns2.thebook.com.
;; connection timed out; no servers could be reached

Sommige mensen op deze wereld plaatsen RFC1918 adressen in DNS om zo een soort splitbrain/view te bouwen voor hun DNS-infra. En het mag duidelijk zijn waarom RFC1918 adressen nooit gerouteerd zullen worden op Internet. Een snelle controle laat dan ook zien dat het geldig IP-adres lijkt, maar bij het kijken of de machine ook daadwerkelijk reageert levert een negatief beeld op.

$ dig +short dns2.thebook.com a
70.84.207.245
$ ping -c 4 dns2.thebook.com
PING dns2.thebook.com (70.84.207.245) 56(84) bytes of data.

--- dns2.thebook.com ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3023ms

De reden waarom geen verbinding kan worden gezocht kunnen er vele zijn, maar om uit te sluiten dat het aan je huidige verbinding ligt is het verstandig om vanaf een andere locatie ook een soort gelijke test uit te voeren. Bij dit incident lijken er routering problemen te zijn in het netwerk van The Planet, maar mocht het aanblijven dan kan het verstandig zijn om contact op te nemen met de tech-c van de betreffende zone.

Tags: dig, DNS, DNSSEC, RFC1918

DNSSEC voorbereidingen

January 29th, 2010 Comments off

Z’n kleine acht maanden geleden deed DNSSEC zijn intrede op bepaalde virtuele machines en daar volgde een post van. Nu z’n kleine acht maanden verder heeft DNSSEC met DLV op sommige resolvers zijn intrede gedaan. Helaas heeft de huidige opstelling nog geen ondersteuning voor NSEC3, omdat BIND 9.5.1-P3 wordt gebruikt. Hopelijk gaat dat in de komende maanden veranderen door de overgang naar de BIND 9.6 of 9.7-serie en net op tijd voordat de root-zone wordt getekend.

De volgende stap die recentelijk is ingezet is om zonefiles structureel op fouten te controleren. Door zones beter en strikter te gaan controleren zouden deze zometeen minder problemen moet geven als deze gesigned moeten worden. De checks die BIND uitvoert gaan dus stelselmatig van warn naar fail, om zo RFCs beter na te leven. Een MX-record die naar een CNAME verwijst zou dus niet meer bij de signer uit moeten komen bijvoorbeeld.

Hiermee komt ook het genereren van de sleutels in beeld, maar ook de key rollover en het periodiek ondertekenen van zones. Er staat de komende tijd nog voldoende op de agenda en ook om over te schrijven.

Tags: BIND, DLV, DNS, DNSSEC
Stop SOPA