PowerDNS en DNSSEC : aandachtspunten en ondersteuning
Deze maanden werken diverse DNS -operators samen met PowerDNS aan grootschalige implementaties van DNSSEC. De ervaringen en lessen die daarbij worden opgedaan, zijn bijzonder waardevol voor zowel developers als gebruikers van PowerDNS. We geven ontwikkelaar Bert Hubert dan ook graag de gelegenheid hier een aantal tips te plaatsen voor het werken met PowerDNS en DNSSEC. Bovendien biedt PowerDNS, in samenwerking met SIDN, de komende tijd gratis ondersteuning bij de controle van uw configuratie en versies.
Veel Nederlandse en buitenlandse DNS-operators maken bij de uitrol van DNSSEC gebruik van PowerDNS, een populaire DNS-server van Nederlandse origine. De software is open source en wordt door Bert Hubert in samenwerking met de community ontwikkeld. DNSSEC wordt vanaf versie 3.0, uitgebracht in 2006, ondersteund.
Uitrol
We hebben er hard aan gewerkt om DNSSEC in PowerDNS zo simpel mogelijk te houden,
zegt Bert Hubert van PowerDNS, mogelijk een reden waarom in veel gevallen voor onze software gekozen is. Maar DNSSEC is toch een stuk ingewikkelder en jonger dan traditionele DNS.
PowerDNS heeft een actieve community die zich ophoudt op onze mailing lists en ons IRC-kanaal. U vindt de details op http://wiki.powerdns.com/. Wij denken graag met u mee. Bovendien kent PowerDNS gegarandeerde support; zie http://www.netherlabs.nl/ voor meer informatie.
Gezien het grote belang van het succes van de actuele DNSSEC-implementaties biedt PowerDNS, in samenwerking met SIDN, de komende tijd gratis hulp aan bij het nalopen van uw gekozen configuratie en versies. Om gebruik te maken van dit aanbod verzoeken we u contact op te nemen met powerdns.support@netherlabs.nl.
Aandachtspunten
Hier alvast een aantal punten om op te letten bij een (grote) DNSSEC-uitrol op basis van PowerDNS:
- Alleen versie 3.1 en hoger van de PowerDNS Authoritative Server zijn geschikt voor serieus DNSSEC-gebruik. Versies 3.0 en 3.0.1 hebben storende fouten in de correcte afhandeling van delegaties en CNAMEs.
- Parameters: PowerDNS ondersteunt een grote hoeveelheid protocollen en sleutellengtes. Tenzij u echt weet wat u doet, is het aan te raden u te beperken tot de standaard-parameters! In dit verband zijn de DNSSEC-testers van Sandia en Verisign aan te bevelen, respectievelijk http://dnsviz.net/ en http://dnssec-debugger.verisignlabs.com/.
- Veel grote PowerDNS-installaties draaien nog op versie 2.9.22 of zelfs 2.9.21. Een upgrade naar 3.1 vergt grote wijzigingen van het database-schema. Uitgebreide instructies daarvoor zijn te vinden in de release notes. Het niet uitvoeren van deze updates kan leiden tot onverwachte storingen. In dit verband zijn de documenten http://doc.powerdns.com/upgrades.html#from2.9to3.0 en https://tweakers.net/downloads/28344/powerdns-authoritative-server-31.html relevant.
- Denk ook aan het juist invullen van de 'auth' en 'ordername' velden in de database, of het periodiek draaien van 'pdnssec rectify-zone'!
- DNSSEC is efficiënt uitgevoerd in PowerDNS, maar komt toch altijd met een performance overhead. Als uw nameservers al zwaar belast waren voor de migratie, zou het daarna wel eens erg druk kunnen worden. Verifieer dat u voldoende performance headroom heeft!
- DNSSEC-antwoorden zijn veel groter dan normale DNS-antwoorden. Daarnaast maakt DNSSEC gebruik van 'Extended DNS', ook wel EDNS genoemd. Er zijn firewalls die EDNS en/of grote DNS-antwoorden tegenhouden. Ook worden DNS queries over TCP vaak tegengehouden. Bij normaal DNS-gebruik valt dit niet snel op, bij DNSSEC-gebruik wel. En zodra u uw domein bij SIDN aanmeldt als gesigned loopt het dan spaak. Dit probleem is overigens niet specifiek aan PowerDNS gebonden.
- Er zijn installaties die gemengd Authoritative en Recursive draaien. Dat houdt in dat u deels eigen informatie via DNS publiceert, maar bij vragen voor gegevens die niet van u zijn uw nameserver extern op zoek laat gaan naar antwoorden. Niet alleen is dit een verwarrende setup, maar deze kan in het bijzonder met DNSSEC en vooral in combinatie van PowerDNS met DNSSEC leiden tot storingen. Hoewel we deze situatie graag zouden verbeteren, raden we het mengen van authoritative en recursive diensten op één IP-adres sowieso af!
- Slaves: Hoewel veel nameservers zonder morren als slave fungeren voor een DNSSEC zone, betekent dat nog niet dat deze setup correct werkt. Oudere versies van PowerDNS lezen een DNSSEC zone bijvoorbeeld correct in, maar doen vervolgens geen DNSSEC-verwerking. Microsoft nameservers bieden wel gedeeltelijke DNSSEC-ondersteuning, maar mogelijk gebruikt u net dat gedeelte dat zij niet ondersteunen. Aan te raden is om voor de slave een recente versie van een betrouwbare DNS-server te gebruiken, zoals NSD, BIND of natuurlijk PowerDNS 3.1 zelf.
- Klokken: Voorheen was DNS niet erg afhankelijk van de juiste tijd; er waren servers die soms een afwijking van meerdere weken hadden. DNSSEC werkt in dat geval niet meer, omdat de cryptografische handtekeningen aangeven van wanneer tot wanneer ze geldig zijn. Een verkeerde datum leidt dan tot ongeldige handtekeningen en downtime.
- Wees waakzaam voor onverwachte wijzigingen. DNSSEC is veeleisender dan DNS, en daarmee is ook PowerDNS veel afhankelijker geworden van de juiste gegevens. Waar het vroeger bijvoorbeeld mogelijk was om een zone te hebben zonder SOA record, leidt dat nu direct tot problemen. Ook kunnen interacties tussen CNAMEs, wildcards en delegaties anders zijn dan ze vroeger waren.
- Backups van uw sleutels: Voorheen gaf DNS het prettige gevoel dat de slaves kopieën van alle data hadden. Met DNSSEC is dit niet noodzakelijk meer het geval. Een slave kan ook alleen de ondertekende zones draaien, zonder de sleutels te hebben! Als u uw sleutels kwijtraakt, is het een heel gedoe deze opnieuw aan te maken en bij SIDN aan te leveren.
- Key rollovers: PowerDNS genereert automatisch nieuwe DNSSEC-handtekeningen (RRSIGs); daar hoeft u niets voor te doen. Diverse DNSSEC websites en documenten spreken over de noodzaak uw DNSSEC-sleutels regelmatig te verversen. Over de vraag of dit werkelijk noodzakelijk is zijn de meningen nog verdeeld. Voor nu, tijdens de eerste grote uitrol, is het aan te raden de sleutels te laten zoals ze zijn, en pas later eventueel te gaan experimenteren met key rollovers.
Configuratie check
Wij hopen dat u met deze aandachtspunten uw PowerDNS DNSSEC installatie kunt verbeteren. En zoals als gezegd: mocht u de komende tijd behoefte hebben om uw configuratie met ons na te lopen, neem dan gerust contact op via het adres powerdns.support@netherlabs.nl.