Trucs:Configuration de bind chrooté sur Mandrake 9.1
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----
#!/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----