| FOTO | AUTO | EDV | AUDIO |

Sicherer DNS mit BIND und chroot-Umgebung

BIND ist ein von der Universität Berkeley (USA) entwickelter DNS-Server, der eine hohe Verbreitung in mittleren bis großen Netzen findet. Er ist als Open Source erhältlich und wurde auf fast jedes Betriebssystem portiert. Bis heute gilt BIND als „die Referenz“ unter den DNS-Servern und bildet den Grundstock des heutigen Internets.

Installation

Bundy the BIND Parrot Der unter Linux/Unix eingesetzte Nameserver wird BIND genannt

yum install bind bind-chroot bind-libs bind-utils

Autorisieren

Damit nur autorisierte Systeme den DNS-Server kontrollieren können, muss ein rndc-Schlüssel erstellen werden, welcher für die Kommunikation zwischen DHCP- und DNS-Server verwendet wird.

rndc-confgen -a

Zugriffsrechte der Datei ändern:

chmod 0644 /etc/rndc.key

Konfigurieren

Zuerst muss der Server zum BIND-Server werden:

  vim /etc/resolv.conf
  nameserver 192.168.4.1  # IP Adresse durch die eigene Adresse ersetzen

Jetzt kann der Dienst konfiguriert werden.

vim /etc/named.conf 

include "/etc/rndc.key";
controls {
      inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
      };
options {
      directory "/var/named";
      managed-keys-directory "/var/named/dynamic";
      pid-file "/var/run/named/named.pid";
## Hier dei eigene IP eintragen
listen-on {
           127.0.0.1;
           192.168.4.79;
           };
Beschränkt auf Netzwerkbereiche
allow-query {
           127.0.0.1;
           192.168.4.0/24;
           };
# Rekursives Abfragen ermöglichen
recursion yes;
    allow-recursion {
           127.0.0.1;
           192.168.4.0/24;
           };
     forwarders {
           192.168.4.79;
           };
query-source address * port 53;
version "REFUSED";
      };
# Root-Zone
zone "." IN {
      type hint;
      file "named.ca";
      };
#LAN-Zone
zone "home.lan" IN {
      type master;
      file "home.lan.zone";
      allow-update { key "rndc-key"; };
      notify yes;
      };
# Arpa reserve
zone "4.168.192.in-addr.arpa" in {
      type master;
      file "192.168.4.zone";
      allow-update { key "rndc-key"; };
      notify yes;
      };

Für die Root-Zone müssen Sie nur die Vorlage nach /var/named/chroot/var/named/ kopieren.

cp /usr/share/doc/bind-9.8.2/sample/var/named/named.ca /var/named/chroot/var/named/

Vorlage für die Zone Home-LAN weatellen:

vi /var/named/chroot/var/named/home.lan.zone

mit diesem Inhalt:

$ORIGIN .
 $TTL 172800     ; 2 days
 home.lan                IN SOA  srv.meteosat.de. (
                                 2012101100 ; serial
                                 10800      ; refresh (3 hours)
                                 900        ; retry (15 minutes)
                                 604800     ; expire (1 week)
                                 86400      ; minimum (1 day)
                                 )
                         NS      srv.meteosat.de.
                         MX      10 srv.meteosat.de.
 $ORIGIN home.lan.
 ftp                     CNAME   server
 mail                    CNAME   server
 ns                      CNAME   server
 ntp                     CNAME   server
 router                  A       192.168.4.1
 server                  A       192.168.4.79

Die Reserve-Zone erstellen

vi /var/named/chroot/var/named/192.168.4.zone   # Achtung Name anpassen!

mit diesem Inhalt

$ORIGIN .
 $TTL 172800     ; 2 days
 10.168.192.in-addr.arpa IN SOA  srv.meteosat.de. (
                                 2012101100 ; serial
                                 10800      ; refresh (3 hours)
                                 900        ; retry (15 minutes)
                                 604800     ; expire (1 week)
                                 86400      ; minimum (1 day)
                                 )
                         NS      server.
 $ORIGIN 10.168.192.in-addr.arpa.
 1                       PTR     srv.meteosat.de.
 2                       PTR     srv.meteosat.de.

Jetzt dei Zugriffsberechtigungen anpassen

chown named:named /var/named/chroot/var/named/home.lan.zone /var/named/chroot/var/named/192.168.4.zone

Zonendaten Update erlauben

vi /etc/sysconfig/named

diese Zeile hinzu fügen:

ENABLE_ZONE_WRITE=yes

CHROOT Umgebung anpassen

mkdir /var/named/chroot/var/named/dynamic
touch /var/named/chroot/var/named/dynamic/managed-keys.bind
chown -R named:named /var/named/chroot/var/named/dynamic/
chmod 0770 /var/named/chroot/var/named/dynamic/

An der Firewall den Port freigeben

Wir müssen noch den UDP-Port 53 und den TCP-Port 53 in der Firewall freigeben.

iptables -I INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
service iptables save

Start und Stop

service named start

oder

/etc/init.d/named start

Selbst bekannt machen

Dazu muss der eigene Server in der eigenen /etc/resolv.conf inklusive Suchdomäne eingetragen werden

search meteosat.de
nameserver 192.168.4.79

Testen

nslookup

nslookup yourdomain.com

muss ergeben

Server:         192.168.0.1
Address:        192.168.0.1#53
Name:   yourdomain.com
Address: 192.168.0.1

dig

dig yourdomain.com

soll ergeben:

; DiG 9.2.4 yourdomain.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10576
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;yourdomain.com.             IN      A

;; ANSWER SECTION:
yourdomain.com.      86400   IN      A       192.168.0.1

;; AUTHORITY SECTION:
yourdomain.com.      86400   IN      NS      ns1.yourdomain.com.

;; ADDITIONAL SECTION:
ns1.yourdomain.com.  86400   IN      A       192.168.0.1
;; Query time: 8 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Sat Aug  2 10:56:16 2008
;; MSG SIZE  rcvd: 85

DHCP anpassen

Damit der DHCP-Server den Nameserver über die vergebenen IP-Adressen informiert und die Rechnernamen übergibt, müssen Sie an der dhcpd.conf einige Änderungen vornehmen.

vi /etc/dhcp/dhcpd.conf

Zuerst fügen Sie den folgenden Abschnitt für den rndc-Schlüssel ein. Bei der Option secret geben Sie den Schlüssel aus der /etc/rndc.key an.

key rndc-key {
      algorithm hmac-md5;
      secret "ZoSPmwAle0DiJTOrBVfYvw==";
      };
Anschließend ändern Sie die Option ddns-update-style wie folgt ab.

ddns-update-style interim;

Zum Schluss fügen Sie noch die Lookup- und Reverse-Lookup-Zonen ein welche aktualisiert werden sollen.

zone home.lan. {
      primary 127.0.0.1;
      key rndc-key;
      }
 
zone 4.168.192.in-addr.arpa. {
      primary 127.0.0.1;
      key rndc-key;
      }
Nachdem Sie die dhcpd.conf abgespeichert haben, müssen Sie den DHCP-Server neu starten.

service dhcpd restart

Namensauflösung optimieren, ohne eigenen DNS

  1. auf der Seite www.denic.de nach dem eigenen Provider suchen
    1. unten auf der Ergebnisseite einen DNS Derver aussuchen und anpingen
    2. die so gefundene IP-Adresse ist der direkte DNS ihres Providers
  2. Diese IP-Adresse bei den DHCP-Servereinstellungen als DNS mitgeben
  3. Für die loale Namensauflösung auf jedem PC die Datei hosts anpassen (Siehe Netzwerkeinstellungen im Kapitel Installation)
    1. Für Windows: %SystemRoot%\system32\drivers\etc\hosts
    2. Für Linux: /etc/hosts

Weitere Infos