随着互联网巨头或中型企业全部转向https之后、关于https和http优缺点也常被人提起,那么在web线上产品中关于http的问题引起的安全问题也越来越重视。

图

查看http通讯的两个命令

windows下(win10自带)

命令:tracert

C:\Users\a364482611>tracert www.baidu.com

通过最多 30 个跃点跟踪
到 www.a.shifen.com [111.13.100.91] 的路由:

  1    <1 毫秒   <1 毫秒   <1 毫秒 A3004NS.lan [192.168.19.1]
  2     7 ms     3 ms     3 ms  100.110.0.1
  3     2 ms     2 ms     2 ms  211.136.66.217
  4     *        *        *     请求超时。
  5     3 ms     *        3 ms  211.136.66.249
  6     4 ms     3 ms     3 ms  111.13.98.174
  7     3 ms     3 ms     3 ms  111.13.98.101
  8     3 ms     2 ms     1 ms  111.13.112.49
  9     *        *        *     请求超时。
 10     2 ms     2 ms     2 ms  DESKTOP-EHCKVK4 [111.13.100.91]

跟踪完成。

linux下(需要安装)

命令:traceroute

yum -y install traceroute

============================================================================================================================================================
 Package                               Arch                              Version                                      Repository                       Size
============================================================================================================================================================
Installing:
 traceroute                            x86_64                            3:2.0.22-2.el7                               base                             59 k

Transaction Summary
===========================================================================================================================================================

Installed:
  traceroute.x86_64 3:2.0.22-2.el7                                                                                                                          

Complete!
# traceroute www.baidu.com
traceroute to www.baidu.com (103.235.46.39), 30 hops max, 60 byte packets
 1  10.27.57.1 (10.27.57.1)  1.828 ms  1.803 ms  1.935 ms
 2  103.198.146.153 (103.198.146.153)  2.015 ms  2.097 ms  2.090 ms
 3  ae8-1.r01.chwahk01.hk.bb.bgp.net (103.198.146.38)  2.783 ms  3.188 ms  3.183 ms
 4  203.131.250.213 (203.131.250.213)  3.178 ms  3.172 ms  3.166 ms
 5  ae-15.r03.tkokhk01.hk.bb.gin.ntt.net (129.250.5.162)  4.831 ms ae-6.r02.tkokhk01.hk.bb.gin.ntt.net (129.250.6.122)  4.049 ms  5.624 ms
 6  ae-1.a01.newthk03.hk.bb.gin.ntt.net (129.250.5.253)  5.618 ms ae-2.a01.newthk03.hk.bb.gin.ntt.net (129.250.6.125)  3.689 ms ae-1.a01.newthk03.hk.bb.gin.ntt.net (129.250.5.253)  3.661 ms
 7  203.131.254.138 (203.131.254.138)  6.570 ms  6.546 ms  6.247 ms
 8  103.235.45.2 (103.235.45.2)  4.673 ms  4.663 ms  4.660

* * * 代表服务没有返回相应的数据

用anyproxy软件查看并且篡改请求内容

window安装需要node.js

图

开启anyproxy并且使用浏览器代理插件

使用proxy SwitchyOmega 并且设置

anyproxy

那本地项目做演示并查看控制台

network

这里只拿anyproxy举例因为http是明文传输所以用代理软件能看见

图

请求所以带的信息

注意:如果代理或抓包工具带有map local 就可以修改我们请求和返回内容

Map Local与本地文件映射对应的叫远程映射文件映射,远程映射文件映射将路径映射到其他服务器上,而本地映射则映射到本地磁盘上。

图

Map From 设置好线上文件 A 的相关信息,Map To 里选择本地资源,请求文件 A 时,就会返回指定的本地文件。

这个意思就是http是在所经过的链路和代理服务都是在其中所传输的账号密码和内容都可能被窃听或篡改(插入广告、流量劫持、被插入XSS攻击和csrf攻击、运营商劫持、公共wifi对http内容的获取窃听)

那么如何防范?HTTPS

https是在原有的http的基础上进行了TLS(SSL)加密编程密文,这样的话经过任何设备的时候不怕被窃听。

因为中间有个证书机制

图

CA是个证书颁发机构、证书是分级别的公司、企业、个人、多域名等等。

下面是申请let’s encrypt证书步骤

CA自动申请证书脚本

curl https://get.acme.sh |sh

图

cd /root/.acme.sh/

执行命令申请(此方法是验证内容的方式)

acme.sh --issue -d test.solo365.cn --webroot /usr/local/nginx/html/test/

上面默认生成是

图

将证书部署到nginx

运行如下命令,自动将证书部署到nginx。

 acme.sh --install-cert -d solo365.cn \
 --key-file   /etc/nginx/cert/solo365.cn/solo365.cn.key  \
 --fullchain-file /etc/nginx/cert/solo365.cn/solo365.cn.pem 
 --reloadcmd     "nginx -s reload"

该命令中的参数将自动保存在~/.acme.sh/solo365.cn目录下的solo365.cn.conf文件里,定时器更新证书的时候实现自动部署。

网站上申请CA证书(手工)

设置一条DNS的方式、申请证书

第三方网站申请证书网址:https://www.sslforfree.com/

图

进入网站输入域名点击DNS解析生成证书

图

上面打错了是cn不是com

然后点击Download SSL Certificate后进行验证

图

点击下载

Last modification:January 23, 2020
如果觉得我的文章对你有用,请随意赞赏