网站安全之HTTPS部署解决方案

来源:互联网 发布:高中物理模拟软件 编辑:程序博客网 时间:2024/06/03 13:21

网站安全之HTTPS部署解决方案


What

HTTPS全称为Hypertext Transfer Protocol over Secure Socket
Layer,中文含义为“超文本传输协议在安全加密字层”,简单来说就是加密数据传输,通俗的说就是安全连接。
它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。
它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。


Why


  1. 确认网站真实性(网站身份认证):用户可以确保自己访问的不是一个钓鱼欺诈网站,增加网站的公信力(这个网站是被权威认证机构承认的)
  2. 保证信息传输的机密性:保证用户的信息不被窃取泄露(数据传输时使用一个安全的通道来保证数据安全性,机密性)
  3. 像苹果,微信小程序,Android等也在推崇使用Https,所以我们公司项目部署Https也是大势所趋

SSL


SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道

由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)

域名型SSL证书(DV SSL)

即只对域名的所有者

企业型 SSL 证书(OV SSL)

是要购买者提交组织机构资料和单位授权信等在官方注册的凭证,认证机构在签发SSL证书前不仅仅要检验域名所有权,还必须对这些资料的真实合法性进行多方查验,只有通过验证的才能颁发SSL证书。

增强型 SSL 证书(EV SSL)

与其他SSL证书一样,都是基于SSL/TLS安全协议,都是用于网站的身份验证和信息在网上的传输加密。它跟普通SSL证书的区别也是明显的,安全浏览器的地址栏变绿,如果是不受信的SSL证书则拒绝显示,如果是钓鱼网站,地址栏则会变成红色,以警示用户。

How

  • 如何申请
    1. 选择一个证书颁发机构
      这里写图片描述
  • 如何填写
    这里写图片描述
    这里写图片描述
    这里写图片描述
    点击下一步
    这里写图片描述

选择手动验证DNS

然后我们进行手动的DNS验证


  • 手动DNS验证
    • 通过解析指定的DNS记录验证您的域名所有权,指定的解析格式如下:

主机记录 –> CName记录类型 –> 记录值

例如为申请证书的域名 www.exx.com 添加一条记录类型为CNAME的DNS记录:sr5jtl1xxxxxxxmygdps.domain.com –> CNAME –> s2015xxxxxxxx.domain.com,以云解析平台为例说明如何进行操作:

  • 添加域名
    • 点击【添加域名】,输入您要解析域名的主域名exx.com,并点【确定

这里写图片描述

  • 添加解析记录
    • 点击刚添加的域名【解析】

这里写图片描述

    • 点击【添加记录】

这里写图片描述

  • 完成指定的CNAME记录添加
  • CNAME记录即将域名指向另一个域名,再由另一个域名提供ip地址:

记录类型选择为CNAME

主机记录处填子域名,比如需要添加sr5jtl1xxxxxxxmygdps.domain.com的解析,只需要在主机记录处填写sr5jtl1xxxxxxxmygdps即可,不需要填写主域名domain.com

线路类型选择默认
记录值为CNAME指向的域名,只可以填写域名,此处为s2015xxxxxxxx.domain.com,注意记录值须完整填写
TTL选择默认值10分钟即可

这里写图片描述

解析添加成功后如下:

这里写图片描述

sr5jtl1xxxxxxxmygdps.domain.com 的指向系统会定时检查,若能检测到并且与指定的值匹配,即可完成域名所有权验证。
至此就完成了域名的正常Https解析

  • 如何配置
    • 证书的获取
    • 首先到证书管理页面选择证书然后点击下载证书

Apache文件夹内获得证书文件

  1. 1_root_bundle.crt,
  2. 2_www.ezd.com_cert.crt
  3. 3_www.ezd.com.key,私钥文件

当你设置秘钥后下载的文件夹中将会出现Tomcat能使用的证书文件(Tomcat不能直接使用.crt和.key文件…这里不做细说)

其中

1_root_bundle.crt 文件包括一段证书代码 “—–BEGIN CERTIFICATE—–”和“—–END
CERTIFICATE—–”,
2_www.ezd.com_cert.crt 文件包括一段证书代码 “—–BEGIN
CERTIFICATE—–”和“—–END CERTIFICATE—–”,
3_www.ezd.com.key 文件包括一段私钥代码“—–BEGIN RSA PRIVATE
KEY—–”和“—–END RSA PRIVATE KEY—–”。

  • 证书安装

    • 编辑Apache根目录下 conf/httpd.conf 文件,找到 LoadModule ssl_module modules/mod_ssl.so 和 Include conf/extra/httpd-ssl.conf,
      去掉前面的#号注释;
  • 证书

找到Apache根目录\conf\extra下的httpd-vhosts.conf文件

这里写图片描述

编辑该文件

顶部添加

监听443端口

Listen 443

下方添加节点

<VirtualHost *:443>    DocumentRoot "d:/wamp/vhosts/www.exx.com"    ServerName www.exx.com    ServerAlias www.exx.com    SSLEngine on #开启SSL引擎    SSLCertificateFile "d:/xx/ssl/2_www.exx.com.crt" #SSL证书位置    SSLCertificateKeyFile "d:/xx/ssl/3_www.exx.com.key"#SSL秘钥位置    SSLCertificateChainFile "d:/xx/ssl/1_root_bundle.crt"#SSl证书位置    SSLProtocol  all -SSLv2 -SSLv3 #SSL协议版本    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL#SSL加密套接字<Directory "d:/wamp/vhosts/www.exx.com">   SetOutputFilter DEFLATE   Options FollowSymLinks ExecCGI   Require all granted    AllowOverride All    Order allow,deny    Allow from all    DirectoryIndex index.html index.php</Directory></VirtualHost>

Finally

重启服务器
看看你的网站是否添加Https前缀可以访问了呢?

0 0
原创粉丝点击