实现对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文件
[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 #产生申请
[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
[root@mh3570 ~]# service httpd start
Starting httpd: [ OK ] #启动web服务器
实验成功!
转载于:https://blog.51cto.com/mh3570/970065