Spring cloud微服务安全实战
【课程介绍】采用流行的微服务架构开发,应用程序访问安全将会面临更多更复杂的挑战,尤其是开发者最关心的三大问题:认证授权、可用性、可视化。本课程从简单的API安全入手,过渡到复杂的微服务场景,解决上述三大问题痛点,并结合实际给出相应解决方案。帮助大家形成对安全问题的系统性思考,实战开发一套可在中小公司落地的完整的安全方案。
【课程目录】
- 第1章 课程导学我们会对整个课程的内容做一个简要的介绍,包括章节的安排,使用的主要技术栈,实战案例的介绍以及前置知识的介绍等内容。
- 1-1 课程导学
- 1-1 课程导学
- 第2章 环境搭建开发工具的介绍及安装,介绍项目代码结构并搭建,基本的依赖和参数设置。
- 2-1 环境安装
- 第3章 API安全我们从简单的API场景入手,讲述API安全相关的知识。首先我们会介绍要保证一个API安全都需要考虑哪些问题,然后我们针对这些问题介绍常见的安全机制,我们会针对每种问题和安全机制编写相应的代码,让大家对这些问题和安全机制有一个初步的认识。…
- 3-1 API安全 常见的安全机制
- 3-2 第一个API及注入攻击防护
- 3-3 API安全机制之流控
- 3-4 API安全机制之认证(1)
- 3-5 API安全机制之认证(2)
- 3-6 API安全机制之数据校验
- 3-7 API安全机制之数据加密
- 3-8 API安全机制之Https
- 3-9 API安全机制之审计日志
- 3-10 API安全机制之授权
- 3-11 API安全机制之登录
- 3-12 session固定攻击防护
- 3-13 重构代码
- 3-14 章节小结
- 3-1 API安全 常见的安全机制
- 第4章 微服务网关安全我们会从简单的API场景过渡到复杂的微服务场景,首先我们会介绍在微服务场景下,相比简单的API场景,我们会面临哪些新的挑战。后我们会介绍一个中小企业中常见的微服务架构,同时也会介绍OAuth2协议,我们会讲一下这个架构和OAuth2协议如何一起解决这些新的挑战。在这一章的后半部分,我们会在网关上做一些开发,演示如何在…
- 4-1 章节概述
- 4-2 微服务安全的新挑战
- 4-3 常见的微服务安全整体架构
- 4-4 OAuth2协议与微服务安全
- 4-5 搭建OAuth2认证服务器
- 4-6 搭建OAuth2资源服务器
- 4-7 重构代码以适应真实环境
- 4-8 Zuul网关安全开发(一)
- 4-9 Zuul网关安全开发(二)
- 4-10 Zuul网关安全开发(三)
- 4-11 Zuul网关安全开发(四)
- 第5章 微服务身份认证和SSO我们会学习微服务安全中比较重要的一个话题:身份认证,我会在微服务环境下实现一个前后端完全分离的单点登录(SSO)。在这个过程中,我们会进一步介绍OAuth2协议中的各种授权协议,以及如何使用这些协议达成我们的目标。最终我们会实现两个版本的SSO:基于服务器Session的实现和基于浏览器Cookie的实现。…
- 5-1 单点登录基本架构
- 5-2 前端页面改造
- 5-3 后端服务改造
- 5-4 请求转发及退出
- 5-5 实现授权码认证流程(1)
- 5-6 实现授权码认证流程(2)
- 5-7 实现基于session的SSO(客户端应用的Session有效期)
- 5-8 实现基于session的SSO(认证服务器的session有效期)
- 5-9 实现基于session的SSO(Token有效期)
- 5-10 实现基于session的SSO(Token有效期)
- 5-11 实现基于token的SSO(1)
- 5-12 实现基于token的SSO(2)
- 第6章 微服务之间的通讯安全我们会聚焦于微服务之间的安全。我们会演示如何使用CA分发证书,保证微服务之间的通讯是安全的。我们也会讲解如何使用JWT来确保微服务之间的通讯安全。最后,我们会介绍一下阿里的开源框架Sentinel,以及如何使用Sentinel来实现集中式的微服务流控、熔断和降级管理,以确保微服务的可用性。…
- 6-1 本章概述
- 6-2 JWT认证之认证服务改造
- 6-3 JWT改造之网关和服务改造
- 6-4 权限控制改造
- 6-5 jwt改造之日志及错误处理(1)
- 6-6 jwt改造之日志及错误处理(2)
- 6-7 jwt改造总结
- 6-8 sentinel限流实战
- 6-9 sentinel之熔断降级
- 6-10 sentinel之热点和系统规则
- 6-11 sentinel之配置持久化
- 第7章 微服务监控和报警我们会介绍微服务的监控、追踪和报警。首先我们会介绍如何使用Promethus + Grafana + AlertManger来采集微服务的Metrics信息,并基于这些信息自动报警。其次我们会介绍如何使用 ElasticSearch + FileBeat + Kibana 来采集和查询微服务日志信息。最后我们会介绍一个调用链路追踪工具 pinpoint,用来监控微服务的t…
- 7-1 章节概述
- 7-2 docker快速入门
- 7-3 prometheus环境搭建
- 7-4 整合SpringBoot和Prometheus
- 7-5 配置grafana图表及报警
- 7-6 自定义metrics监控指标(1)
- 7-7 自定义metrics监控指标(2)
- 7-8 ELK+SpringBoot环境搭建
- 7-9 自定义日志采集的格式和内容
- 7-10 ELK日志采集架构优化
- 7-11 PinPoint+SpringBoot环境搭建
- 7-12 整合链路追踪和日志监控
- 7-13 章节总结
- 第8章 课程总结这一章我们会回顾整门课中学到的知识,并对后面的进一步学习指出一些方向。
- 8-1 课程总结