6.3 安装chroot软件包
早期Linux服务都是以root权限启动和运行的,随着技术的发展,各种服务变得越来越复杂,导致BUG和漏洞越来越多。黑客利用服务的漏洞入侵系统,能获得root级别的权限,从而控制整个系统。为了减缓这种攻击所带来的负面影响,现在服务器软件通常设计为以root权限启动,然后服务器进程自行放弃root,再以某个低权限的系统账号来运行进程。这种方式的好处在于该服务被攻击者利用漏洞入侵时,由于进程权限很低,攻击者得到的访问权限又是基于这个较低权限的,因此对系统造成的危害比以前减轻了许多。
chroot是Change Root的缩写,它可以改变程序运行时所参考的“/”根目录位置,即将某个特定的子目录作为程序的虚拟“/”根目录。chroot对程序运行时可以使用的系统资源、用户权限和所在目录进行严格控制,程序只在这个虚拟的根目录具有权限,一旦跳出该目录就无任何权限了,所以有些书籍也将chroot称为“jail监禁”。举个简单的例子,架设过FTP服务器的读者都知道,用户登录到FTP服务器时,看到的根目录并不是服务器上真正的根目录,而是它的主目录。用户不能访问除主目录外的任何资源,即将用户jail监禁在自己的主目录中,用户的任何操作仅对自己的主目录有效,不会影响系统和其他用户的文件,chroot的作用也是类似的。
使用了chroot后,就算黑客入侵了某个服务,由于具有的权限相当有限,因此最多也只能破坏该服务的虚拟根目录,不会威胁到整个服务器的安全。对DNS服务而言,有经验的网络管理员都会对其使用chroot技术来增强bind的安全。
在安装bind-chroot时,需要使用Bind的主配置文件/etc/named.conf。默认情况下该文件是不存在的,用户可以自行创建。此外,在安装DNS服务时都会安装一个范本文件,该文件的路径是/usr/share/doc/bind-9.3.3/sample/etc/named.conf。在具体的DNS服务配置中,可将该文件复制为/etc/named.conf,然后根据需要进行编辑,这样设置比较容易。
将Red Hat Enterprise Linux 5第2张安装盘放入光驱,加载光驱后在光盘的Server目录下找到bind-chroot的RPM安装包文件bind-chroot-9.3.3-7.el5.i386.rpm,然后使用下面命令安装chroot服务。
rpm -ivh /mnt/Server/bind-chroot-9.3.3-7.el5.i386.rpm
命令执行后,如果出现如图6-9所示的结果,则表示bind-chroot安装成功。
![]() |
| 图6-9 安装bind-chroot |
(1)安装chroot时,系统要求提供Bind的主配置文件是/etc/named.conf,但安装DNS服务后,安装程序不会自动生成/etc/named.conf文件,需要用户自行创建或将/usr/share/doc/bind-9.3.3/sample/etc/named.conf范本文件复制为/etc/named.conf,否则系统会提示错误,如图6-10所示。
![]() |
| 图6-10 提示没有named.conf文件的错误 |
| 回书目 上一节 下一节 |