淘东电商项目(67) -互联网安全架构设计(方法论)

引言

本文代码已提交至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop

淘东项目的聚合支付模块博客至此已经写完,有兴趣的同学可以参阅聚合支付的文章:

本文开始讲解关于互联网安全架构设计的方案。

本文目录结构:
l____引言
l____ 1.互联网安全架构设计的方案

1. 互联网安全架构设计的方案

毋庸置疑,互联网安全架构这一块是非常重要的,如何保证互联网安全呢?

说到互联网架构的安全,肯定会涉及到的一个概念叫“网关”,下面来看看之前写的一篇博客里的图片《互联网并发与安全系列教程(14) - 基于Nginx实现API网关》

在这里插入图片描述

可以知道,对于开发人员来说,如果要做到后台的安全性,除了负载均衡服务器(Nginx)这一块需要做处理外,主要还是要对我们的API网关做出安全性处理,那网关有什么处理呢?下面贴出方案:

  1. 基于网关实现IP黑名单与名单拦截
  2. API接口实现Token授权认证
  3. 使用MD5实现API接口验证签名,防止抓包篡改数据
  4. 实现API接口安全加密传输(公钥和私钥互换机制)
  5. 基于Oauth2.0 实现API接口开放平台
  6. 接口参数使用网关实现防止XSS、SQL注入
  7. 定期工具实现代码健康扫描

对于第1点:解决方式是很简易的,只要我们设置好IP黑名单,当黑名单里面的ip访问我们的服务器前,会先经过网关,在网关里需要查询DB或Redis来判断该ip是否在黑名单内,如果是的,则拒绝访问。

对于第2点:基于Token指的是,用户必须携带正确的令牌才能访问,否则拒绝。

对于第3点: 使用MD5加盐,即客户端使用MD5对提交内容进行加签,传输的内容依然是明文的,到了服务器后,也使用MD5验证签名,如果签名没问题,说明数据是没有被篡改过的,否则拒绝访问。

对于第4点: 加密传输,在前面的“支付宝支付”场景(RSA加密)用到过,主要是客户有一个私钥,加密传输给后台,后台获取数据后,使用公钥解密,如果验证不通过,则拒绝访问。

对于第5点: 主要是在提供接口给第三方用到,第三方用户必须OAuth2.0验证通过后,携带验证通过后令牌访问我们的后台,后台判断是否允许其访问。

对于第6点: 主要是判断接口参数来防止XSS、SQL注入(可能描述不太清晰,具体的可以Google)。

对于第7点: 可以使用定时任务,检查代码是否有报错,如果有,可以收集起来,并通知相关的开发人员。

接下来的博客将以代码的形式呈现给各位童鞋们,让大家更加的了解其原理。

本文完!

猜你喜欢

转载自blog.csdn.net/qq_20042935/article/details/106219678