Häufig wird BIND unter root-Rechten gestartet.
Das ist natürlich ein Sicherheitsrisiko und sollte vermieden
werden. Bei aktuellen Versionen ist das sehr einfach. Zunächst
müssen eine eigene Gruppe und ein eigener Benutzer eingerichtet
werden. Unter Linux kann man diese ganz einfach mit den folgenden
beiden Kommandos anlegen:
root@linux #
groupadd named
root@linux #
useradd -d /var/named -g named named
|
Nun muß das Verzeichnis /var/named an diesen
Benutzer "verschenkt" werden:
root@linux #
chown -R named:named /var/named
|
Eigentlich besteht kein Grund, eigene, primäre Zonenfiles (also
die, für die der Server authorativ und kein Secondary ist) zu
verschenken. bind muß aber in der Lage sein,
sekundäre Zonefiles
zu schreiben, nachdem sie vom Primary geladen wurden. Dazu kann
man aber auch ein Unterverzeichnis verwenden, und nur dieses
schreibbar machen. Dann kann im Falle des Mißbrauches der
Benutzerkennung (z.B. durch einen erfolgreichen Angriff) kein
primäres Zonefile verändert werden.
Nun muß der Startaufruf um zwei Parameter erweitert werden, damit
bind weiß, das er unter anderen Benutzerrechten laufen soll:
root@linux # /usr/sbin/named -u named -g named
|
Nach der Initialisierung werden dann die root-Rechte abgelegt.
Beim Start sind diese natürlich noch kurz erforderlich, da sonst
der Port 53 nicht verwendet werden könnte (privilegierte Ports
dürfen nur von root verwendet werden).
|