Spring Cloud微服务安全实战_4-9_用zuul网关解耦安全逻辑和业务逻辑
摘要:上一篇通过网关, 解决了 问题1:微服务场景下,客户端访问服务的复杂性未解决 问题2:安全逻辑和业务逻辑的耦合;问题3:微服务过多对认证服务器的压力增大 本篇将微服务里的安全相关的逻辑挪到网关上来,这样就能解决这两个问题。 在之前的订单服务里(资源服务器),主要做了两件事: 1,认证,拿token去
阅读全文
Spring Cloud微服务安全实战_4-8_网关安全_01
摘要:到目前为止已经实现了一个基于OAuth2的认证和授权的流程(如下图),订单还是一个单一的节点,还没有进入到微服务的环境下。 实际场景下,类似订单服务的服务,可能有几十个,每个服务是一个集群,有几十个节点,如下图, 在这种场景下,当前微服务架构下的问题: 问题1:安全处理和业务逻辑耦合,增加了复杂性和
阅读全文
Spring Cloud微服务安全实战_4-7_token&client信息持久化到数据库
摘要:本篇讲数据的持久化: 1,客户端应用 持久化到数据库 之前的章节里,客户端信息是在配置在代码里的,是存在内存里的,这样新增或删除一个客户端应用,都要改代码,然后还要重启认证服务器。 2,token 持久化到数据库 之前的章节里,token信息都是存在内存里的,这样的话重启服务器后,token就没了。
阅读全文
Spring Cloud微服务安全实战_4-6_OAuth2的Scope参数_token转换为用户信息
摘要:一、通过OAuth2 Toke的Scope参数控制权限 1,在服务端认证服务器里,通过配置客户端的Scope,可以控制给这个客户端生成的token有哪些权限 2,在客户端,申请令牌的时候,可以指定scope 示例:在资源服务器 (nb-order-api)里,控制post请求的token ,其sco
阅读全文
CentOS单机安装FastDFS&整合Nginx
摘要:单机安装 一 准备工作 准备linux服务器或虚拟机,这里是虚拟机,操作系统CentOS 6.4 Tracker 和 Storage 安装在一台机器上 FastDFS 5.08版本 1,准备软件 软件下载:http://sourceforge.net/projects/fastdfs/files/
阅读全文
Spring Cloud微服务安全实战_4-5_搭建OAuth2资源服务器
摘要:上一篇搭建了一个OAuth2认证服务器,可以生成token,这篇来改造下之前的订单微服务,使其能够认这个token令牌。 本篇针对订单服务要做三件事: 1,要让他知道自己是资源服务器,他知道这件事后,才会在前边加一个过滤器去验令牌(配置@EnableResourceServer 配置类) 2,要让他
阅读全文
Spring Cloud微服务安全实战_4-4_OAuth2协议与微服务安全
摘要:接上篇文章,在这个流程中,PostMan可以代表客户端应用,订单服务是资源服务器,唯一缺少的是 认证服务器 ,下面来搭建认证服务器 项目结构: Pom.xml : DependencyManager 引入SpringCloud的配置,Dependency引入 spring-cloud-starter
阅读全文
Spring Cloud微服务安全实战_4-3_订单微服务&价格微服务
摘要:实现一个场景: 订单微服务: POM: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSch
阅读全文
Spring Cloud微服务安全实战_4-2_常见的微服务安全整体架构
摘要:这个图适用于中小公司的微服务架构 微服务:SpringBoot 写的Rest服务 服务注册与发现:微服务所必备的。每个微服务都会到上边去注册。不管是微服务之间的调用,还是服务网关到微服务的转发,都是通过服务注册和发现拿到服务的信息,来进行服务的调用或转发。 配置中心:统一管理配置的地方。 服务网关:
阅读全文
Spring Cloud微服务安全实战_4-1_微服务网关安全_概述&微服务安全面临的挑战
摘要:第四章 网关安全 这一章从简单的API的场景过渡到复杂的微服务的场景 4.1 概述 微服务安全面临的挑战:介绍中小企业的一个微服务架构,相比第三章的单体应用的简单的API所面临的哪些挑战 OAuth2协议与微服务安全:介绍OAuth2中的各个角色,以及相互之间的关系,介绍具体的代码实现 微服务网关安
阅读全文
Spring Cloud微服务安全实战_3-8_API安全之登录
摘要:前面的文章 https://www.cnblogs.com/lihaoyang/p/11967121.html 说了用过滤器实现HttpBasic 认证 ,在请求头里携带用户名和密码,存在的问题是,你不可能让用户每个请求都输入用户名密码吧,即使前端把用户名密码存起来,这也是不安全的。 一、基于Tok
阅读全文
Spring Cloud微服务安全实战_3-7_API安全之授权
摘要:API安全之授权 访问控制: 1,ACL :Access Control Lists,直接给每个用户授权,他能访问什么。开发简单,但是用户多的话,给每个用户授权比较麻烦。 2,RBAC:Role Based Access Control。给角色授权,给用户赋予角色。授权简单,开发麻烦。 下边用ACL
阅读全文
Spring Cloud微服务安全实战_3-6_API安全机制之审计
摘要:审计日志 定义:谁,在什么时间,干了什么事。 位置:认证之后,授权之前。 这样就知道是谁在访问,拒绝掉的访问也能被记录。如果放在认证之前,那么就不知道是谁在访问;如果放在授权之后,就没办法记录被拒绝的访问。 存储:审计日志一定要持久化,记在数据库里或者是文件,放在内存会丢失。(输出到公司的日志服务)
阅读全文
Spring Cloud微服务安全实战_3-5_API安全之常见问题
摘要:1,数据校验,解决接口层的参数校验,是api安全的前线。可以用JSR303注解进行接口层面的校验 ,参考文章:https://www.ibm.com/developerworks/cn/java/j-lo-jsr303/index.html 2,密码加密(这个不说了,有很多加密算法),解决数据存储层
阅读全文
Spring Cloud微服务安全实战_3-4_API安全机制之认证
摘要:认证:登录和认证是 两个概念,比如你两周、一个月,可能只登录了一次,但认证却是每次访问都要经过的步骤。 对于图中的认证不成功,也要继续处理,这个我觉得得看业务,比如管理系统,不登录就不让你访问,但对于比如电商的商品信息,不登录,也是可以访问的。 一、写一个用户注册服务 数据库user表: User类
阅读全文
Spring Cloud微服务安全实战_3-3_API安全之流控
摘要:这几篇将API安全的 流控、认证、审计、授权 简单的过一遍,对这些概念先有个初步印象。后边还会详细讲解。 本篇说API安全之流控~第一印象。 一、概念 流控,流量控制,只放系统能处理的请求的数量过去,处于api安全链路的第一关。 为什么要做流控?保证系统的可用性,防止大流量把系统给压死。流控的位置做
阅读全文