知识大全 Chroot Linux中所有的服务
Posted 文件
篇首语:尔曹身与名俱灭,不废江河万古流。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Chroot Linux中所有的服务相关的知识,希望对你有一定的参考价值。
Chroot Linux中所有的服务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
by Mark Nielsen 介绍 什么是chroot?chroot基本上重定义了一个程序的运行环境 更确切地说 它重定义了一个程序(或登录会话)的 ROOT 目录或 / 也就是说 对于chroot了的程序或shell来说 chroot环境之外的目录是不存在的 那这样又有什么用呢?如果入侵者入侵了你的电脑 他们就不能看见你系统里所有的文件了 这样 就限制了入侵者可能执行的命令 从而禁止了他们溢出不安全文件的机会 但唯一的缺点是 我认为这不能阻止他们察看网络连接和其他资料 因此 你应做一些本文未深入涉及的事情 保护网络端口 察看是否所有的服务都以非root权限运行 另外 是否所有的服务都进行了chroot? 把系统日志转移到其他电脑 分析日志文件 分析那些试图探测你的计算机的随机端口的人们 限制服务所占用的cpu和内存资源 激活用户配额 我认为(把以非root权限运行的服务进行)chroot可以作为一道安全防线的原因是 如果入侵者得到了一个非root账户 但没有使他们得到root权限的文件的话 那么他们只能对所入侵的区域造成破坏 而且 如果root账户是入侵区域大部分文件的拥有者的话 入侵者是没有多少攻击的选择的 显然 如果你的账户被入侵 那一定是某些地方出问题了 但最好能减少入侵者所能造成的破坏 请记住 我所做的并不是 %正确的 这是我第一次尝试这样做 就算只是部分有效的话 也应该是很容易完成基本的配置的 我想做一个chroot的HOWTO 现在所说的只是一些基本的东西 怎样把所有的服务都chroot呢? 好的 让我们先创建一个目录 /chroot 然后以下面的格式把我们的所有服务都放在它下面 Syslogd 分别和每一个服务一起运行在hroot环境下 Apache 运行在/chroot/d下 Ssh 运行在/chroot/sshd下 PostgreSQL 运行在/chroot/postmaster下 Sendmail 运行在 chroot环境下 但不幸的是 它必须以root权限运行 ntpd 运行在 /chroot/ntpd下 named 运行在 /chroot/named 下 每一个服务都是完全与外界隔离的 我用来创建chroot环境的Perl脚本 下载Config_Chroot pl txt并更名为 Config_Chroot pl 这个Perl脚本让你列出所有已安装的服务 查看配置文件 配置服务 并启动和停止服务 通常 这就是你应该做的 创建chroot目录 mkdir p /chroot/Config/Backup 下载Config_Chroot pl txt 并更名为 /chroot/Config_Chroot pl 如果你的家目录(home directory)不是/chroot 请把Perl脚本里的$Home 变量作相应的改变 下载我的配置文件 现在 重要的是 我只在 RedHat 和 RedHat 上测试过 请在Perl脚本里作相应的改变以适应你的发行版 关于chroot 我写了一遍很长的文章 但有了我的脚本 它变得短了很多 在chroot了很多服务之后 我注意到这些服务中需要被chroot的文件和配置都很相似 对一个特定的服务来说 判断哪些文件需要拷贝的最容易的方法是查看man 如果程序要用到库文件 就再键入 ldd /usr/bin/file 你还可以把你正在安装的服务进行chroot并手动启动 看看出了什么错或查一查它的日志文件 通常 要安装一个服务 可以这样做 cd /chroot /Config_Chroot pl config SERVICE /Config_Chroot pl install SERVICE /Config_Chroot pl start SERVICE 对 Ntpd 进行 Chroot Ntpd 是一个时间服务 它使你的计算机以及其它计算机和实际时间同步 把它chroot是很简单的 cd /chroot # 如果你没有使用我的配置文件 请把下一行的注释去掉 # /Config_Chroot pl config ntpd /Config_Chroot pl install ntpd /Config_Chroot pl start ntpd 对 DNS 和 named 进行 Chroot 已经有了howto文件 请看 或 如果你想用我的脚本 cd /chroot # 如果你没有使用我的配置文件 请把下一行的注释去掉 # /Config_Chroot pl config named /Config_Chroot pl install named /Config_Chroot pl start named 把 Syslog 和其他服务一起进行chroot以及我所遇到的困难 我想把syslogd进行chroot 我遇到的困难是 syslogd默认使用/dev/log目录 而chroot了的服务是看不见这个目录的 因此 用syslogd做日志记录就不是很方便了 下面是可能的解决方案 把syslogd分别和每一个服务进行chroot 我实际上就是这样测试的 而且记录了一些日志 我不喜欢这样做 因为我有一个以root权限运行的服务 看看我们是否能连接到外部日志记录设备 直接把日志记录到文件上而不是通过syslogd 这可能是最好的安全选择了 尽管如果被入侵 入侵者可以随意改动日志 配置syslogd来查看几个地方 从而得到所有的服务 你可以用syslogd的 a选项来做到 我的唯一的解决方案是确保syslogd分别和每一个服务进行chroot 我喜欢这样的解决方案 它以非root权限在自己的chroot环境(有些像网络端口)下记录日志 这也许是可行的 但我正在停止我所做的 然后寻求一个更好的解决方案 如果你不想为每一个服务都配备一个独立的syslogd 那么当你的系统运行syslogd时 请在syslogd开始时运行下面命令 syslogd a /chroot/SERVICE/dev/log 如果有ssh和dns要运行 那么看上去应该像这样 syslogd a /chroot/ssh/dev/log a /chroot/named/dev/log a /dev/log 关于syslogd 我最后想说的是 我希望它能运行在非root账户下 我试了几个简单的东西 但都没有成功 于是就放弃了 如果能让syslogd和每一个服务一起运行在非root账户下 我就会对我的安全措施感到满意了 如果可能的话 最好将日志记录到外部设备上 对 Apache 进行 Chroot 很简单 一旦我运行它 就可以执行Perl脚本 现在 我的配置文件是很长的 因为我必须在chroot环境下包括Perl和PostgreSQL函数库 有一件事要注意 如果你要连接到数据库上 请确保你的数据库服务运行在 回环设备上 并在关于DBI的Perl脚本中指定主机为 下面是我怎样把apache永久连接到一个数据库上的例子 $dbh ||= DBI >connect( dbi:Pg:dbname=DATABASE PrintError=> ); if ($dbh ) $dbh >PrintError = ; else $dbh ||= DBI >connect( dbi:Pg:dbname=DATABASE;host= PrintError=> ); 源地址: 把apache编译并安装在你系统的/usr/local/apache目录下 然后运行Perl脚本 cd /chroot # 如果你没有使用我的配置文件 请把下一行的注释去掉 # /Config_Chroot pl config d /Config_Chroot pl install d /Config_Chroot pl start d 在文件里包含以下几行: ExtendedStatus On相关参考
Linux各项系统开机服务的功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Linux在启动
Linux拨号服务快速指南 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 作者HKILL
轻松建立Linux拨号服务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PPP(Pointt
PHP监控linux服务器负载 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 由于WebServ
Linux下启动Oracle服务和监听程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 安装完
Linux下解决MySQL服务的两个基本问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使用
Linux环境MySQL服务器级优化讲解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要本节
知识大全 有关用linux作NAT服务 (代理,透明代理等)
有关用linux作NAT服务 (代理,透明代理等) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 我找到了一个服务器维护的工作,主要是Linux系统、硬件的维护,我应该掌握哪些技能,怎么发展
我找到了一个服务器维护的工作,主要是Linux系统、硬件的维护,我应该掌握哪些技能,怎么发展?有前途吗? 以下文字资料是由(本站网www.cha138.com)小编为大
知识大全 Linux下PHP删除一个目录下所有文件夹和子目录
Linux下PHP删除一个目录下所有文件夹和子目录 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!