目录
HTTPS简介
HTTP与HTTPS的区别
CA证书
案例
服务器生成私钥与证书
查看证书和私钥存放路径
Cockpit(图像化服务管理工具)
HTTPS简介
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol 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传输层安全协议)。
SSL协议分为两层:
SSL记录协议 (SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能。
SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议提供的服务:
(1)认证用户和服务器,确保数据发送到正确的客户机和服务器
(2)加密数据以防止数据中途被窃取
(3)维护数据的完整性,确保数据在传输过程中不被改变
HTTP与HTTPS的区别
CA证书
CA(Certificate Authority,证书授权)是由认证机构服务者签发,是数字签名的技术基础保障,也是网上实体身份的证明,能够证明某一实体的身份及其公钥的合法性,证明该实体与公钥二者之间的匹配关系。
证书是公钥的载体,证书上的公钥与实体身份相绑定。现,一个是签名证书行的PKI机制一般为双证书机制,即一个实体应具有两个证书、两个密钥对,其中一个是加密证书,一个是签名证书,而加密证书原则上是不能用于签名的。
在电子商务系统中,所有实体的证书都是由证书授权中心即CA中心颁发并签名的。一个完整的、安全的电子商务系统必须建立一个完整的、合理的CA体系。CA体系由证书审批部门和证书操作部门组成。
认证CA证书的过程,私钥加密,公钥解密
案例
服务器生成私钥与证书
[root@Server conf.d]# yum install mod_ssl
[root@Server conf.d]# rpm -ql mod_ssl
/etc/httpd/conf.d/ssl.conf ---ssl配置文件
查看证书和私钥存放路径
[root@Server conf.d]# vim ssl.conf
SSLCertificateFile /etc/pki/tls/certs/localhost.crt --证书存放路径
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key --私钥存放路径
在虚拟机标签内添加证书和私钥路径,并指定为443端口
[root@Server ~]# vim /etc/httpd/conf.d/vhosts.conf
<VirtualHost 192.168.221.135:443>
DocumentRoot /www/private
ServerName 192.168.221.135
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/openlab.crt
SSLCertificateKeyFile /etc/pki/tls/private/openlab.key
</VirtualHost>
[root@Server ~]# mkdir /www/private
[root@Server ~]# echo 我是私密的 > /www/private/index.html
[root@Server conf.d]# openssl req -newkey rsa:4096 -keyout /etc/pki/tls/private/openlab.key -x509 -days 365 -out /etc/pki/tls/certs/openlab.crt
...........+..+.+...............+.....+............+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.........+...+......+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*................+.........+..+.+..+............+.+........+.......+.........+........+...+.......+....................+.+...........+.+..+.......+...........+........................+.............+......+...............+.........+..+.+..+.............+..+......+.+........................+..+...+......+.......................................+.+...+..................+...+..+...............+..........+.....+..........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
......+.+..+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*...+.+.....+....+..+.........+......+....+...+..+......+....+...+........+...+.......+........+.........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.+........+.+.....+.+...+.....+......+......+.........+......+.+.................+.......+.....+.........+...............................+........+...+............+............+......+...+.+......+.........+.....+.............+......+..+.......+........+..........+..+.+............+...+..............+...+....+...+........+...+....+..+.............+........+.........+..................+...+.......+..+.+..+.+............+...+.........+..................+...+.........+........+.........+......+....+......+.....+....+.....+...+................+......+..........................+...+.......+..+...+....+.......................+...+...+................+.....+...+..........................................+....+.........+.....+...+..................+..........+...........+....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:86
State or Province Name (full name) []:guangxi
Locality Name (eg, city) [Default City]:wu'zhou
Organization Name (eg, company) [Default Company Ltd]:openlab
Organizational Unit Name (eg, section) []:ce
Common Name (eg, your name or your server's hostname) []:Server
Email Address []:admin@admin.com
[root@Server conf.d]# systemctl restart httpd --重启服务
🔐 Enter TLS private key passphrase for 192.168.221.135:443 (RSA) : ******
Cockpit(图像化服务管理工具)
Cockpit 是红帽开发的网页版图像化服务管理工具,优点是无需中间层,且可以管理多种服务。
[root@Server conf.d]# yum install cockpit
[root@Server conf.d]# systemctl restart cockpit
#端口9090