弋.目录
RHCE板块
欢迎来到我的博客,这里是Linux板块,配合之前RHCSA进阶,希望我的博客可以帮助到您,感谢您的阅读,有什么问题还希望一起探讨交流,感谢各位的支持,感谢!
- 使用Linux搭建一个简单的论坛
- RHCE——一、安装部署及例行性工作
- RHCE——二、时间服务器
- RHCE——三、远程连接服务器
- RHCE——四、Web服务器(理论篇
- RHCE——五、Web服务器及内网穿透(实验篇
- RHCE——六、基于https协议的静态网站
- RHCE——七、搭建云存储器
- RHCE——八、DNS域名解析服务器
- RHCE——九、SELinux
- RHCE——十、防火墙、iptables、firewalld
- RHCE——十一、NFS服务器
- RHCE——十二、Mysql服务
- RHCE——十三、Shell自动化运维编程基础
- RHCE——十四、变量和引用
- RHCE——十五、shell条件测试
- RHCE——十六、流程控制之条件判断、循环
- RHCE——十七、文本搜索工具-grep、正则表达式
- RHCE——十八、shell编程之sed
- RHCE——十九、shell编程之awk
- RHCE——二十、Ansible及安装与配置
- RHCE——二十一、Ansible模块
一、概念解释
- 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。
- HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。
- HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext TransferProtocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道。
- HTTPS并不是一个新协议,而是HTTP+SSL(TLS)。原本HTTP先和TCP(假定传输层是TCP协议)直接通信,而加了SSL后,就变成HTTP先和SSL通信,再由SSL和TCP通信,相当于SSL被嵌在了HTTP和TCP之间
- SSL 是“Secure Sockets Layer”的缩写,中文叫做“安全套接层”。它是在上世纪90年代中期,由网景公司设计的。到了1999年,SSL 应用广泛,已经成为互联网上的事实标准。IETF 就把SSL 标准化。标准化之后SSL被改为 TLS(Transport Layer Security传输层安全协议)
1、SSL协议分为两层
- SSL记录协议 (SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能
- SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等
2、SSL协议提供的服务
- 认证用户和服务器,确保数据发送到正确的客户机和服务器
- 加密数据以防止数据中途被窃取
- 维护数据的完整性,确保数据在传输过程中不被改变
二、HTTPS安全通信机制
1、图解

2、过程
- (1)客户端(通常是浏览器)向服务端发送加密通信的请求,然后连接到服务端的443端口,这被叫做ClientHello请求,客户端主要向服务器提供以下信息
- 支持的协议版本,比如TLS 1.0版。
- 一个客户端生成的随机数1,稍后用于生成"会话密钥"。
- 支持的加密方法,比如RSA公钥加密。
- 支持的压缩方法。
- (2)服务端回应(SeverHello),接收到信息之后给予客户端响应握手信息,服务器的回应包含以下内容:
- 确认使用的加密通信协议版本,比如TLS 1.0版本,。如果浏览器与服务器支持的版本不一致,服务器关闭加密通信。
- 一个服务器生成的随机数2,稍后用于生成"会话密钥"。
- 确认使用的加密方法,这个加密算法一定是client发送给server加密算法的子集,比如RSA公钥加密
- 服务器证书:可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面,传送的证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间、服务端的公钥,第三方证书认证机构(CA)的签名等
- 除此之外,如果服务器需要使用双向认证,就会再包含一项请求,要求客户端提供"客户端证书"。比如,金融机构往往只允许认证客户连入自己的网络,就会向正式客户提供USB密钥,里面就包含了一张客户端证书
- (3)客户端回应:客户端收到服务器回应以后进行证书解析,首先会验证证书是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机数3(预主密钥"pre-master key"),接下来是通过随机值1、随机值2和随机数3组装会话秘钥。然后通过服务器端证书的公钥加密会话秘钥,传送加密信息,内容如下:
- 一个随机数C。该随机数用服务器公钥加密,防止被窃听。
- 编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。
- 客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供服务器校验
- (4)服务器的最后回应:服务器收到客户端的第三个随机数pre-master key之后&#