用SSL构建一个安全的Apache_第1页
用SSL构建一个安全的Apache_第2页
用SSL构建一个安全的Apache_第3页
用SSL构建一个安全的Apache_第4页
用SSL构建一个安全的Apache_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页用SSL构建一个安全的Apache

#;src/include/httpd.h

寻找下面的行(approx.454)并且改变server的名字及版本号——可以随便用你想改成的东西。

defineSERVER_BASEVERSION"Apache/1.3.11"

现在你可以编译阿帕奇了

#make

现在你可以生成一个CA了(actualcertificate).

#makecertificate

按照该授权书的安装介绍做。

#makeinstall

这将会把阿帕奇装在/usr/local/apache。

测试webserver(还没装SSL)是否运行正常调用webserver:

/usr/local/apache/bin/apachectlstart

当WEB服务器运行起来后,你可以用lynx或者任意什么浏览器连接你的80端口,如果能看到apache的欢迎页,就OK了。

停止server:

/usr/local/apache/bin/apachectlstop

测试webserver(同时起SSL)-调用带SSL的WEB服务器

/usr/local/apache/bin/apachectlstartssl

服务器运行时你用Netscape或者其它支持SSL的浏览器来看https://your.ip.here,看到欢迎页了么?

要停止SERVER:

/usr/local/apache/bin/apachectlstop

六、阿帕奇的配置

现在我们可以来看看阿帕奇的配置文件了——需要记住的是如果你对它做了更改,在未重新启动httpd守护进程前,它是不会发生作用的。好,现在我们可以进目录

/usr/local/apache/conf看看了。

httpd.conf-

这是阿帕奇的主要配置文件,你可以在这里设定服务器启动时的基本环境,比如服务器的启动方式、端口号、允许的最多连接数等等,这一文件的解释非常详细,要看明白应该没什么问题。

access.conf-

这一文件是设定系统中的存取方式和环境的,但现在已经可以在httpd.conf中设定了,所以推荐你别动它,放空好了。

srm.conf-

这家伙主要做的是资源上的设定,你也可以放空,仅仅设定httpd.conf中的相关项。

现在重启webserver来使改动生效:

#/usr/local/apache/bin/apachectlrestart

七、将阿帕奇设定在chroot环境下

现在我们开始把刚才建立的东西移到chroot环境下——包括阿帕奇服务器以及所有需要的库文件。当然如前面所说的,这部份是可选的,如果你怕麻烦的话就算了,但转移后可以对你的webserver多一个可靠的保护。

建立/chroot目录

#mkdir/chroot

建立一些必需的子目录

#mkdir/chroot/dev

#mkdir/chroot/lib

#mkdir/chroot/etc

#mkdir/chroot/bin

#mkdir/chroot/usr

#mkdir/chroot/usr/local

在我们的chroot建立/dev/null

#mknod-m666/chroot/dev/nullc13

将阿帕奇拷贝到/chroot目录中

#cp-rp/usr/local/apache//chroot/usr/local

拷贝必需的二进制文件

#cp/bin/sh/chroot/bin

确定哪些库是必需的——这取决于你编译时内建了哪些模块

#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/apachectlstart

现在再

#chroot/chroot/usr/local/apache/bin/apachectlstop

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

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

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

建立一个用户名为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

设定好文件的许可权限

#chmod600/chroot/etc/passwdshadowgroup

现在我们可以编辑apache的配置文件并进行需要的配置,文件在/chroot/usr/local/apache/conf/httpd.conf,寻找到包含apache运行用户及组的信息的行并改变它(approx.line263),当然是改成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"StartingApache-SSL"

/usr/sbin/chroot/apache/bin/apachectlstartssl

如果一切都运行正常的话,那么恭喜你,你已经成功地运行了带SSL支持

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论