Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

用SSL构建一个安全的Apache

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

#ldd /usr/local/apache/bin/httpd 

  将需要的库拷贝到chroot目录


#cp /lib/libm.* /chroot/lib/ 
#cp /lib/libgdbm.* /chroot/lib 
#cp /lib/libdb.* /chroot/lib 
#cp /lib/libdl.* /chroot/lib 
#cp /lib/libc.* /chroot/lib 

  拷贝网络连接所需要的函数库


#cp /lib/libnss* /chroot/lib 

  拷贝必需的/etc下的文件到chroot


#cp /etc/passwd /chroot/etc 
#cp /etc/shadow /chroot/etc 
#cp /etc/group /chroot/etc 
#cp /etc/resolv.conf /chroot/etc 
#cp /etc/hosts /chroot/etc 
#cp /etc/localtime /chroot/etc 
#cp /etc/localtime /chroot/etc 
#cp /etc/ld.so.* /chroot/etc 

  测试chroot下的阿帕奇


#chroot /chroot /usr/local/apache/bin/apachectl start 

  现在再


#chroot /chroot /usr/local/apache/bin/apachectl stop 

  服务器就停下来了,如果不行的话,再次确认是否所有需要的库都拷到了/chroot/lib下了,如果仍然无帮助的话,或者可以以strace方式运行httpd,它的输出可能会有一些有价值的内容可以帮助确定是丢失了哪些库或者二进制文件。

  然后我们可以做一些小工作了:默认情况下阿帕奇是以nobody用户及用户组运行的,不要更改它。

  在passwdshadowgroup等文件中包含了大量系统信息,所以你可以替换掉它们。

  建立一个用户名为httpd,UID为80

  建立一个组名为httpd,GID为80

  用下面的命令来将/chroot下的passwd,shadow,group替换掉


#echo "httpd:x:80:100:,,,:/home/httpd:/bin/false" > /chroot/etc/passwd 
#echo "httpd:*LK*:11010:0:99999:7:::" > /chroot/etc/shadow 
#echo "httpd:x:80:" > /chroot/etc/group 

  设定好文件的许可权限

#chmod 600 /chroot/etc/passwd shadow group 

  现在我们可以编辑apache的配置文件并进行需要的配置,文件在 /chroot/usr/local/apache/conf/httpd.conf,寻找到包含apache运行用户 及组的信息的行并改变它(approx. line 263),当然是改成httpd/httpd。

  一切运行正常后我们可以删除前面的那些服务器安装的东西——/usr/local下的, 包括服务器以及那些内建的模块等等。


#rm -rf /usr/local/apache 
#rm -rf /usr/local/mod_ssl-2.5.0-1.3.11/ 
#rm -rf /usr/local/mod_perl-1.21/ 
#rm -rf /usr/local/openssl-0.9.4/ 
#rm -rf /usr/local/rsaref 

  如果以后还想改变它们的配置,增加新的模块,那么将原先的apache留下来也行。

  将阿帕奇设定为在开机时自启动,修改/etc/rc.d/rc.local并且加入以下行:


echo "Starting Apache-SSL" 
/usr/sbin/chroot/apache/bin/apachectl startssl 

  如果一切都运行正常的话,那么恭喜你,你已经成功地运行了带SSL支持的阿帕奇了,这会使你的web server更加安全,如果你希望加入更多的模块实现其它功能的 话,自己动手吧,最后要说明的是:在chroot环境中最好只有必需的一些二进制程 序,而SUID程序还是干掉比较好些。




 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:如何在Linux下配置socks5代理   下一篇:Apache、SSL、MySQL和PHP平滑无缝地安装

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号