📄 1082.html
字号:
./Config_Chroot.pl install httpd <br>
./Config_Chroot.pl start httpd <br>
<br>
在httpd.conf文件里包含以下几行: <br>
ExtendedStatus On <br>
<br>
<Location /server-status> <br>
SetHandler server-status <br>
Order deny,allow <br>
Deny from all <br>
Allow from 127.0.0.1 <br>
</Location> <br>
<br>
<Location /server-info> <br>
SetHandler server-info <br>
Order deny,allow <br>
Deny from all <br>
Allow from 127.0.0.1 <br>
</Location> <br>
<br>
<br>
然后,在你的浏览器里输入 http://127.0.0.1/server-status 或 <br>
http://127.0.0.1/server-info 并检查! <br>
<br>
<br>
对 Ssh 进行 Chroot <br>
<br>
首先,如果把ssh从端口22重定向到2222就理想了。然后,当你启动ssh时, <br>
让它在一个非root账户下监听2222端口。在初始化ssh连接时,我们只想让有密码的安全账户连进来,但不做其他任何事情。 <br>
在他们登录之后,运行在端口127.0.0.1:2222 的第二个ssh程序让它们连接到真正的系统 -- 这第二个ssh程序应该只在回环设备上监听。 <br>
这才是你应该做的。现在我们不打算去做。我们要做的唯一的事情是以这个chroot的ssh做个例子。 <br>
上面提到的一个练习就请读者自己完成:让sshd运行在非root账户下,再安装第二个监听回环设备的sshd以使人们连进真正的系统。 <br>
<br>
此外,我们只要把ssh进行chroot并让你看一看那样做的结果(如果你只做了这些,你不必观察整个系统)。 <br>
当然,如果能把日志记录在外部设备上就更好了。我们应该用OpenSSH,但为了方便(这好像不是一个好的借口),我用的是一个商业的SSH。 <br>
<br>
<br>
源地址: {http://www.ssh.com/products/ssh/download.cfm } <br>
<br>
<br>
<br>
在/usr/local/ssh_chroot下安装ssh并运行脚本。 <br>
<br>
<br>
cd /chroot <br>
# 如果你没有使用我的配置文件,请把下一行的注释去掉。 <br>
# ./Config_Chroot.pl config sshd <br>
./Config_Chroot.pl install sshd <br>
./Config_Chroot.pl start sshd <br>
<br>
我觉得把ssh放在chroot环境下的一个真正有益的事情是,如果你用它代替ftp服务器,人们在你的区域里就只有有限的权限。 <br>
Rsync 和 SCP 在人们上传文件时运行得非常好。我不是很喜欢建立ftp服务器让人们登录。很多ftp服务器都运行在chroot环境下, <br>
但我不喜欢他们仍旧传送明文密码。 <br>
<br>
<br>
把 PostSQL 进行 Chroot <br>
<br>
这几乎和perl一样简单,除了它需要一些额外的函数库。总的来说,这并不难做。 <br>
我必须做的一件事是把PostgreSQL放在网络上,但仅仅是放在回环设备上。因为它是被chroot了的, <br>
所以其他已经chroot了的服务是不能和它接触的,就像web服务器 apache 一样。 <br>
我把Perl编译进PostgreSQL里去了,因此我必须在我的配置文件里加很多Perl的东西。 <br>
<br>
源代码: href="ftp://ftp.us.postgresql.org/source/v7.1.3/postgresql-7.1.3.tar.gz">ftp://ftp.us.postgresql.org/source/v7.1.3/postgresql-7.1.3.tar.gz <br>
<br>
<br>
<br>
把apache编译并安装在你系统里的/usr/local/postgres目录下。然后运行Perl脚本。 <br>
<br>
<br>
cd /chroot <br>
# 如果你没有使用我的配置文件,请把下一行的注释去掉。 <br>
# ./Config_Chroot.pl config postgres <br>
./Config_Chroot.pl install postgres <br>
./Config_Chroot.pl start postgres <br>
<br>
<br>
<br>
<br>
把 Sendmail 进行 Chroot <br>
<br>
请执行我的Perl脚本。 <br>
cd /chroot <br>
# 如果你没有使用我的配置文件,请把下一行的注释去掉。 <br>
# ./Config_Chroot.pl config sendmail <br>
./Config_Chroot.pl install sendmail <br>
./Config_Chroot.pl start sendmail <br>
<br>
现在你发现什么了?是的,他仍旧以root账户运行。而且,当sendmail启动的时候,程序/etc/rc.d/init.d/sendmail会重新建立一些文件。 <br>
我的脚本并没有解决这个问题。无论何时,如果你在/etc/mail下做了任何改动,请把改动过的文件拷贝到/chroot/sendmail/etc目录下。 <br>
你还必须把/var/spool/mail指向/chroot/sendmail/var/spool/mail,以使sendmail程序和用户(当他们登录进来的时候)看到的是相同的文件。 <br>
<br>
好在你随时可以发送邮件,当你收信的时候才会出问题。因此,我可以把sendmail和apache一起安装而不出问题。 <br>
我的一些Perl脚本会向外发送邮件,所以我要把sendmail程序拷贝到apache的chroot环境下。 <br>
<br>
<br>
<br>
关于 Chroot 的其他一些事情。 <br>
<br>
下面是我的观点: <br>
<br>
<br>
<br>
你的机器上包括sendmail, ssh, apache, <br>
postgresql, syslog在内的所有服务都必须运行在chroot环境下。 <br>
<br>
每一个服务都必须以非root账户运行(你也许需要把已受保护的端口重定向到未受保护得端口。这包括sendmail和syslog。 <br>
<br>
日志应该远离现场。 <br>
<br>
对每一个服务都实行磁盘配额,以限制入侵者所能占用的磁盘。当磁盘已写满时,你应该在回环设备上为某些服务安装文件系统。 <br>
<br>
所有不需改动的文件的拥有者应该是root账户。 <br>
现在,说到sendmail和syslogd,我仍然认为他们不应运行在root账户下。 <br>
对于sendmail,这也许是可能的,但我发现让它运行在非root账户下是极其困难的,至少我还没有成功过。 <br>
我想,sendmail不能运行在非root账户下应是一个很严重的错误。虽然我知道让它运行在非root账户下很困难, <br>
但我认为所有的困难都是可以解决的。只要解决了文件的许可权问题,我觉得sendmail是不必以root权限运行的。 <br>
我肯定是忽略了什么东西,我不相信这些障碍是不可征服的。 <br>
<br>
至于syslog,我还没有试过,但我认为应该以非root账户去记录日志,我想这应该是可行的。 <br>
至少我可以为每一个服务在chroot的环境下记录日志。 <br>
<br>
<br>
所有的服务都要运行在非root账户下,甚至是NFS。请记住,是所有的服务。 <br>
<br>
<br>
<br>
建议 <br>
<br>
<br>
<br>
<br>
<br>
请运行两个sshd守护进程,并进行二次登录。 <br>
<br>
设法使sendmail或其他邮件程序运行在非root账户下。 <br>
<br>
删掉/lib下不需要的函数库。我只是拷了我需要的函数库在上面。其实你不需要其中的大部分。 <br>
<br>
请用syslogd进行远程日志记录,看看我们是否能让syslogd连接到网络端口上并得到运行在回环设备网络端口上的所有服务的日志。 <br>
看看能否使syslogd运行在非root账户下。 <br>
<br>
<br>
<br>
<br>
结论 <br>
<br>
<br>
我觉得对所有的服务来说chroot都是那么酷,我想,不能让所有的服务都运行在非root账户的chroot环境下应该是个很大的错误。 <br>
我希望主要的发行版应该做到这一点,当然,也希望其它发行版做到。Mandrake 以兼容 RedHat 起家并发展,因此,人们可以仿效 Mandrake , <br>
在其他人的基础上对chroot进行扩展。我认为这是可行的,因为在GNU/Linux里,没有什么会阻止你重做其他人的工作。 <br>
如果某个公司想chroot所有服务并为人们创建了一套容易管理chroot了的服务的环境,那么它就拥有了一个理想的发行版。 <br>
记住,Linux正趋向主流,人们不想再看见命令行,因此如果每件事都可以在gui的环境下去做,人们就不需要了解内部的构造, <br>
并且不需要知道到底是什么在运行,他们只要能配置并知道这是行之有效的就行了。 <br>
<br>
我绝对支持让所有服务都运行在非root权限的chroot的环境下,任何不能做到这一点的发行版,我都不会考虑在生产环境中使用它。 <br>
我正使所有的服务都运行在chroot环境下,尽我的可能使越来越多的东西这样运行 -- 最终,我会达到我的理想。 <br>
<br>
<br>
我打算为chroot写一个HOWTO。我正发送请求,希望某个人能够把我这篇文章转换成LyX格式,以便它可以放到Linux得HOWTO上。
</FONT><br>
</TD>
</TR>
<TR>
<TD colSpan=2><FONT
class=middlefont></FONT><BR>
<FONT
class=normalfont>全文结束</FONT> </TD>
</TR>
<TR>
<TD background="images/dot.gif" tppabs="http://www.linuxhero.com/docs/images/dot.gif" colSpan=2
height=10></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></TD>
<TD vAlign=top width="20%"
background="images/line.gif" tppabs="http://www.linuxhero.com/docs/images/line.gif" rowSpan=2>
<DIV align=center>
<table class=tableoutline cellspacing=1 cellpadding=4
width="100%" align=center border=0>
<tr class=firstalt>
<td noWrap background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colspan=2 height=21>
<font class=normalfont><b>所有分类</b></font></td>
</tr>
<tr class=secondalt> <td noWrap width=27%> <font class=normalfont>1:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type1.html" tppabs="http://www.linuxhero.com/docs/type1.html">非技术类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>2:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type2.html" tppabs="http://www.linuxhero.com/docs/type2.html">基础知识</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>3:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type3.html" tppabs="http://www.linuxhero.com/docs/type3.html">指令大全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>4:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type4.html" tppabs="http://www.linuxhero.com/docs/type4.html">shell</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>5:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>6:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type6.html" tppabs="http://www.linuxhero.com/docs/type6.html">xwindow</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>7:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type7.html" tppabs="http://www.linuxhero.com/docs/type7.html">kde</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>8:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type8.html" tppabs="http://www.linuxhero.com/docs/type8.html">gnome</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>9:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type9.html" tppabs="http://www.linuxhero.com/docs/type9.html">输入法类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>10:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type10.html" tppabs="http://www.linuxhero.com/docs/type10.html">美化汉化</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>11:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type11.html" tppabs="http://www.linuxhero.com/docs/type11.html">网络配置</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>12:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type12.html" tppabs="http://www.linuxhero.com/docs/type12.html">存储备份</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>13:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type13.html" tppabs="http://www.linuxhero.com/docs/type13.html">杂项工具</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>14:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type14.html" tppabs="http://www.linuxhero.com/docs/type14.html">编程技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>15:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type15.html" tppabs="http://www.linuxhero.com/docs/type15.html">网络安全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>16:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type16.html" tppabs="http://www.linuxhero.com/docs/type16.html">内核技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>17:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type17.html" tppabs="http://www.linuxhero.com/docs/type17.html">速度优化</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>18:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type18.html" tppabs="http://www.linuxhero.com/docs/type18.html">apache</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>19:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type19.html" tppabs="http://www.linuxhero.com/docs/type19.html">email</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>20:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type20.html" tppabs="http://www.linuxhero.com/docs/type20.html">ftp服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>21:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type21.html" tppabs="http://www.linuxhero.com/docs/type21.html">cvs服务</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>22:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type22.html" tppabs="http://www.linuxhero.com/docs/type22.html">代理服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>23:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type23.html" tppabs="http://www.linuxhero.com/docs/type23.html">samba</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>24:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type24.html" tppabs="http://www.linuxhero.com/docs/type24.html">域名服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>25:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type25.html" tppabs="http://www.linuxhero.com/docs/type25.html">网络过滤</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>26:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type26.html" tppabs="http://www.linuxhero.com/docs/type26.html">其他服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>27:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type27.html" tppabs="http://www.linuxhero.com/docs/type27.html">nfs</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>28:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type28.html" tppabs="http://www.linuxhero.com/docs/type28.html">oracle</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>29:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type29.html" tppabs="http://www.linuxhero.com/docs/type29.html">dhcp</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>30:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type30.html" tppabs="http://www.linuxhero.com/docs/type30.html">mysql</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>31:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type31.html" tppabs="http://www.linuxhero.com/docs/type31.html">php</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>32:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type32.html" tppabs="http://www.linuxhero.com/docs/type32.html">ldap</a></font></td> </tr> </table></td></tr> </table>
</DIV></TD></TR>
<TR vAlign=top>
<TD width="80%">
<DIV align=center><BR>
</DIV>
</TD></TR></TBODY></TABLE></TD></TR>
</TABLE></TD></TR>
</TABLE>
<TABLE cellSpacing=0 cellPadding=4 width="100%" bgColor=#eeeeee
border=0><TBODY>
<TR>
<TD width="50%">
<P><FONT class=middlefont>版权所有 © 2004 <A
href="mailto:bjchenxu@sina.com">linux知识宝库</A><BR>
违者必究. </FONT></P>
</TD>
<TD width="50%">
<DIV align=right><FONT class=middlefont>Powered by: <A
href="mailto:bjchenxu@sina.com">Linux知识宝库</A> Version 0.9.0 </FONT></DIV>
</TD></TR></TBODY></TABLE>
<CENTER></CENTER></TD></TR>
</TABLE></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -