三.SSL
Internet是一个开放的系统。大部分的网络通信都是不安全的,就好比传统邮政中的明信片邮寄,恶意用户可以偷看明信片内容、篡改和伪造身份发送。
SSL,即Secure Socket Layer,是工作在网络层与会话层之间的协议,它在TCP/IP和HTTP之间增加了一个加密层,主要是使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用于Web Server方式。
电子商务系统中,最常用的加密协议是SSL和SET。SET是在应用层,而SSL是在会话层,对工作在HTTP协议以上的用户而言,加密是透明的。关于SSL和SET的比较,请参考其他文章。事实上,最容易实现的方案就是采用SSL,新推出的TLS也未被广泛使用。
四.Apache+SSL
好,下面将给出一些实践内容,介绍如何安装一个安全的Apache SSL Server。首先,必须保证网络和操作系统的安全性:安装了防火墙和路由器并且配置正确,操作系统已打补丁且做了安全优化,系统日志的单独存放等等。
Apache服务器本身不支持SSL,我们有很多选择可以完成Apache/SSL的合并:(1)Apache-SSL计划(http://www.apache-ssl.org),它集成了Apache服务器和SSL;(2)第三方的SSL补丁,例如Covalent Networks的Covalent SSL (http://www.covalent.com);(3)mod_ssl,它是通过可动态加载的模块mod_ssl(http://www.modssl.org)来支持SSL;(4)基于Apache并集成了SSL能力的商业Web服务器,然而使用这些商业Web服务器主要是北美,这是因为在那里SSL使用的公开密钥的算法具备专利权,例如RedHat Secure Server(http://store.redhat.com/commerce/)。
我们选择第三种方法,这样我们就使用Apache的最新版本。去三个站点下载以下软件包:
Apache:http://www.apache.org
OpenSSL:http://www.openssl.org
mod_ssl:http://www.modssl.org
下面是安装步骤:
A. 准备
解开apache、openssl和mod_ssl到/usr/local/src目录下。
B. 编译Openssl
切换到目录/usr/local/src/openssl-0.9.6:
(1)./Configure linux-elf threads