Wat is BIND en hoe werkt deze DNS-server?
Auteur: Redactie Domeny.ForSale Gepubliceerd
In het kort: BIND (Berkeley Internet Name Domain) is opensourcesoftware voor een DNS-server, die vooral op Linux en Unix wordt gebruikt. Het kan informatie over domeinen publiceren of namens gebruikers antwoorden op DNS-vragen opzoeken. Het is nuttig als je zelf controle wilt over je DNS-dienst, maar voor een gewone website volstaat meestal DNS dat door een aanbieder wordt beheerd.
Waarvoor dient BIND?
DNS (Domain Name System) is het domeinnaamsysteem: het maakt het onder meer mogelijk om te bepalen welk IP-adres hoort bij een naam die in de browser wordt ingevoerd. Het slaat ook andere informatie op, zoals welke mailservers bij een domein horen en gegevens voor de verificatie van diensten. BIND is een van de programma’s die dit systeem ondersteunen, niet de naam van DNS zelf.
BIND wordt ontwikkeld door Internet Systems Consortium (ISC). De huidige softwarelijn is BIND 9 en het belangrijkste serverproces heet named. Het pakket bevat ook beheertools, onder meer om de configuratie te controleren en antwoorden van DNS te onderzoeken.
BIND slaat geen websitebestanden op en vervangt geen webserver. Het registreert ook geen domeinen. Zijn taak is het beantwoorden van DNS-vragen, zodat een browser of andere applicatie kan bepalen waar die verbinding moet maken met de juiste dienst.
Twee rollen: autoritatieve server en resolver
Een autoritatieve server verstrekt gezaghebbende gegevens over de domeinen waarvoor hij verantwoordelijk is. De beheerder legt deze vast in een DNS-zone: een afgebakend deel van de naamruimte. Zo’n zone kan A- en AAAA-records bevatten die naar IP-adressen verwijzen, MX-records die de e-mailaflevering regelen en TXT-records die tekstinformatie opslaan.
Een recursieve resolver zoekt namens een client antwoorden op. Als de benodigde informatie niet in de cache staat, bevraagt hij de betreffende DNS-servers totdat hij een resultaat heeft. Vervolgens kan hij het antwoord bewaren gedurende de TTL: de parameter die bepaalt hoelang het antwoord in de cache mag blijven staan.
BIND kan beide rollen vervullen, maar daarvoor gelden verschillende toegangseisen. Een openbare autoritatieve server moet vragen beantwoorden over de zones die hij bedient. Een bedrijfsresolver mag daarentegen alleen recursieve vragen aannemen van bevoegde clients, bijvoorbeeld apparaten in het lokale netwerk of een VPN.
Bij openbaar toegankelijke installaties is het doorgaans verstandig om deze rollen te scheiden. Dat maakt het eenvoudiger om verschillende beveiligingsregels toe te passen en beperkt de gevolgen van configuratiefouten.
Hoe werkt domeinbeheer in de praktijk?
Stel dat een bedrijf zijn website naar een nieuwe server verhuist, maar de e-mail bij de bestaande aanbieder laat. Als BIND de zone van het bedrijf bedient, wijzigt de beheerder het A-record en, als IPv6 wordt gebruikt, ook het AAAA-record. De MX-records blijven ongewijzigd, omdat er niets verandert aan de manier waarop e-mail wordt afgeleverd.
De wijziging is niet noodzakelijk meteen voor alle gebruikers zichtbaar. Resolvers kunnen het vorige antwoord blijven gebruiken totdat de TTL ervan verloopt. Voor een geplande migratie kun je de TTL van de te wijzigen records tijdig verlagen. Houd er daarbij rekening mee dat de eerdere, langere waarde nog steeds geldt voor antwoorden die al in de cache staan.
BIND kan ook als primaire of secundaire server voor een zone werken. De primaire server is de bron van de zonegegevens; de secundaire haalt via een zoneoverdracht een kopie op. Dit is geen onderscheid tussen een ‘actieve’ server en een ‘reserveserver’: beide kunnen gewoon vragen beantwoorden.
Alleen BIND starten zorgt er niet voor dat je eigen infrastructuur de afhandeling van het domein overneemt. Daarvoor is ook een juiste delegatie nodig: de nameservers moeten in de bovenliggende zone worden opgegeven, meestal via het beheerpaneel van de domeinregistrar.
Wat moet je beveiligen en controleren?
BIND beheren vraagt meer dan alleen records bewerken. Vooral de volgende punten zijn belangrijk:
- Recursie beperken. Een openbaar toegankelijke, open resolver kan worden misbruikt om DDoS-aanvallen te versterken.
- Zoneoverdrachten controleren. Alleen bevoegde secundaire servers mogen kopieën van zones ophalen.
- Software bijwerken. Controleer de versie en informatie over ondersteuning en patches in de mededelingen van ISC en de documentatie van de gebruikte distributie.
- Beschikbaarheid van de infrastructuur. Nameservers moeten in onafhankelijke omgevingen draaien, zodat één storing niet de volledige DNS-dienst uitschakelt.
BIND ondersteunt DNSSEC, een mechanisme om DNS-gegevens te ondertekenen en hun authenticiteit te verifiëren. DNSSEC versleutelt geen vragen en verbergt niet welke namen worden opgevraagd. De invoering ervan vereist correct sleutelbeheer en een koppeling tussen de ondertekende zone en de bovenliggende zone.
Voordat je wijzigingen doorvoert, kun je de syntaxis van de configuratie controleren met named-checkconf en het zonebestand met named-checkzone. Na het doorvoeren van de wijzigingen kun je met dig de antwoorden van afzonderlijke servers controleren. Een correcte syntaxis garandeert echter niet dat de delegatie klopt of dat de dienst vanaf het internet bereikbaar is.
Wanneer kies je BIND en wanneer een beheerde dienst?
BIND is zinvol als een organisatie eigen DNS-infrastructuur, lokale zones, fijnmazige toegangscontrole of integratie met het bestaande systeembeheer nodig heeft. Het is ook nuttig om DNS te leren kennen: je kunt zelf een zone configureren en de antwoorden van de server bekijken.
Voor de eigenaar van een bedrijfswebsite of webwinkel is een beheerde dienst vaak eenvoudiger. De aanbieder onderhoudt de DNS-servers en hun software, terwijl de gebruiker de records in een beheerpaneel bewerkt. Dat betekent niet dat je je eigen domein moet opgeven of je website en DNS bij hetzelfde bedrijf moet onderbrengen.
Bepaal daarom vóór de installatie één ding: wil je alleen domeinrecords wijzigen, of moet je daadwerkelijk een DNS-server beheren? Gaat het uitsluitend om de records, bekijk dan eerst de mogelijkheden van je huidige DNS-beheerpaneel. Een eigen BIND-installatie brengt extra verantwoordelijkheid voor beschikbaarheid, updates en beveiliging met zich mee.
Zie ook: Wat is Apache?
