采用 mod_ssl 让 Apache 更加安全

由 徐永久 发表于 2002年05月11日 16:12。

今天的电子商务对数据的可靠性提出更高的要求,对数据的保护工作也同样重要。采用 mod_ssl 模块来实现 SSL 协议,能有效提高稳定性,安全性。

业界加密 TCP/IP 网络产品的标准是 SSL ,对于 Internet 上普遍使用的超文本传输协议(HTTP)而言,其加密后的协议称为 HTTPS,缺省采用 443 端口。

HTTPS 数据是加密以后传输的,因此能有效保护在网络上传输的个人隐私信息。

本文将一步一步介绍 mod_ssl 和 Apache 的结合。

第一步:下载所需的软件并解开到 /usr/local/src 目录

Apache 1.3.24
Mod_ssl 2.8.8-1.3.24
Openssl-0.9.6c

每个 mod_ssl 的版本和特定的 Apache 版本有关,因此要下载相对应的 mod_ssl 版本。

第二步:编译和安装

安装 OpenSSL 到 /usr/local/ssl:
# pwd
/usr/local/src/openssl-0.9.6c
# ./config
# make
# make test
# make install

安装 mod_ssl,编译进 Apache 的源码树:
# pwd
/usr/local/src/mod_ssl-2.8.8-1.3.24
# ./configure –with-apache=/usr/local/src/apache_1.3.24 \
–with-ssl=/usr/local/ssl

以 DSO 方式编译 Apache:
# pwd
/usr/local/src/apache_1.3.24
# ./configure –prefix=/usr/local/apache –enable-rule=SHARED_CORE \
–enable-module=ssl –enable-shared=ssl
# make

创建 SSL 证书
在生产环境中,证书需要从商业的认证权威机构或者从内部的 CA 得到。
执行下面的步骤生成假证书:

# pwd
/usr/local/src/apache_1.3.24
# make certificate TYPE=custom

生成证书时会提示两遍下面的信息:<> 内为示范数据。

第一遍:

Country Name (2-letters)
State or Province Name
Locality Name
Organization Name
Organizational Unit Name
Common Name
Email Address
Certificate Validity <365>

第一遍会产生一个假的,用于测试的 CA。”Common Name” 可以为任意文本。

第二遍:

Country Name (2-letters)
State or Province Name
Locality Name
Organization Name
Organizational Unit Name
Common Name
Email Address
Certificate Validity <365>

第二遍产生的是实际可用的证书,能被商业机构或者内部 CA 认证, “Common Name” 为 Web 服务器的主机名。

安装并运行 Apache
# pwd
/usr/local/src/apache_1.3.24
# make install

启动 Apache ,并测试

# pwd
/usr/local/apache/bin
# ./apachectl stop
# ./apachectl startssl

在浏览器上检查 http://yourdomain.com 和 https://yourdomain.com

相关文章

您可以 发表评论, 或者从您的网站trackback

发表评论

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-spam image