【慕课网】Spring cloud微服务安全实战:一站式学习微服务安全知识体系和常见解决方案

【慕课网】Spring cloud微服务安全实战:一站式学习微服务安全知识体系和常见解决方案插图

采用流行的微服务架构开发时,有三大问题:认证授权、可用性、可视化需要面对。本课程从简单的API安全入手,过渡到复杂的微服务场景,解决上述三大问题痛点,并结合实际给出相应解决方案。

全站首门Spring Cloud微服务安全实战开发,安全的服务,是每个后端开发者需掌握的硬技能。

从零开始实战演练:从简单的API入手,到复杂的微服务场景逐一拆解

  • 采用最新技术栈:最新版本SpringCloud和SpringBoot,包含Spring Security,OAuth2 ,Promethus,Sentinel等
  • 高质量源代码:以百万用户级上线运行的生产代码为基础,针对课程进行优化和重构
  • 系统思维养成:对微服务安全形成系统性思考,并部署整体解决方案
  • 个人、职场双进阶:形成完整知识体系,提升架构水平;解决工作中遇到的常见的安全问题

三大关键问题,一次开发全部实现

  • 认证与授权:Spring Security (OAuth2) + Spring Cloud 技术栈,Netflix Zuul + JWT 实现微服务环境下前后端分离,架构的SSO和权限控制
  • 可用性:guava + zuul rate limit + sentinel,实现流控、熔断、降级和隔离
  • 可视化:promethus + grafana + alertManager 监控 Metrics,elastic search + filebeat + kibana 监控 log,pinpoint 监控 tracing

讲师JoJo

斯达克上市公司技术总监,创业公司CTO, 具有15年开发和技术培训经验。致力于前后端技术和架构领域,有丰富的理论、实践经验,曾多次参与大型银行和互联网公司核心系统的架构设计和开发

具有15年开发和技术培训经验。致力于前后端技术和架构领域,有丰富的理论、实践经验。曾多次参与大型银行和互联网公司核心系统的架构设计和开发

课程目录

第1章 课程导学 试看1 节 | 10分钟
我们会对整个课程的内容做一个简要的介绍,包括章节的安排,使用的主要技术栈,实战案例的介绍以及前置知识的介绍等内容。
※1-1 课程导学 (09:57)

第2章 环境搭建1 节 | 6分钟
开发工具的介绍及安装,介绍项目代码结构并搭建,基本的依赖和参数设置。
※2-1 环境安装 (05:45)

第3章 API安全 试看14 节 | 199分钟
我们从简单的API场景入手,讲述API安全相关的知识。首先我们会介绍要保证一个API安全都需要考虑哪些问题,然后我们针对这些问题介绍常见的安全机制,我们会针对每种问题和安全机制编写相应的代码,让大家对这些问题和安全机制有一个初步的认识。…
※3-1 API安全 常见的安全机制 (16:11)
※3-2 第一个API及注入攻击防护 (28:51)
※3-3 API安全机制之流控 (11:22)
※3-4 API安全机制之认证(1) (14:17)
※3-5 API安全机制之认证(2) (15:20)
※3-6 API安全机制之数据校验 (11:47)
※3-7 API安全机制之数据加密 (09:21)
※3-8 API安全机制之Https (09:26)
※3-9 API安全机制之审计日志 (23:57)
※3-10 API安全机制之授权 (16:51)
※3-11 API安全机制之登录 (17:38)
※3-12 session固定攻击防护 (07:59)
※3-13 重构代码 (11:53)
※3-14 章节小结 (03:27)

第4章 微服务网关安全 试看11 节 | 190分钟
我们会从简单的API场景过渡到复杂的微服务场景,首先我们会介绍在微服务场景下,相比简单的API场景,我们会面临哪些新的挑战。后我们会介绍一个中小企业中常见的微服务架构,同时也会介绍OAuth2协议,我们会讲一下这个架构和OAuth2协议如何一起解决这些新的挑战。在这一章的后半部分,我们会在网关上做一些开发,演示如何在…
※4-1 章节概述 (01:35)
※4-2 微服务安全的新挑战 (14:08)
※4-3 常见的微服务安全整体架构 (21:20)
※4-4 OAuth2协议与微服务安全 (16:07)
※4-5 搭建OAuth2认证服务器 (20:25)
※4-6 搭建OAuth2资源服务器 (18:10)
※4-7 重构代码以适应真实环境 (28:20)
※4-8 Zuul网关安全开发(一) (15:54)
※4-9 Zuul网关安全开发(二) (18:35)
※4-10 Zuul网关安全开发(三) (17:11)
※4-11 Zuul网关安全开发(四) (17:27)

第5章 微服务身份认证和SSO12 节 | 184分钟
我们会学习微服务安全中比较重要的一个话题:身份认证,我会在微服务环境下实现一个前后端完全分离的单点登录(SSO)。在这个过程中,我们会进一步介绍OAuth2协议中的各种授权协议,以及如何使用这些协议达成我们的目标。最终我们会实现两个版本的SSO:基于服务器Session的实现和基于浏览器Cookie的实现。…
※5-1 单点登录基本架构 (08:43)
※5-2 前端页面改造 (18:59)
※5-3 后端服务改造 (20:14)
※5-4 请求转发及退出 (16:12)
※5-5 实现授权码认证流程(1) (16:19)
※5-6 实现授权码认证流程(2) (15:44)
※5-7 实现基于session的SSO(客户端应用的Session有效期) (16:21)
※5-8 实现基于session的SSO(认证服务器的session有效期) (06:23)
※5-9 实现基于session的SSO(Token有效期) (17:33)
※5-10 实现基于session的SSO(Token有效期) (17:47)
※5-11 实现基于token的SSO(1) (14:58)
※5-12 实现基于token的SSO(2) (14:38)

第6章 微服务之间的通讯安全11 节 | 181分钟
我们会聚焦于微服务之间的安全。我们会演示如何使用CA分发证书,保证微服务之间的通讯是安全的。我们也会讲解如何使用JWT来确保微服务之间的通讯安全。最后,我们会介绍一下阿里的开源框架Sentinel,以及如何使用Sentinel来实现集中式的微服务流控、熔断和降级管理,以确保微服务的可用性。…
※6-1 本章概述 (04:48)
※6-2 JWT认证之认证服务改造 (15:12)
※6-3 JWT改造之网关和服务改造 (22:30)
※6-4 权限控制改造 (19:12)
※6-5 jwt改造之日志及错误处理(1) (14:39)
※6-6 jwt改造之日志及错误处理(2) (13:38)
※6-7 jwt改造总结 (10:05)
※6-8 sentinel限流实战 (24:56)
※6-9 sentinel之熔断降级 (20:48)
※6-10 sentinel之热点和系统规则 (08:17)
※6-11 sentinel之配置持久化 (26:42)

第7章 微服务监控和报警13 节 | 189分钟
我们会介绍微服务的监控、追踪和报警。首先我们会介绍如何使用Promethus + Grafana + AlertManger来采集微服务的Metrics信息,并基于这些信息自动报警。其次我们会介绍如何使用 ElasticSearch + FileBeat + Kibana 来采集和查询微服务日志信息。最后我们会介绍一个调用链路追踪工具 pinpoint,用来监控微服务的t…
※7-1 章节概述 (07:13)
※7-2 docker快速入门 (09:05)
※7-3 prometheus环境搭建 (19:14)
※7-4 整合SpringBoot和Prometheus (12:51)
※7-5 配置grafana图表及报警 (20:47)
※7-6 自定义metrics监控指标(1) (19:53)
※7-7 自定义metrics监控指标(2) (19:13)
※7-8 ELK+SpringBoot环境搭建 (18:59)
※7-9 自定义日志采集的格式和内容 (14:10)
※7-10 ELK日志采集架构优化 (12:40)
※7-11 PinPoint+SpringBoot环境搭建 (18:52)
※7-12 整合链路追踪和日志监控 (13:50)
※7-13 章节总结 (02:00)

第8章 课程总结1 节 | 4分钟
这一章我们会回顾整门课中学到的知识,并对后面的进一步学习指出一些方向。
※8-1 课程总结 (04:00)