در این مقاله به آموزش chroot کردن bind در debian می پردازیم.
cheroot چیست ؟
با این روش شما میتوانید مسیر و محل اجرا شدن یک سرویس مانند DNS یا Web را عوض کنید و با این کار باعث ایمن تر شدن سیستم خود شوید. بدین صورت که اگر کسی به سیستم شما نفوذ کرد با chroot شدن آن سرویس فقط به همان دایرکتوری سرویس دسترسی خواهد داشت و به کل سیستم عامل دسترسی ندارد.
برای chroot کردن bind بصورت زیر عمل میکنیم .
ابتدا مسیر زیر را میسازیم
mkdir /usr/local/chroot/bind
سپس فایل /etc/passwd را برای یوزر bind بصورت زیر وسرایش میکنیم
bind:x:109:114:Nameserver:/usr/local/chroot/bind:/bin/false
سپس در مسیری که ساختیم دستورات زیر را اجرا میکنیم تا تمام مسیرهایی را bind برای اجرا شدن به آن نیاز دارد در مسیر chroot خود داشته باشد.
cd /usr/local/chroot/bind
mkdir /usr/local/chroot/bind/dev
mkdir /usr/local/chroot/bind/etc/namedb
mknod /usr/local/chroot/bind/dev/null c 1 3
mknod /usr/local/chroot/bind/dev/random c 1 8
chmod 666 /usr/local/chroot/bind/dev/{null,random}
cp /etc/localtime /usr/local/chroot/bind/etc/
mkdir -p /usr/local/chroot/bind/var/run
mkdir -p /usr/local/chroot/bind/var/log
touch /usr/local/chroot/bind/var/run/named.pid
بعد از اجرای دسورات بالا نوبت به ویرایش تنظیمات bind میرسد.
برای این منظور فایل named.conf.option را باز میکنیم و جلوی خط directory مسیری را که ساخته ایم قرار میدهیم .
vi /etc/bind/named.conf.option
directory “/usr/local/chroot/bind”
و سپس تمام کانفیگ های bind را از مسیر /etc/bind در مسیر /usr/local/chroot/bind کپی میکنیم
cp -a /etc/bind /usr/local/chroot/bind
و در مرحله یعدی فایل bind9 را در مسیر /etc/default ویرایش کرده و جلوی OPTIONS موارد زیر را قرار میدهیم.
OPTIONS=”-4 -u bind -g bind -t /usr/local/chroot/bind –pidfile /usr/local/chroot/bind/var/run/named.pid “
سپس باید فایل اجرا شدن سرویس را در مسیر /etc/init.d/bind را ویرایش کنیم و تمام خطوطی را که به مسیر قبلی اجرای bind اشاره میکنند را به مسیر جدید ویرایش کنیم.
و در آخر باید مالکیت همه این دایرکتوری و فایل هاایی که برای Bind ساختیم را به یوزر bind بدهیم. برای این منظور دستور زیر را اجرا میکنیم.
chown -R bind:bind /usr/local/chroot/bind
در اینجا کار ما تمام شده و با ریستارت کردن سرویس bind این سرویس باسد در مسیر chroot شده اجرا شود .
service bind9 restart