引言
本文代码已提交至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop
淘东项目的聚合支付模块博客至此已经写完,有兴趣的同学可以参阅聚合支付的文章:
- 《淘东电商项目(52) -聚合支付开篇》
- 《淘东电商项目(53) -银联支付案例源码分析》
- 《淘东电商项目(54) -银联支付案例(同步与异步)》
- 《淘东电商项目(55) -支付系统核心表设计》
- 《淘东电商项目(56) -支付系统分布式事务的解决方案》
- 《淘东电商项目(57) -聚合支付(支付令牌接口)》
- 《淘东电商项目(58) -聚合支付(基于设计模式自动跳转支付接口)》
- 《淘东电商项目(59) -聚合支付(集成银联支付)》
- 《淘东电商项目(60) -聚合支付(集成支付宝)》
- 《淘东电商项目(61) -聚合支付(基于模板方法设计模式管理支付回调)》
- 《淘东电商项目(62) -聚合支付(基于模板方法设计模式管理支付回调-支付宝)》
- 《淘东电商项目(63) -聚合支付(多线程日志收集)》
- 《淘东电商项目(64) -聚合支付(XXL-JOB任务调度平台整合)》
- 《淘东电商项目(65) -聚合支付(异步对账)》
- 《淘东电商项目(66) -聚合支付(基于RabbitMQ解决分布式事务-积分场景)》
本文开始讲解关于互联网安全架构设计的方案。
本文目录结构:
1. 互联网安全架构设计的方案
毋庸置疑,互联网安全架构这一块是非常重要的,如何保证互联网安全呢?
说到互联网架构的安全,肯定会涉及到的一个概念叫“网关”,下面来看看之前写的一篇博客里的图片《互联网并发与安全系列教程(14) - 基于Nginx实现API网关》
可以知道,对于开发人员来说,如果要做到后台的安全性,除了负载均衡服务器(Nginx)这一块需要做处理外,主要还是要对我们的API网关做出安全性处理,那网关有什么处理呢?下面贴出方案:
- 基于网关实现IP黑名单与名单拦截
- API接口实现Token授权认证
- 使用MD5实现API接口验证签名,防止抓包篡改数据
- 实现API接口安全加密传输(公钥和私钥互换机制)
- 基于Oauth2.0 实现API接口开放平台
- 接口参数使用网关实现防止XSS、SQL注入
- 定期工具实现代码健康扫描
对于第1点:解决方式是很简易的,只要我们设置好IP黑名单,当黑名单里面的ip访问我们的服务器前,会先经过网关,在网关里需要查询DB或Redis来判断该ip是否在黑名单内,如果是的,则拒绝访问。
对于第2点:基于Token指的是,用户必须携带正确的令牌才能访问,否则拒绝。
对于第3点: 使用MD5加盐,即客户端使用MD5对提交内容进行加签,传输的内容依然是明文的,到了服务器后,也使用MD5验证签名,如果签名没问题,说明数据是没有被篡改过的,否则拒绝访问。
对于第4点: 加密传输,在前面的“支付宝支付”场景(RSA加密)用到过,主要是客户有一个私钥,加密传输给后台,后台获取数据后,使用公钥解密,如果验证不通过,则拒绝访问。
对于第5点: 主要是在提供接口给第三方用到,第三方用户必须OAuth2.0验证通过后,携带验证通过后令牌访问我们的后台,后台判断是否允许其访问。
对于第6点: 主要是判断接口参数来防止XSS、SQL注入(可能描述不太清晰,具体的可以Google)。
对于第7点: 可以使用定时任务,检查代码是否有报错,如果有,可以收集起来,并通知相关的开发人员。
接下来的博客将以代码的形式呈现给各位童鞋们,让大家更加的了解其原理。
本文完!