安全

验证与授权

单点登录SSO

单点登录是指当主题视图访问某一资源时,会被重定向到一个身份提供者,这个提供者负责鉴别主体,鉴别完成之后将通知服务提供者采取相应操作

单点登录网关

使用一个统一的网关来鉴别主体,有效地减少重复编码。

但是需要解决的一个问题是,随着服务间的调用,如何在服务间传递这个身份信息?

使用HTTP头携带是个不错的办法

深度防御

把所有鸡蛋放在一个篮子里是不安全的,深度防御的理念是对系统中的每一层做防御,以避免单点故障带来的严重后果

细粒度的授权

当授权角色细分达到一定的粒度时,对系统的管理维护来说是很复杂的。

整体来说,权限的粒度划分应该要以组织的结构为依据

服务间的验证与授权

就如局域网内的通信,在边界内的服务通信,通常都被默认为安全的

使用HTTP是不安全的,但是如果使用HTTPS则需要考虑证书的管理问题以及HTTPS无法被缓存等

静态数据的安全

深度防御

不同的范围使用不同的防火墙

日志虽然无法预防,但是可以事后检测发生了什么

IDS通常是在可信范围内尽力查找可疑目标

微服务可以利用分布部署的优点来进行网络隔离

操作系统的漏洞仍然不可小视

保持节俭

真的需要存储那么多数据吗?

为了安全,或者为了用户的隐私,只需要存取必须的数据即可

内建安全

可以将一些自动化的安全工具集成的CI中

外部验证

外包出去给第三方进行渗透测试