freebsd下jail说明
作者 佚名技术
来源 操作系统
浏览
发布时间 2012-06-28
Jail 命令在FreeBSD 4.0中首次出现。用于“监禁”进程以及其衍生的子进程。而且jail和FreeBSD本身的secure_level合并使用可以显著限制(jail中的)root的能力。 假设某一个应用程序在系统内中运行,一段时间之后该应用程序被发现包含有致命的安全漏洞,如果在通常的系统中,这个应用程序可能已经在这个上面构成了漏洞,甚至cracker们已经成功地攻破这一应用并且成为root,控制了系统;但假如该应用程序放在jail内运行,即使cracker们已经攻破系统,也无法访问到jail之外系统的其他部分。因为尽管应用程序可以在jail之中自由活动,但是无法获得更多权限以及访问在jail之外的任何资源。通过这一特性,在系统管理上面可以做到防范未知漏洞,避免这些潜在的漏洞对整个系统的安全构成威胁。 jail通常有两类应用方向: 一、对应用程序的活动能力进行限制。 比如ftp服务器,DNS服务器,这样一些东西,比如wu-ftpd,bind这样一些隔三岔五就会爆出漏洞的“著名”软件放到jail里面会让人更加放心。 二、受控制的主机。 某些时候,需要对外提供有shell的管理性访问,比如作为某公司A,其合作单位B有某项目需要在A的机器上获得shell乃至root权限,这就需要提供受控制的主机,用户可以在jail里面控制几乎所有他需要的资源(除了jail不允许他访问的部分)。 第一类应用并不是非常复杂,实际上这类应用实现方法相对简单,只要在Linux下面玩过chroot就没有什么大问题;第二类应用则有很多有趣的特性,而jail最吸引人的部分也是这些很有趣的特性。 下面从最简单的部分开始: 第一类:限制应用程序活动能力 首先按照通常习惯的方式安装好你想要jail的应用程序,下面我们将会使用pure-ftpd(我不是很熟悉它,只不过顺手拿过来而已,据说还算好用)作为例子。 这个ftpd的安装位置,默认为:/usr/local/sbin;/usr/local/bin;在/etc下面还有一些相关的文件,整个结构感觉不是特别干净,不过它运行需要的东西并不很多,包括 /usr/local/sbin/pure-ftpd , /etc/xxx /etc/xxxx 这样一些文件。 接下来先用ldd看看/usr/local/sbin/pure-ftpd需要的那些运行库: tester# cd /usr/local/sbin tester# ldd pure-ftpd pure-ftpd: libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x2807b000) libpam.so.1 => /usr/lib/libpam.so.1 (0x28094000) libc.so.4 => /usr/lib/libc.so.4 (0x2809d000) 这样我们的工作任务清单上面就多出来这样一些东西了: /usr/lib/...... 使用ldd我们还可以获得其他一些需要放入jail的程序的运行库位置,信息搜集完成之后,我们开始建立jail目录树(这里我们假定jail环境构造在/jail内,当然你也可以选择你喜欢的位置): tester# mkdir -p /jail/usr/{lib,libexec,local/sbin,local/bin,local/etc,etc,var/run,var/log} 然后将上面列出的,libcrypt.so.2 等这些文件都复制到对应位置。当然还有我们FreeBSD下非常重要的一个文件ld-elf.so.1,尽管ldd没有给出提示,也还需要复制过去,否则应用程序也跑不起来。这样我们就获得了一个很干净(最小化)的应用程序运行环境jail命令的格式是: jail path hostname ip-number command 下面开始在jail里面运行它: tester# jail /jail jailed.host.name $JAILED_IP_ADDR /usr/local/sbin/pure-ftpd [options] 这里,/jail是你的jail环境的位置,也就是被jail之后,应用程序“以为”自己所在的“/”的位置;jailed.host.name是你打算提供给这个jail环境的主机名,某些情况下,应用程序需要知道这个变量;$JAILED_IP_ADDR是你打算提供ftp服务(如果是其他应用软件,那就是其他服务咯,比如web服务)的那个IP地址,至于/usr/local/sbin/pure-ftpd [options] 则是你打算运行的那 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于freebsd下jail说明的所有评论