14.2.4 chroot功能

本文介绍了chroot的功能及其在DNS服务器中的应用。chroot通过限制进程的根目录来增强安全性,即使程序存在漏洞也不会危及整个系统。文章还详细解释了如何在Red Hat Enterprise Linux 5中安装和配置chroot。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

14.2.4  chroot功能

chrootChange Root的缩写,它可以将文件系统中某个特定的子目录作为进程的虚拟根目录,即改变进程所引用的“/”根目录位置。chroot对进程可以使用的系统资源、用户权限和所在目录进行严格控制,程序只在这个虚拟的根目录及其子目录具有权限,一旦离开该目录就没有任何权限了,所以也将chroot称为“jail监禁”。

%说明:Vsftpd服务器架设中,也有几个关于chroot的配置选项,可以把操作系统中的某一个目录(通常是该用户的主目录)作为用户的根目录,用户登录到FTP服务器时,看到的根目录并不是服务器上真正的根目录,而是其他目录。用户不能访问除这个目录以外的任何文件,即就是把用户监禁在某一目录中,用户的任何操作仅对这个目录有效,不会影响到系统和其他用户的文件。

早期Linux服务都是以root权限启动和运行的,随着技术的发展,各种服务变得越来越复杂,导致BUG和漏洞也越来越多。黑客利用服务的漏洞入侵系统,就能获得root级别的权限,从而可以控制整个系统。为了减缓这种攻击所带来的负面影响,现在的服务器软件通常设计成以root权限启动,然后服务器进程自行放弃root权限,再以某个低权限的系统账号来运行进程。这种方式的好处在于该服务被攻击者利用漏洞入侵时,由于进程权限比较低,攻击者得到的访问权限是基于这个较低权限的,因此对系统造成的危害比以前减轻了许多。

基于同样的道理,chroot的使用并不能说是让程序本身更安全了,它跟没有chroot的程序比较,依然有着同样多的bug和漏洞,依然会被攻击者利用这些bug和漏洞进行攻击并得逞。但由于程序本身的权限被严格限制了,因此攻击者无法造成更大的破坏,也无法夺取操作系统的最高权限。DNS服务器主要是用于域名解析,需要面对来自网络各个位置的大量访问,并且一般不限制来访者的IP,因此,存在的安全隐患和被攻击的可能性相当大,使用chroot功能也就特别地有意义了。

Red Hat Enterprise Linux 5下,chroot的安装包文件名为bind-chroot-9.3.3- 7.el5.i386.rpm,在第二张安装盘中。把安装文件复制到当前目录后,输入以下命令进行       安装。

 

# rpm  -ivh  bind-chroot-9.3.3-7.el5.i386.rpm

 

当成功安装chroot后,named的虚拟根目录变为/var/named/chroot,即以后运行named进程时,会把这个目录当作根目录。同时,这个虚拟根目录下还自动创建了devetc       var 3个目录,分别对应实际根目录下的同名目录。另外,安装chroot时,还会自动把实际根目录下的这3个目录中的配置文件都复制到虚拟根目录下对应的3个目录中,例如,/etc/named.conf会复制到/var/named/chroot/etc。因此,以后编辑named的配置文件时,要注意其存放的目录位置。

BIND包安装完后,会在/usr/sbin目录下出现bind-chroot-admin文件,这是一个与chroot有关的命令文件,利用它,可以禁用或启用chroot功能,也可以使虚拟根目录下的named配置文件与实际根目录下的named配置文件进行同步。其命令格式如下所示。

 

# bind-chroot-admin

Usage:

  -e | --enable:   enable the bind-chroot environment

  -d | --disable:  disable the bind-chroot environment

  -s | --sync:     sync files between the bind chroot and / environments,

                        so they are correct for the current state of the

                        bind-chroot

                       (enabled / disabled)

  $BIND_CHROOT_PREFIX, default /var/named/chroot, is the location of the

  chroot.

  $BIND_DIR, default /var/named, is the default un-chrooted bind directory.

 

bind-chroot-admin命令后加-e选项可以启用chroot功能,加-d选项禁用chroot功能,加-s选项同步配置文件。在实际工作中,最好要启用chroot功能,可以使服务器的安全性能得到提高,但在本章中,为了讲解和实验的方便,以及减少出错的可能性,禁用了chroot功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值