实现对Web服务器的SSL加密访问

SSl简介:

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

 

工作流程:

服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器回复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。

 

实验设备:Red Hat Enterprise Linux 5虚拟机、windows xp主机

 

配置步骤:

一、安装Web服务器

[root@mh3570 ~]#

[root@mh3570 ~]# mount /dev/cdrom /mnt/cdrom #建立挂载点进行光盘挂载

[root@mh3570 ~]# cd /mnt/cdrom/Server

[root@mh3570 Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm

Preparing... ########################################### [100%]

package httpd-2.2.3-31.el5.i386 is already installed

二、在Web服务器上搭建CA服务器

[root@mh3570 ~]# cd /etc/pki/ tls #进入tls目录

[root@mh3570 tls]# vim openssl.cnf #配置openssl.cnf文件

clip_p_w_picpath002[4]

clip_p_w_picpath004[4]

clip_p_w_picpath006[4]

[root@mh3570 tls]# cd ..

[root@mh3570 pki]# cd CA

[root@mh3570 CA]# mkdir crl certs newcerts #创建三个目录,两个文件

[root@mh3570 CA]# touch index.txt serial

[root@mh3570 CA]# echo "01" > serial

三、配置web服务器

[root@mh3570 ~]# mkdir -pv /etc/httpd/certs #创建放置私钥、申请、证书的目录

[root@mh3570 ~]# cd /etc/httpd/certs

[root@mh3570 certs]# openssl genrsa 1024 > httpd.key #产生私钥

[root@mh3570 certs]# openssl req -new -key httpd.key -out httpd.csr #产生申请

clip_p_w_picpath007[4]

[root@mh3570 certs]# openssl ca -in httpd.csr -out httpd.cert #产生证书

[root@mh3570 certs]# chmod 600 * #修改私钥、申请、证书的权限为除管理员外的人均不可读写和执行

[root@mh3570 certs]# ll

total 12

-rw------- 1 root root 3000 Aug 21 17:23 httpd.cert

-rw------- 1 root root 651 Aug 21 17:22 httpd.csr

-rw------- 1 root root 887 Aug 21 17:01 httpd.key

[root@mh3570 ~]# cd /mnt/cdrom/Server #安装ssl软件包

[root@mh3570 Server]# yum mod_ssl-2.2.3-31.el5.i386.rpm

[root@mh3570 Server]# cd /etc/httpd/conf.d #进httpd额外功能配置目录配置ssl文件

[root@mh3570 conf.d]# vim ssl.conf

clip_p_w_picpath009[4]

[root@mh3570 ~]# service httpd start

Starting httpd: [ OK ] #启动web服务器

 

测试:访问https://www.mh3570.com

clip_p_w_picpath011[4]

实验成功!