传输安全
http 窃听
- 窃听用户密码
- 窃听传输敏感信息
- 非法获取个人资料
Windows 下命令行执行 tracert 命令可查看一个请求响应完整走的路径
还可以可以用 node 全局安装anyproxy
工具来进行操作
anyproxy
简介
AnyProxy 是阿里巴巴基于 Node.js 开发的一款开源代理服务器。
代理服务器站在客户端和服务端的中间,它可以收集双方通信的每个比特。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务所使用的代理协议,请求对目标服务器创建连接或者获取目标服务器的指定资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应。
AnyProxy 是完全可以灵活配置的代理服务器。它支持 https 明文代理 ,且提供了 Web 界面便于观测请求情况,同时支持二次开发,可以用 JavaScript 来控制代理的全部流程,搭建前端个性化调试环境。
http 篡改
- 插入广告
- 重定向网站
- 无法防御的 XSS 和 CSRF 攻击
传输案例
- 运营商劫持
- 例如:广告,
- 局域网劫持
- 例如:窃取密码
- 公共 WiFi 获取密码
- 例如:获取敏感信息
- 上面这些都会造成信息泄露,造成严重后果
https
现在叫的 TLS 就是以前的 SSL
通过证书机制来保证安全
- 证书无法伪造
- 证书私钥不被泄露
- 域名管理权不泄露
- CA 坚守原则
以上条例保证了可靠的安全性
若要查看本地设备的证书
选择运行从启动菜单中,然后输入certlm.msc。
将显示本地设备的证书管理器工具。
若要查看您的证书,在证书-本地计算机在左窗格中,展开你想要查看的证书的类型的目录。
查看当前用户证书
选择运行从启动菜单中,然后输入certmgr.msc
。当前用户的证书管理器工具会显示。
若要查看您的证书,在证书-当前用户在左窗格中,展开你想要查看的证书的类型的目录。
添加删除证书(这种事一般不要干)
选择运行从启动菜单中,然后输入mmc
。
将显示在 MMC。
从文件菜单中,选择添加/删除管理单元。添加或删除管理单元窗口会显示。
从可用的管理单元列表中,选择证书,然后选择添加。
添加证书管理单元
在中管理单元中的证书窗口中,选择计算机帐户,然后选择下一步。
或者,您可以选择我的用户帐户当前用户或服务帐户针对特定服务。
备注:如果您不管理员为你的设备,你可以仅对你的用户帐户的管理证书。
在中选择计算机窗口中,保留本地计算机选择,并选择完成。
在中管理单元中添加或删除窗口中,选择确定。
添加证书管理单元
可选:从文件菜单中,选择保存或另存为保存 MMC 控制台文件以供将来使用。
若要查看你的证书 MMC 管理单元中,选择控制台根节点在左窗格中,然后展开证书 (本地计算机)将显示每种类型的证书的目录的列表。 从每个证书目录中,可以查看、 导出、 导入,并删除其证书。
具体的操作可以参考 Microsoft 官网上的
http 和 https
http 不安全,会被窃听到,用以传输非敏感信息
https 安全,不会被第三方窃听到,但需要证书,用以传输敏感信息,但没 http 效率高
两者各有优点各有缺点,结合使用最好
证书可在浏览器控制台的Secrity
查看详细的证书
http.creatServer(app.callback()).listen(1521,function(){
console.log('app http is listen on port 1521')
})
https.creatServer({
key: fs.readFileSync('./cert/private.key'),//秘钥
cert: fs.readFileSync('./cert/fullchain.crt'),//证书(生成的根证书要和自己的证书要在都在这里,将根证书粘贴到另一个证书中)
},app.callback()).listen(1521,function(){
console.log('app http is listen on port 1521')
})
// https模块还是要导入的