chroot کردن bind در debian

در این مقاله به آموزش 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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *