11.07.2015 Aufrufe

c't magazin für computer technik 24/2013 - since

c't magazin für computer technik 24/2013 - since

c't magazin für computer technik 24/2013 - since

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Praxis I DynDNS selbstgebautden SOA-Record, den Nameserver-Eintragund ein A-Record mitder öffentlichen IP-Adresse IhresServers - letztere müssen Sieentsprechend ändern.Damit Bind die drei Zonen berücksichtigt,müssen Sie für jedeeinen entsprechenden Abschnittin der Konfigurationsdatei /etc/bind/named.conf.local hinzufügen.Der nachfolgende Abschnittgilt für checkip.dyndns.com, für die beiden anderenZonen müssen Sie lediglich dieDatei- und Zonennamen anpassen:zone "checkip.dyndns.com" {type master;file "/etc/bind/checkip.dyndns.com";allow-transfer { "none"; };notify no;};Entscheidend sind die Einstellungenfür den Zonentransfermittels allow-transfer und die Benachrichtigunganderer Nameservermittels notify. Beides müssenSie unbedingt unterbinden,da Bind tatsächlich gar nicht fürdie Verwaltung dieser Zonen zuständigist, sondern lediglichlokal Anfragen nach den dreiHostnamen auf Ihre eigene IP­Adresse umlenken soll.Anders ist es für Ihre eigeneDomain, als Beispiel verwendenwir example.com. Diese Second­Levei-Domain verwalten Siekünftig selbst, das heißt, Bind isttatsächlich dafür der primäreNameserver und soll die Zonemit Ihrer Domain auch anderenNameservern zur Verfügung stellen.Deshalb sieht der Konfigurationsabschnittfür Ihre eigeneZone etwas anders aus:zone "example.com" {type master;file "/etc/bind/example.com";allow-update { localhost; };allow-transfer {127.0.0.1;12.34.56.78;};notify yes;};condary Nameserver und etwaigeweitere Reserve-Nameserverzu verteilen. Wichtig ist, dass Siedie IP-Adressen des Secondaryund aller weiteren Nameserverebenfalls im Abschnitt allow-transfereintragen, damit diese berechtigtsind, Ihre Zonendateiabzurufen. Mittels notify yes sorgenSie außerdem dafür, dass IhrNameserver den nachgeschaltetenNameservern Bescheid sagt,sobald sich etwas in der Zonegeändert hat.Eigene ZoneUm die Bind-Konfiguration abzuschließen,müssen Sie nun nochIhre Zonendatei anlegen. Ein Beispielmit den dazu minimal nötigenEinträgen für die Domainexample.com finden Sie aufSeite 198. Natürlich müssen Sieauf Ihrem Server example.comdurch den Namen Ihrer Domainersetzen, die Sie für den dynamischenDNS-Dienst nutzen wollen;die IP-Adresse 12.34.56.78aus den Beispielen ersetzen Sieaußerdem durch die öffentlicheIP-Adresse Ihres Servers.Wichtig ist, dass Sie auf dieabschließenden Punkte hinterexample.com in der Zonendateiachten. Ohne den Punkt würdeBind die Angabe als Hostnamenbehandeln und automatisch umdie Domain ergänzen - ein häufigerFehler. ln der ersten Zeilevon Listing "example.com " findenSie den Namen der Domain.Die Zeilen 3 bis 9 enthalten densogenannten SOA-Record (Startof Authority) und definieren dieEckdaten Ihrer Domain.Die wichtigsten Angaben sinddie Seriennummer in Zeile 4 unddie TTL in Zeile 8. Die Seriennummermuss bei jeder Änderungder Zonendatei erhöht werden(siehe Kasten oben). Die TTLsollte zwischen einer und dreiMinuten liegen, um Updates vonIP-Adressen schnell im Netz weiterzuverteilen.Manche Registriesmachen hier Vorgaben, soverlangt das DeNIC etwa eineTTL von mindestens 180 Sekunden,dann müssen Sie sowohlden TTL-Wert im SOA-Record anpassenals auch in der Variablen$TTL in der Zonendatei. Die TTLdes SOA-Record spielt nochbeim DNS-Caching eine entscheidendeRolle (siehe KastenaufS. 197).Der Befehl service bind9 reloadsorgt dafür, dass Bind die Konfigurationneu lädt und damit IhrDie Crux mit der SeriennummerJede Zonendatei eines Nameserversträgt im SOA-Recordeine Seriennummer, anhandder nachgeschaltete Nameservererkennen, ob die Zone aktualisiertwurde. Nur dann,wenn die Seriennummer desprimären Nameservers höherist als die des sekundären, ruftder sekundäre Nameserver dieZonendatei erneut ab undübernimmt die Änderungen.Primary Nameserver einsatzbereitist. Zur Überprüfung derKonfiguration können Sie dig verwenden,wie es bereits bei derPowerDNS-Installation beschriebensteht. Überprüfen Sie zudemdas Syslog Ihres Servers auf Fehlermeldungenvon Bind.Nun bereiten Sie alles für dieIP-Aktualisierung durch die DSL­Router vor. Das Dyn.com-APIstellen zwei Peri-CGI-Skriptebereit, die Sie über den <strong>c't</strong>-Linkam Ende des Artikels herunterladen können und im Verzeichnis/usr/share/checkip respektive/usr/share/members ablegen.Dort finden Sie auch die Apache­Site-Konfigurationsdatei, die Siein das Verzeichnis /etc/apache2/sites-available kopieren müssen,sodass Apache künftig virtuellals checkip.dyndns.com, checkip.dyndns.orgund members.dyndns.orgarbeitet und die CGI­Skripte startet. Benutzernamenund Passwörter für Ihre Nutzertragen Sie mit dem Programmhtpasswd in der Datei /usr/share/members/.htpasswd ein.Damit die beiden CGI-Skripteauch die Zonendatei mittelsnsupdate ändern und darüberdie neuen IP-Adressen eintragenkönnen, sollten Sie die Zonendateiexample.com von /etc/bindnach /var/lib/bind verschieben,sie für die Gruppe www-data beschreibbarmachen und den Pfadzur Zonendatei in /etc/bind/named.conf.local anpassen.Die im Beispiel verwendetenCGI-Skripte haben zwei Schwachstellen:Sie rufen das Programmnsupdate über die Kommandozeileauf, um die IP-Adressen derHosts anzupassen, was bei Angriffenproblematisch sein könnte,und sie bieten keinen Schutzvor Hostnamen-Kiau - jeder autorisierteBenutzer kann jede beliebigeDomain mit seiner eige-Bei gleichbleibender oderniedrigerer Seriennummerwerden keinerlei Änderungenberücksichtigt. Dies ist einhäufig gemachter Fehler beider Nameserver-Konfiguration- man ändert nur eine Kleinigkeitin der Zonendatei undvergisst, die Seriennummer zuerhöhen, weshalb die Änderungennicht weitergeleitetwerden.nen IP-Adresse überschreiben.Für den kommerziellen Einsatzeignen sich die Skripte alsonicht.Angriff per RekursionDa Sie Ihren eigenen Nameserverin den DSL-ZugangsdatenIhres Routers eingetragen haben,müssen sämtliche Namensanfragenaufgelöst werden -nicht nur die für Ihre Domain.Somit muss Bind fremde Domainsbei anderen Nameservernerfragen, also rekursiv arbeiten.Das öffnet jedoch Angreiferndie Möglichkeit, IhrenNameserver für Denial-of-Servie-Angriffeauf andere Nameserverzu missbrauchen. Siemüssen also dafür sorgen, dassnur Ihre Nutzer die Rekursionverwenden können und Bindansonsten nur Anfragen für Ihreeigene Domain auflöst.Die Lösung sind eine ReiheFirewaii-Regeln. Der Clou: DieFirewall untersucht die auf Port53 des Nameservers eingereichtenAnfragen daraufhin, ob siefür die Domain example.comoder eine der drei maskiertenDyn.com-Hosts bestimmt sind.Dabei nutzen Sie aus, dass lediglichIhre Benutzer Ihren Nameserverdazu verwenden, dieDyn.com-Hosts aufzulösen - underlauben diesen IPs rekursive Abfragenfür die nächsten <strong>24</strong> Stunden,also längstens bis zurnächsten Zwangstrennung. EinSkript, das diese Firewall einrichtet,finden Sie über den <strong>c't</strong>-Linkam Ende des Artikels. Dort müssenSie lediglich den NamenIhrer Domain austauschen. Damitsind Sie Herr im eigenenHaus und müssen sich nicht längergängeln lassen. (mid)www.ct.de/13<strong>24</strong>196 c'l:Durch die Beschränkung der Updates(allow-update) auf den Nameserverselbst ersparen Sie sichdie Mühe, mit Schlüsseln zu hantieren.Den Transfer erlauben Siezunächst nur für localhost undfür die öffentliche IP-AdresseIhres Servers - damit testen Sieim nächsten Schritt die Nameserverkonfiguration.Der Transfer dient dazu, IhreZonenkonfiguration an den Se<strong>c't</strong><strong>2013</strong>, Heft <strong>24</strong>199

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!