13703353520(同微信) 周一~周五, 8:00 - 20:00
QQ:25681881或25295110 邮箱:qhdzxz@163.com
易得优软件 河北•秦皇岛
  • 站群系统

    自主建站,易得优自主建站站群系统

  • 易得优餐饮库管系统

    十七年专注开发

  • 易得优智能工控

    智能工控,易得优是认真的

  • 音乐打铃播放无需电脑

    易得优音乐打铃系统无电脑版

HTTPS安全网站的搭建《网络安全和信息化》2019年第9期

    时间:2019-09-19 15:51:11     人气:3728


本文刊发于《网络安全和信息化》2019年第9期

        HTTPS(全称:Hyper Text Transfer Protocol overSecure Socket Layer 或 Hypertext Transfer ProtocolSecure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即在HTTP下加入SSL层,HTTPS的安全基础是SSL。https是一个URI scheme(抽象标识符体系),句法类同http体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

       那么我们可以这样理解:网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可能会被运营商劫持,然后在网站里显示一些莫名其妙的广告。有HTTPS的时候,通俗地讲所有的数据传输都会被加密,你和网站之间的数据交流也就更加安全。


9.jpg


   一、申请CA证书:

   如果要启用HTTPS,我们就需要从证书授权机构处获取一个证书,便宜SSL是一家国内的SSL证书提供商,从https://www.pianyissl.com/#/order/buy  就可以申请拥有免费证书。登录后,选择“体验版单域名SSL”的”免费测试”,根据提示操作并通过验证即可。


   二、 获取服务器证书文件

       下载证书ZIP压缩包,会得到多个证书,包括:IIS、Apache、Tomcat、Nginx等多种WEB服务器的证书。

 

   三、搭建HTTPS安全网站。


   1、Windows IIS7/8安装


   1)将证书压缩包后解压,找到压缩后的目录里的“/IIS/”目录下的server.pfx文件,放到服务器中。

   2)进入IIS管理控制台的服务器证书管理页面,右键选择“导入”,选择server.pfx文件,并输入密钥文件保护密码(即IIS/目录下的password.txt中的密码内容),并勾选“标志此密钥为可导出”,否则有些情况可能会无法完成证书安装。。

   3)选中需要配置证书的站点,并选择右侧“编辑站点”下的“绑定” ,选中您刚才安装的服务器证书文件,配置默认的https访问端口443,重启IIS并使用https方式访问测试站点证书安装。(一定保证防火墙允许443端口)。

   4)重启动IIS后即可以https方式访问此网站了。


2、Nginx 安装服务器证书

   复制 server.key、server.crt 文件到 Nginx 安装目录下的 conf 目录。

       打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件

       找到如止下内容:

#HTTPS server

 #

 #server {

 #listen 443;

 #server_name localhost;

 #ssl on;

 #ssl_certificate cert.crt;

 #ssl_certificate_key cert.key;

 #ssl_session_timeout 5m;

 #ssl_protocols SSLv2 SSLv3 TLSv1;

 #ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MED IUM:+LOW:+SSLv2:+EXP;

 #ssl_prefer_server_ciphers on;

 #location / {

 #root html;

 #index index.html index.htm;

 # }

 #}

将其修改为

server {

 listen 443;

 server_name localhost;

 sslon;

 ssl_certificate server.crt;

 ssl_certificate_key server.key;

 ssl_session_timeout 5m;

 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

 ssl_ciphersECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;

 ssl_prefer_server_ciphers on;

 location / {

 roothtml;

 index index.html index.htm;

 }

 }

   保存退出,并重启 Nginx。

   通过 https 方式访问您的站点,测试站点证书的安装配置。


        3. Apache 2.2.* 的配置

   打开apache安装目录下conf目录中的httpd.conf文件,找到

   #LoadModule ssl_module modules/mod_ssl.so

   #Include conf/extra/httpd-ssl.conf

   删除行首的配置语句注释符号“#” ,保存退出。

       打开apache安装目录下conf/extra目录中的httpd-ssl.conf文件 ,在配置文件中查找以下配置语句

   SSLCertificateFile conf/ssl.crt/server.crt     #将服务器证书配置到该路径下

   SSLCertificateKeyFile conf/ssl.key/server.key   #将服务器证书私钥配置到该路径下

   #SSLCertificateChainFile conf/ssl.crt/ca.crt 删除行首的“#”号注释符,并将CA证书 ca.crt配置到该路径下,保存退出,并重启Apache。


   另外,建议在httpd-ssl.conf里进行如下操作:

   1). 添加SSL 协议支持语句,关闭不安全的协议和加密套件:

   SSLProtocol all -SSLv2 -SSLv3

   2).修改加密套件如下:

   SSLCipherSuiteAESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;


   4.Tomcat SSL证书配置

   请准备好.jks文件 定位到tomcat的安装目录,找到conf下的server.xml文件,找到相应的代码,按照您服务器实际情况修改配置文件:

<Connector port="443" protocol="HTTP/1.1"SSLEnabled="true"

           maxThreads="150" scheme="https"secure="true"

           clientAuth="false" sslProtocol="TLS"

keystoreFile="keystore.jks"

 keystorePass="password.txt中的密码内容"

ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"

/>


   5、phpStudy环境如何安装SSL

   修改apache目录下的httpd.conf配置文件。

   #LoadModule ssl_module modules/mod_ssl.so  #删除行首的配置语句注释符号“#”。

   #Include extra/httpd-ssl.conf  #将这行的注释的“#”去掉

   编辑extra/httpd-ssl.conf文件,修改如下内容:

ServerName 后面改成你的网站域名,可以不带端口号

DocumentRoot后面改成网站路径

SSLCertificateFile 后面改成server.crt文件路径

SSLCertificateKeyFile 后面改成server.key文件路径

SSLCertificateChainFile 后面改成ca.crt文件路径

ErrorLog 这行开头的可以注释掉(前面加#号)

TransferLog 这行开头的可以注释掉(前面加#号)

CustomLog 这行开头的可以注释掉(前面加#号)

phpstudy配置指定路径访问https(此步可以不做)。

RewriteEngine on

RewriteCond %{REQUEST_URI} /homework

RewriteRule^(.*)?$ https://%{SERVER_NAME}$1[L,R]

保存退出,并重启Apache。