Jail简单打造安全FreeBSD系统

2009-05-13 03:56:14来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

Jail简单打造安全FreeBSD系统
前言
对Linux系统有了解的朋友,应该使用过(听说过)Chroot,它在Linux系统中扮演着“监牢”的角色。而FreeBSD作为一款Unix类操作系统(确切的说是BSD风格的Unix),以其易用性和稳定性赢得了众多用户的青昧,在Internet占据着一席之地。同样,它也具有同Chroot相同功能的程序----Jail,而且Jail有一些Chroot没有的特性。Jail可以应用于各种服务,包括常见的Web/Mail/DNS等,限于篇幅,本文以Web服务器为例进行说明。其实,本文的目的是说明Jail的使用方法,只不过是以Web服务器为例,如果你能掌握使用Jail构建Web服务器的方法,其他服务是绝对可以触类旁通的,不信?请接着往下看……
一,前续知识
1,FreeBSD目录结构
能否熟练使用Jail,很大前提是你是否熟悉FreeBSD目录结构(文件布局)。如果你之前使用过Linux或者其他Unix,那就会对FreeBSD的目录结构不会太过于陌生(如图1)。我们来具体分析一下:
Bin/ 系统中基本的静态链接库
Boot/ 系统启动时所需的配置文件和可执行程序
Compat@ 一个指向Usr/Compat的符号连接,用于与其他系统的兼容
Dev/ 特殊的文件类型,用于与系统中的设备连接起来
Etc/ 保存系统级和用户级的配置文件(包括“敏感”信息)
Home@ 一个指向Usr/Home的符号连接,所有普通用户的主目录
Modules/ 可装入的内核模块保存在该目录下
Proc/ 称为进程文件系统,它是进程表的一个接口
Sbin/ 静态链接的系统二进制文件
Stand/ 包含一组硬链接程序,值得关心的就是Sysinstall
Sys@ 一个指向Usr/Src/Sys的符号连接,内核源文件都在此
Usr/ 包含动态链接库、用户文件和已安装的程序,稍后详述
Var/ 系统中的一些“可变动”的文件,比如日志
[------------------------------FreeBSD目录结构关键元素-----------------------------------]
FreeBSD对目录结构要求很严格,其中最为明确的原则是:管理员安装的任何程序都被保存在/usr/local目录下。尽管一个程序会把自己的库文件安装在/var/lib目录下,把配置文件安装在/etc目录下。但FreeBSD还是会修改安装脚本(Makefile),使得库文件被保存在/usr/local/lib、/usr/local/libexec、/usr/local/libdata目录中;二进制文件放到/usr/local/bin、/usr/local/sbin目录中;配置文件放到/usr/local/etc目录下。如果程序附带了启动脚本,那么它将被保存到/usr/local/etc/rc.d目录中,系统启动时,/etc/rc(基础系统的启动脚本)下的脚本运行之后,/usr/local/etc/rc.d目录下的任何文件都将被运行。这种精细的控制是非常容易维护的,尤其是在新机器上重建系统时,因为可以在不修改系统的情况下,将/usr/local目录下的子目录和所有文件直接复制到另一个新系统,而安装过的软件大部分都可以运行。
掌握以上这些内容,就可使用Jail了,关于FreeBSD文件布局的具体详情,可通过阅读Man Hier手册页获得。
2,Jail简介
Jail命令在FreeBSD 4.0中首次出现。用于控制进程以及其派生的子进程。假如某一个应用程序在系统中运行,一段时间后应用程序被发现包含严重的安全漏洞,攻击者甚至可以获得Root权限,从而对系统造成威胁和破坏。但是,如果这个应用程序运行在Jail环境中,即使攻击者获得了Root权限,他也不可能访问到Jail以外的资源,因为应用程序已经被Jail“监禁”起来了,除了在本身的环境内,系统其他资源一律无法访问。由此可见,使用Jail可以很好的防范未知漏洞,减少漏洞对系统的危害。
Roc.Ken
2005-04-25, 21:45
Jail通常有两种应用方向:
1,对应用程序进行限制

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:实现同一时间唯一用户认证

下一篇: 01-about BSD Hacks (07-17-2006)