三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

为Apache增加SSL安全保护

美国、香港服务器

为Apache增加SSL安全保护

03-03   来源:

 Apache增加SSL安全保护

  & 5.1 简介

  Netscape公司提出的安全套接层(Secure Sockets Layer)的概念,简称SSL。顾名思义,这是一个建立在Socket层的安全协议,它屏蔽了高层协议如telnet、ftp、http的区别,把安全建立在了传输之上。目前该协议以被广泛采纳,它所定义的很多功能都成了下一代IP协议IPV6的一部分。

 

  & 5.2 所需资源

 

    &1.2.1 所需包

  

 1. Apache 1.3.19.tar.gz

   

下载网址: 

     http://www.tux.org/pub/net/apache/dist/apache_1.3.17.tar.gz

  

 2. openssl 0.9.6 要用他来生成密钥和签署证书

    

下载网址:

     http://www.openssl.org/source/openssl-0.9.6.tar.gz

  

 3. mod_ssl 2.8.0

    

下载网址:

     http://www.modssl.org/source/mod_ssl-2.8.0-1.3.19.tar.gz

 

    &1.2.2 安装过程

 

 1. 编译 OpenSSL:

 

cd /usr/local

tar zxvf openssl-0.9.6.tar.gz

cd /usr/local/openssl-0.9.6

./config --prefix=/usr/local/openssl

#注意,这里是 config 而不是 configure。

make

make test

make install

 

 2. 编译MOD_SSL

 

cd /usr/local

tar zxvf mod_ssl-2.8.0-1.3.19

cd /usr/local/mod_ssl-2.8.0-1.3.19

./configure --with-apache=../apache_1.3.19

 

 3. 编译apache

 

cd /usr/local

tar zxvf apache_1.3.19

cd /usr/local/apache_1.3.19

SSL_BASE=../openssl-0.9.6 \

./configure --prefix=/usr/local/apache_1.3.19 \

--enable-module=ssl \

--enable-shared=ssl

make

 

4.生成CA

 

make certificate TYPE=custom

说明:这一步要生成你自己的 CA (如果你不知道,我也不能细说了,简单地说就是认证中心),和用它来为你的服务器签署证书。

STEP 0:

选择算法,使用缺省的 RSA

 

STEP 1:

生成 ca.key,CA的私人密钥

 

STEP 2:

CA生成X.509的认证请求 ca.csr

要输入一些信息:

Country Name: cn 国家代码,两个字母

State or Provice name: An Hui 省份

Locality Name: Bengbu 城市名

Organization Name: Home CA 组织名,随便写吧

Organization Unit Name: Mine CA

Common Name: Mine CA

Email Address: sunstorm@263.net 我的Email

Certificate Validity: 4096 四千多天,够了吧

 

STEP 3:

生成CA的签名,ca.crt

 

STEP 4:

生成服务器的私人密钥,server.key

 

STEP 5:

生成服务器的认证请求,server.csr

要输入一些信息,和STEP 2类似,

不过注意 Common Name是你的网站域名,如 www.mydomain.com

Certificate Validity不要太大,365就可以了。

 

STEP 6:

为你的服务器签名,得到server.crt

 

STEP 7-8:

为你的 ca.key 和 server.key 加密,要记住pass phrase。

下面完成apache的安装

make install

vi /usr/local/apache/conf/httpd.conf

修改BindAddress 和 ServerName

如果要改变 DocumentRoot 要记得把httpd.conf里SSL Virtual Host Context部分的DocumentRoot设定也改掉。

SSLCertificateFile和SSLCertificatKeyFile的设定也在SSL Virtual Host Context部分。

它可能是这样设定的:

SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt

SSLCertificateKeyFile /usr/local/apache_1.3.19/conf/ssl.key/server.key

  要注意ssl.key ssl.crt等目录和文件的权限!

  所有的key,csr,crt,prm文件都应该设为 400 属性!

& 5.3 手工签署证书

  虽然在安装MOD_SSL时已经使用 make certificate 命令建立了服务器的证书签名,但是有时你可能需要改变它。

 

  当然有很多自动的脚本可以实现它,但是最可靠的方法是手工签署证书。首先我假定你已经安装好了openssl和MOD_SSL,如果你的

   openssl安装时的prefix设置为/usr/local/openssl,那么把/usr/local/openssl/bin加入执行文件查找路径。还需要MOD_SSL源代码中的一个脚本,它在MOD_SSL的源代码目录树下的pkg.contrib目录中,文件名为 sign.sh。将它拷贝到 /usr/local/openssl/bin 中。

 

  先建立一个 CA 的证书,

首先为 CA 创建一个 RSA 私用密钥,

[S-1]

openssl genrsa -des3 -out ca.key 1024

系统提示输入 PEM pass phrase,也就是密码,输入后牢记它。

生成 ca.key 文件,将文件属性改为400,并放在安全的地方。

[S-2]

chmod 400 ca.key

你可以用下列命令查看它的内容,

[S-3]

openssl rsa -noout -text -in ca.key

利用 CA 的 RSA 密钥创建一个自签署的 CA 证书(X.509结构)

[S-4]

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

然后需要输入下列信息:

Country Name: cn 两个字母的国家代号

State or Province Name: An Hui 省份名称

Locality Name: Bengbu 城市名称

Organization Name: Family Network 公司名称

Organizational Unit Name: Home 部门名称

Common Name: Chen Yang 你的姓名

Email Address: sunstorm@263.net Email地址

生成 ca.crt 文件,将文件属性改为400,并放在安全的地方。

[S-5]

chmod 400 ca.crt

你可以用下列命令查看它的内容,

[S-6]

openssl x509 -noout -text -in ca.crt

下面要创建服务器证书签署请求,

首先为你的 Apache 创建一个 RSA 私用密钥:

[S-7]

openssl genrsa -des3 -out server.key 1024

这里也要设定pass phrase。

生成 server.key 文件,将文件属性改为400,并放在安全的地方。

[S-8]

chmod 400 server.key

你可以用下列命令查看它的内容,

[S-9]

openssl rsa -noout -text -in server.key

server.key 生成证书签署请求 CSR.

[S-10]

openssl req -new -key server.key -out server.csr

这里也要输入一些信息,和[S-4]中的内容类似。

至于 extra attributes 不用输入。

你可以查看 CSR 的细节

[S-11]

openssl req -noout -text -in server.csr

下面可以签署证书了,需要用到脚本 sign.sh

[S-12]

sign.sh server.csr

就可以得到server.crt。

将文件属性改为400,并放在安全的地方。

[S-13]

chmod 400 server.crt

删除CSR

[S-14]

rm server.csr

 

最后apache设置

如果你的apache编译参数prefix为/usr/local/apache,

那么拷贝server.crt 和 server.key 到 /usr/local/apache/conf

修改httpd.conf

将下面的参数改为:

SSLCertificateFILE /usr/local/apache/conf/server.crt

SSLCertificateKeyFile /usr/local/apache/conf/server.key

可以 apachectl startssl 试一下了。

 

  & 5.4 测试及管理办法

cd /usr/local/apache_1.3.19

bin/apachectl startssl

提示输入pass phrase(就是你前面输入的,不知道你还记不记得)

输入后就启动了一个支持SSL的apache

IE里输入https://192.168.0.1/ 试试,注意是https而不是http!

 

  & 5.5 小结

  用电子认证服务器,可以进行公共密钥认证的管理、签署和废止。她使用的是X.509标准。

       使用电子认证服务器,就可以自己管理公共密钥的认证,而不用依赖国外的CA服务中心。我们建立一个认证服务中心,就是为了能在我们的中国多媒体公众信息网上使用电子认证,以保证重要信息的安全。同时扩展该网的应用范围,把它建设成一个高速有效的企业单位联网平台。 

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:SVN服务器配置(svn1.4.6+apache2.2.8 no ssl) 下一篇:Linux下Apache、php3、MySQL的整合

美国GIA服务器三二互联版权所有 WWW.222.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)