Trucs:Configuration de bind chrooté sur Mandrake 9.1

De Lea Linux
Révision datée du 5 octobre 2005 à 16:42 par PingouinMigrateur (discussion | contributions) (conversion de la documentation originale de Léa par HTML::WikiConverter)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
Thomas Trachet<thomast@lfi.fr>

Le script shell ci-dessous permet de réaliser un serveur DNS "chrooté" dans le répertoire /var/chroot-named pour plus de sécurité. Le script a été réalisé pour une Mandrake 9.1 sur laquelle on vient d'installer les paquetages bind et caching-nameserver. Libre à vous de porter ce script sur d'autres version de Mdk et autres.

----DEBUT----
#!/bin/bash

# 6 juin 2003
# Script permet de réaliser un serveur DNS chrooter.
# Il a été développé pour une Mandrake 9.1 sur laquelle
# les paquetages bind et caching-nameserver ont été
# fraichement installés.
# Thomas Trachet - thomast@lfi.fr
# http://www.linuxtom.lfi.fr/
# http://perso.club-internet.fr/ttrachet

grep 'Bamboo' /etc/mandrake-release >/dev/null 2>&1 || exit 0

export ROOTDNS="/var/chroot-named"

mkdir -p $ROOTDNS/{dev,etc,var,usr}
mkdir -p $ROOTDNS/var/run/named $ROOTDNS/usr/sbin
$ROOTDNS/var/log/named
chown named:named $ROOTDNS/var/{log,run}/named

[ -c $ROOTDNS/dev/null ] || \
mknod $ROOTDNS/dev/null c 1 3
[ -c $ROOTDNS/dev/random ] || \
mknod $ROOTDNS/dev/random c 1 8

egrep '(^root:|^named:)' /etc/passwd > $ROOTDNS/etc/passwd
egrep '(^root:|^named:)' /etc/group > $ROOTDNS/etc/group

[ ! -f /etc/sysconfig/syslog.orig ] && \
mv /etc/sysconfig/syslog /etc/sysconfig/syslog.orig

sed -e 's/"-m 0"/"-m 0 -a \/var\/chroot-named\/dev\/log"/' \
/etc/sysconfig/syslog.orig > /etc/sysconfig/syslog

service syslog restart

grep loggin /etc/named.conf >/dev/null 2>&1 || \
cat << FIN >> /etc/named.conf

logging {
channel replace_syslog {
file "/var/log/named/named.log" versions 3 size 100k;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default {
replace_syslog;
default_debug;
};
};

FIN

[ -f $ROOTDNS/etc/named.conf ] || mv -f /etc/named.conf
$ROOTDNS/etc
[ -L /etc/named.conf ] || ln -s $ROOTDNS/etc/named.conf /etc

[ -d $ROOTDNS/var/named ] || mv -f /var/named $ROOTDNS/var
[ -L /var/named ] || ln -s $ROOTDNS/var/named /var

cp -af /usr/sbin/named $ROOTDNS/usr/sbin/named

echo ROOTDIR=$ROOTDNS > /etc/sysconfig/named

mkdir -p $ROOTDNS/lib/i686 $ROOTDNS/usr/lib

cp -af /usr/lib/libcrypto.so* $ROOTDNS/usr/lib
cp -af /lib/libnsl.so* $ROOTDNS/lib
cp -af /lib/i686/libpthread.so* $ROOTDNS/lib/i686
cp -af /lib/i686/libc.so* $ROOTDNS/lib/i686
cp -af /lib/libdl.so* $ROOTDNS/lib
cp -af /lib/ld-linux.so* $ROOTDNS/lib

service named restart

echo "
LINUX IS NICE AND EFFICIENT
"
----EOF----