Verder Terug Inhoud

12. Beveiliging met chroot

Standaard draait bind als root en kan hij het hele bestandssysteem benaderen. Dat is niet zo veilig en ook onnodig. Er zijn twee maatregelen om bind veiliger te laten draaien:

Normaal gebruik ik beide methoden: het is nauwelijks moeilijker en geeft net een beetje meer veiligheid.

12.1 Draaien in een chroot

Een chroot is een omgeving waarin een proces kan draaien in een eigen rootdirectory. In principe is het niet mogelijk (of heel moeilijk) om eruit te breken en in de echte root terecht te komen.

Als root voor bind gebruik ik /var/named/. Binnen deze directory moeten de volgende directory's aangemaakt worden:

In het options blok in named.conf is één aanpassing nodig: "directory "/var/named/zones";" moet worden: "directory "/zones";".

Zorg dat alle directory's en bestanden lees- en schrijfbaar zijn voor het account waaronder bind draait, met name /var/named/var/run/ en /var/named/zones/.

Bind is nu te starten met:


named -t /var/named -c /etc/named.conf

named.conf wordt pas na de chroot ingelezen, vandaar dat de naam wordt opgegeven relatief ten opzichte van de nieuwe root. Het opgeven van plaats van named.conf is alleen nodig als bind deze probeert te lezen vanaf een non-standaard locatie, zoals in Debian.

12.2 Draaien als non-root

Veel distributies hebben standaard al een user named of bind aangemaakt. Die kunnen we gebruiken. Zo niet, maak dan zelf een user aan. Deze moet in een aparte groep komen waarin verder geen andere gebruikers rechten hebben.

Zorg ervoor dat bind kan schrijven in de directory waar named.pid terecht komt en in /var/named/zones. Bind is nu te starten met:


named -u named

Of, chrooted en als non-root:
named -t /var/named -c /etc/named.conf -u named


Verder Terug Inhoud