(c)Fabian Portmann - www.chupame.ch
(c)GFDL - www.gnu.org/licenses/fdl.html
chroot Jail BIND
================
BIND 9 in einem chroot Jail (step-by-step)
---------------------------
Verzeichniss erstellen, indem nachher das Jail von named sein soll.
root# mkdir /var/named/
Ein User und eine Gruppe erstellen, unter dem named später laufen wird.
root# groupadd -g 53 named
root# useradd -u 53 named -g named -c "chroot Jail BIND user" -d /var/named/jail -m named
Die nötigen Unterverzeichnisse anlegen und danach ins homedir von named wechseln.
root# mkdir -p /var/named/jail/var/{cache/bind,run/bind/run}
root# mkdir -p /var/named/jail/{dev,etc/bind}
root# cd ~named
Alle Konfigurations- und von named benötigte Dateien ins Jail kopieren.
root# cp -Rav /etc/bind etc/
root# cp -av /etc/localtime etc/
root# cp -av /dev/{null,random} dev/
Rechte richtig setzen.
root# chown root.root .
root# chmod 0755 .
root# chown named.named var/run/bind/run
root# chown -R named.named etc/bind/* #Je nach Distribuiton und gewählten
#Namen kann dies variieren.
root# chmod 640 etc/bind/* #Auch die Verzeichnisse.
Nun wird named gestartet.
Es wird nur noch die /etc/bind/named.conf und rndc.key benötigt.
root# /usr/sbin/named -u named -t /var/named/jail -c /etc/bind/named.conf
#Läuft named?
root# ps axcu | grep named
#Noch ein Blick in das logfile(kann auch syslog sein).
root# tail -n 20 /var/log/daemon.log
Shellscript für Debian testing
------------------------------
#!/bin/bash
mkdir /var/named/ && groupadd -g 53 named && useradd -u 53 named -g named -c "chroot Jail BIND user" -d /var/named/jail -m named && mkdir -p /var/named/jail/var/{cache/bind,run/bind/run} && mkdir -p /var/named/jail/{dev,etc/bind} && cd ~named && cp -Rav /etc/bind etc/ && cp -av /etc/localtime etc/ && cp -av /dev/{null,random} dev/ && chown root.root . && chmod 0755 . && chown named.named var/run/bind/run && chown -R named.named etc/bind/* && chmod 640 etc/bind/* && /usr/sbin/named -u named -t /var/named/jail -c /etc/bind/named.conf
ps axcu | grep named;
sleep 3;
tail -n 20 /var/log/daemon.log
# EOF
-- MatthiasWeiss - 03 Dec 2004