Erfahrungen & Bewertungen zu Lars Pilawski

bind9 in ein Chroot auslagern!

Hallo! Habe hier mal ein Script erstellt welches es vereinfachen soll bind9 in ein Chroot auszulagern!
Das Script wurde anhand folgender Quelle erstellt: Bind 9 in Chroot
Ich habe es erstmal nur für Debian Wheezy eingerichtet. Für Jessie sind noch ein paar andere Dinge notwendig. Also Bitte nur unter Debian Wheezy anwenden!


#!/bin/bash

##### Bind9 ins Chroot auslagern #####
##### Für Debian Wheezy nicht für Jessie!!! #####

service bind9 stop

sed -i 's/OPTIONS="-u bind"/#OPTIONS="-u bind"/' /etc/default/bind9
if ! [ $? = 0 ] ; then
        exit 1
fi

sed -i 's!PIDFILE=/var/run/named/named.pid!''PIDFILE=/var/bind9/chroot/var/run/named/named.pid!' /etc/init.d/bind9
if ! [ $? = 0 ] ; then
        exit 1
fi
sed -i 's!#OPTIONS="-u bind"!''OPTIONS="-u bind -t /var/bind9/chroot"!' /etc/init.d/bind9
if ! [ $? = 0 ] ; then
        exit 1
fi

mkdir -p -v /var/bind9/chroot/{etc,dev,var/cache/bind,var/run/named,var/log/bind}
if ! [ $? = 0 ] ; then
        exit 1
fi

if ! [ -c /var/bind9/chroot/dev/null ] ; then
        mknod /var/bind9/chroot/dev/null c 1 3
        if ! [ $? = 0 ] ; then
        exit 1
        fi
fi
if ! [ -c /var/bind9/chroot/dev/random ] ; then
        mknod /var/bind9/chroot/dev/random c 1 8
        if ! [ $? = 0 ] ; then
        exit 1
        fi
fi

chmod 660 /var/bind9/chroot/dev/{null,random}
if ! [ $? = 0 ] ; then
        exit 1
fi

if ! [ -d /var/bind9/chroot/etc/bind ] ; then
        if [ -d /etc/bind ] ; then
                mv /etc/bind /var/bind9/chroot/etc
                echo "Bind9 Ordner ins Chroot kopiert!!!"
                if ! [ $? = 0 ] ; then
                        exit 1
                fi
        else echo "/etc/bind nicht vorhanden!!!"
        exit 1
        fi
fi

if ! [ -L /etc/bind ] ; then
        ln -s /var/bind9/chroot/etc/bind /etc/bind
        if ! [ $? = 0 ] ; then
        exit 1
        fi
        echo "Link von Chroot zu /etc/bind/ erstellt!!!"
        else echo "Link von Chroot zu /etc/bind/ schon vorhanden!!!"
fi

cp /etc/localtime /var/bind9/chroot/etc/
if ! [ $? = 0 ] ; then
        exit 1
fi

chown -R bind:bind /etc/bind/*
if ! [ $? = 0 ] ; then
        exit 1
fi
chmod 775 /var/bind9/chroot/var/{cache/bind,log/bind,run/named}
if ! [ $? = 0 ] ; then
        exit 1
fi
chgrp bind /var/bind9/chroot/var/{cache/bind,log/bind,run/named}
if ! [ $? = 0 ] ; then
        exit 1
fi

echo "$AddUnixListenSocket /var/bind9/chroot/dev/log" > /etc/rsyslog.d/bind-chroot.conf
if ! [ $? = 0 ] ; then
        exit 1
fi

echo "Bind9 erfolgreich ins Chroot verlagert!!!"

service bind9 start
service bind9 status

exit 0

Grundsätzlich sollte man Scripte, die man nicht selbst erstellt hat, immer zuerst auf einem Testsystem ausprobieren. Es kann vorkommen das die Ordnerpfade in der named.conf oder named.conf.option usw abweichen! Das gilt besonders dem PID File oder der log Dateien!
Das Wurzelverzeichnis für bind9 ist dann „/var/bind9/chroot/“! Der Pfad „/var/bind9/chroot/“ darf in keiner conf Datei als Pfad auftauchen!

Check Also

fail2ban mit IPv6

IPv6 verbreitet sich immer mehr. Leider nehmen auch die BruteFroce Angriffe zu. Wer jetzt fail2ban ...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Wir nutzen Cookies um dir passende Inhalte zu präsentieren und dein Surfvergnügen zu optimieren, aktivieren die Cookies aber erst, wenn du auf Akzeptieren klickst. Mehr Infos

Wir benutzen Google Analytics um zu ermitteln, welche Inhalte unsere Besucher sehen wollen und welche nicht. Eingebettete YouTube Videos helfen dir mittels Cookies nur die Videos zu sehen, die du sehen willst. Mittels Facebook Pixel ermitteln wir, welche Videokurse und Inhalte dir gefallen könnten und welche nicht. Unser Popup-Cookie nutzen wir, damit du das Popup nur einmal siehst und nicht bei jedem Aufruf.

Schließen

Lars Pilawski hat 4,81 von 5 Sternen | 190 Bewertungen auf ProvenExpert.com