您的位置:首页 > 理论基础 > 计算机网络

在linux中实现https访问web站点的配置

2012-08-24 18:51 537 查看
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。它的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

HTTPS解决的问题:

一、解决了信任主机的问题:::采用https的服务器必须从CA (Certificate Authority)申请一个用于证明服务器用途类型的证书。该证书只有用于对应的服务器的时候,客户端才信任此主机。客户通过信任该证书,从而信任了该主机。

二、解决了通讯过程中的数据的泄密和被篡改的问题:服务器和客户端之间的所有通讯,都是加密的,加密的详细内容就需要SSL

客户端通过https方式访问服务器的过程:

1.客户机通过https访问web服务器,web服务器向客户机出示自己的证书

2. 客户机验证证书的有效性,包括发证时间,发证机关,执行者标识。

3.如果客户机验证证书通过,客户机随机产生128位的key,再利用证书文件传递的public key对该随即key机进行加密。

4.加密后传送至服务器端,服务器再利用自己的public key 对加密的key进行解密,得到客户机的随机key值。

5.这时两端的key值相同,利用该key进行加密通讯。

下面我们看配置的详细过程:

开启一台linux机器作为web服务器,地址为192.168.145.100,先在web服务器上安装好httpd;

建立一个挂载点:









因为要用到yum,所以先编辑yum文件:









编辑好后,保存退出。

安装httpd软件包,建立www服务器:





在这个www服务器的机器上做个小的页面,里面内容就是“hello internet”:





编辑httpd的主配置文档:





改变328命令行,开启身份验证:





然后编辑.htaccess文件(这是个隐藏文件),是用来创建身份验证的一个文件:





添加几行命令:

验证用户文件的位置;验证的基本方式;提示语;设置只有有效账户才能访问





编辑好后保存退出;

添加登陆web的用户:





用户user1添加完成;

当再次增加一个用户是,不要再加参数 -c了,:

如果加上是 -c时,user1就会被挤掉,所以只是第一次增加用户是才加上参数 -c;





查看信息:





启动httpd服务:





完成了httpd的一系列动作,这样也可以用http服务web站点了,但是不安全,我们要用https安全访问web站点,这样我们要做CA服务器。

再创建证书CA服务器:

回到pki目录:





编辑CA的配置文件:









把原来的参数改为optional,这样外来站点可以访问CA:





更改默认值,当向CA提出申请时候,可以简单明了:





创建上面文件中提到的目录和文件:





创建序列号,并追加到serial中:





先产生CA服务器自己的私钥:

添加1024位的非对称钥匙:





把产生的私钥放在private/cakey.pem文件中:





为了安全起见去掉里面的权限:





有了钥匙,再来产生CA服务器自己的证书:

根据自己的情况填写里面的内容:





然后做WEB服务器的证书和私钥:

新建一个文件,来存放私钥和证书:





创建Web服务器的私钥:





Web服务器通过自己的私钥创建一个证书请求:





CA服务器根据请求给web服务器一个证书:









为了证书的安全性,修改证书文件的权限:





Web服务器有了证书和私钥,必须向客户端显示自己的证书,需要安装ssl模块:

回到Server目录,可以看到mod-ssl的包:





上面已经安装了yum,所以直接用yum安装mod-ssl软件包即可:





回到httpd的配置文件的目录下,可以看到一个新产生的文件ssl.conf:





编辑这个文件:





更改几个命令行,112行填上web服务器证书的存放位置;

119行web私钥位置;128行原先是注释,是个证书链,现在打开并写上证书的路径;





检测编辑的是否有语法错误:





重启httpd服务:





完成后就可以安全的访问了:

测试结果:

进入一个xp系统的客户机:

在客户端的pc中的hosts文件中加上一条信息:





然后再浏览器中打开访问的站点www.zzdx.com









输入登陆的用户和密码:





可以看到我们在web服务器上做的网页内容:





当然我们能在弹出的安全警报上看到证书的详细内容:

















这样我们完成了https访问web站点的操作;
本文出自 “网络技术之红帽” 博客,请务必保留此出处http://sf418.blog.51cto.com/5627295/972281
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: