23.7. BIND9 und FreeBSD

Geschrieben von Tom Rhodes.

Mit FreeBSD 5.3 wurde der DNS-Server BIND9 in das Basissystem aufgenommen. Vorteile der neuen Version sind die verbesserte Sicherheit, ein neues Dateisystem sowie eine automatisierte Konfiguration von chroot(8). Der erste Teil dieses Abschnitts beschreibt diese Neuerungen inklusive ihrer Konfiguration, der zweite Teil konzentriert sich auf den Umstieg auf FreeBSD 5.3. Der BIND-Server wird im Folgenden als named(8) bezeichnet. Die Grundlagen von DNS wurden bereits im letzten Abschnitt beschrieben. Lesen Sie sich diesen Abschnitt noch einmal durch, bevor Sie fortfahren.

Die Konfigurationsdateien für named befinden sich unter /var/named/etc/namedb/ und müssen von Ihnen angepasst werden, bevor sie verwendet werden können. Ein Großteil der Änderungen betrifft Dateien in diesem Verzeichnis.

23.7.1. Eine Master-Zone einrichten

Um eine Master-Zone einzurichten, wechseln Sie ins Verzeichnis /var/named/etc/namedb/ und geben den folgenden Befehl ein:

# sh make-localhost

Wenn alles klappt, wird die lokale reverse-DNS-Zonendatei localhost.rev (localhost-v6.rev bei Verwendung von IPv6) im Verzeichnis master angelegt. Da es sich dabei um die Standardkonfigurationsdatei handelt, wird diese automatisch in named.conf eingebunden.

23.7.2. Eine Slave-Zone einrichten

Weitere Domains oder Subdomains werden konfiguriert, indem man sie als Slave-Zonen einrichtet. In den meisten Fällen kann die Datei master/localhost.rev einfach in das Verzeichnis slave kopiert und angepasst werden. Danach werden die Dateien in named.conf eingebunden. Das folgende Beispiel beschreibt die Konfiguration der Domain example.com:

zone "example.com" {
        type slave;
        file "slave/example.com";
        masters {
                10.0.0.1;
        };
};

zone "0.168.192.in-addr.arpa" {
        type slave;
        file "slave/0.168.192.in-addr.arpa";
        masters {
                10.0.0.1;
        };
};   

Beachten Sie, dass die Master-IP-Adresse nur den primären Domainserver festlegt, von dem die Zonen transferiert werden. Das heißt aber nicht, dass dieser Server auch als DNS-Server arbeitet.

23.7.3. BIND automatisch starten

Um den named-Daemon beim Systemstart automatisch zu starten, fügen Sie folgende Zeile in rc.conf ein:

named_enable="YES"

Obwohl es noch weitere Optionen gibt, sollten Sie named bereits jetzt starten können. Zusätzliche Konfigurationsoptionen werden in rc.conf(5) beschrieben. Wenn Sie named nicht über die Datei rc.conf starten wollen, können Sie auch den folgenden Befehl eingeben:

# /etc/rc.d/named start

23.7.4. BIND9 absichern

FreeBSD führt named automatisch in einer chroot(8)-Umgebung (Sandbox) aus, es gibt aber noch weitere Möglichkeiten, potentielle Angriffe auf Ihren DNS-Server abzuwehren.

23.7.4.1. Zugriffskontrolllisten (Access Control Lists) verwenden

Durch Zugriffskontrolllisten können Sie die Abfrage von Zoneninformationen einschränken. Dazu definieren Sie das entsprechende Netzwerk im acl-Abschnitt und fügen anschließend die IP-Adressen in die Zonenkonfigurationsdatei ein. Um den Zugriff auf Zoneninformationen zu erlauben, fügen Sie Zeilen ähnlich den folgenden ein:

acl "example.com" {
        192.168.0.0/24;
};

zone "example.com" {
        type slave;
        file "slave/example.com";
        masters {
                10.0.0.1;
        };
        allow-query { example.com; };
};

zone "0.168.192.in-addr.arpa" {
        type slave;
        file "slave/0.168.192.in-addr.arpa";
        masters {
                10.0.0.1;
        };
        allow-query { example.com; };
};     

23.7.4.2. Die Ausgabe der Versionsnummer unterbinden

Die Abfrage der Versionsnummer des DNS- Servers kann einem Angreifer den Zugriff auf das System ermöglichen. Er ist dadurch in der Lage, gezielt nach bekannten Sicherheitslücken dieser Version zu suchen und diese auf Ihr System anzuwenden. Daher ist es eine gute Idee, eine falsche Angabe im Abschitt options der Datei named.conf anzugeben:

options {
         directory       "/etc/namedb";
         pid-file        "/var/run/named/pid";
         dump-file       "/var/dump/named_dump.db";
         statistics-file "/var/stats/named.stats";
         version         "None of your business";
};     

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:56:55