chroot Linux中的所有服务作者:Mark Nielsen 译者:蓝风 原文出处:LinuxFocus.org 摘要:当某些人入侵你的系统时,chroot将通过限制入侵者所能造成的损失来提高系统的安全性。 介绍: 什么时chroot呢?它其实是对一个程序从根本上重新定义。更准确的说,它为一个程序重新定义“root”目录或“/”或日志。当你使用chroot后,一个程序在目录以外的东西不再显得那么多。 为什么它有用,如果某些人入侵了你的计算机,它们就不能看到你的系统中的所有的文件,而且,还可以限制它们使用命令来访问文件,也不能利用处于不安全状况下的文件。chroot唯一的缺点是:它不能阻止那些在网络连接和其他部件偷看的入侵者。这样,你必须做一些从本文你无法了解得更多的事情。 1.保护你的网络端口。 2.让你所有的服务在非root帐号的情况下运行,此外,将所有的服务chrooted。 3.复制系统日志文件到另一台机器上。 4.分析日志文件, 5.分析人们试图探测你的计算机上任一端口的行为。 6.限制每个服务的CPU和内存。 7.激活帐号分配。 我之所以认为chroot(在non-root服务中)可以对程序起到防护作用的原因是,如果某些人入侵了你的电脑,在non-root帐号的情况下,就没有文件来供他们使用以进入root,那么他们对闯入的区域所造成的破坏就会有限。同样,如果他们侵入的领域绝大部分在root帐号下所有,可供选择的破坏也会减少。很明显,如果某些人入侵了你的帐号,那么也可以保护你所受的损坏最小化。 请记住:我的方法也不是100%的有效。这是我第一次尝试这样做,而且如果这样做有一部分的有效的话,那么剩余的的也将非常简单了.下面是如何做的步骤. 你准备好了吗? 好的,我们先创建一个目录,”/chroot”,然后,我们将我们所有的services都放在它的下面。接下来做以下安排: 系统日志文件将和每项服务一起chroot。 Apache放在/chroot/httpd。 Ssh放在/chroot/sshd。 PostgreSQL放在/chroot/postmaster。 Sendmail也将被chroot,但是不幸的是,它不能在一个非root权限下运行。 ntpd被chroot到/chroot/ntpd。 named被chroot到/chroot/named。 每一项service都将完全隔绝。 我的perl脚本将生成一个chrooted的环境。 Config_Chroot.pl.txt(下载地址见本文参考)在下载后被重命名为Config_Chroot.pl。perl脚本将安装的每一项service列表,浏览配置文件,对每一项服务进行配置。总之,下面是你需要做的事情。 1.生成chroot目录。mkdir -p /chroot/Config/Backup 2.下载Config_Chroot.pl.txt到/chroot/Config_Chroot.pl 3.在perl脚本种改变$Home变量,如果你的根目录不是/chroot 4.下载我写的配置文件。 现在,最重要的一件事情是:我只在RedHat 7.2和RedHat 6.2中进行过测试。所以,请 根据你的版本修改perl脚本。 我不想在Chroot中放置大量的文件,最后我的Perl脚本将它变得很小。基本上,我注意到当chroot很多service后,其实它们重复chroot了很多相似的文件和结构。一个最简单的分辨那些文件需要复制给一个特殊的service的方法是阅读手工页,而且对适用库文件的程序键入”ldd /usr/bin/file”命令。当然,你也可以chroot你正在安装的service,并且你可以手工操作,看看你犯的错误,后者看看它的日志文件。 总之,,安装一项service操作如下:
Ntpd只是一个时间服务项目,它能使你的机器和其他机器与真实时间保持一致。chroot它很简单。
已经做好,可以在下面的网址中有偿得到: http://www.linuxdoc.org/HOWTO/Chroot-BIND8-HOWTO.html 或是 http://www.linuxdoc.org/HOWTO/Chroot-BIND-HOWTO.html 或者,你也可以使用我的脚本,
Chroot 系统日志文件还有我的抱怨 我想chroot日志文件,但是有一个问题就是,日志文件缺省使用/dev/log,而且,它不能被chroot service监测到,因此,chroot并不是一件容易的事,下面是可能有效的几个方法: 1.与每项service一起chroot日志文件。我测试过确实可行。但是我并不喜欢这样,因为我有一个连续运转的root service。 2.看我们能不能连接一个断开的日志工具。 3.记录文件到一个文件而不是通过系统日志文件。这可能是最可靠的方案,虽然,万一真的有人闯入系 统,他们就可以对日志文件为所欲为。 4.配置主要的系统日志文件,看看个别的位置能不能获得所有的service。请同时使用-a选项。 我的唯一的解决方法是确信系统日志文件和每一项service一起chroot。我想有一些方法可以在它们自己的chroot环境中在非root权限下对文件进行日志备份,就象是一个网络端口。它是可行的,但我想找到一个更好的解决方案。 如果你不想将每个service的日志文件分离出来,那么请在系统日志开始的时候,在主要的日志文件开始在系统中运行的时候,加入以下命令: 上一篇:安全工具 下一篇:Samba的使用 更多相关文章
|
推荐文章
精彩文章
|