云原生安全与DevOps保障
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.6 快速安全审计

在我们集中精力解决发票应用的部署时,我们忽略了一些关于应用、基础设施及CI/CD流水线的安全问题:

•GitHub、CircleCI还有Docker Hub需要互相访问。在默认情况下,这三种访问权限会被授予给高权限的账户,这些账户如果遭到泄露,就会威胁到托管在这些账户下的其他服务。而使用低权限账户可以提升安全性。

•类似地,用来访问AWS的凭证也很容易被泄露,从而让不怀好意的人拥有对环境的所有访问权限。应该使用多因子身份验证和细粒度的权限来减小凭证泄露带来的影响。

•我们的数据库安全实践也欠佳。不仅发票应用使用管理员账户访问PostgreSQL,而且数据库本身也是完全公开的。提升数据库的安全性是降低攻击风险的良策。

•发票应用的公开接口使用了明文的HTTP,这意味着连接路径上的任何人都可以复制和修改传输中的数据。HTTPS是一种简单地获得安全性的方法,我们应该马上使用它。

•最后,发票应用自身也是完全开放给互联网的。我们需要身份验证和更健壮的安全实践来保障应用的安全。

在第1部分剩下的篇幅里,我们会逐一解决这些问题并讨论如何提升安全性。我们有一些工作要做,还有四章关于保护DevOps流水线的内容:

•我们从第3章的应用安全说起,讨论发票应用要面对的漏洞和控制。

•基础设施安全性将在第4章中讨论,我们将对托管生产服务的AWS环境进行加固。

•在第5章中我们将实现HTTPS,用来保证发票应用的通信安全。

•流水线安全是第6章的主题,包括在CI/CD中构建和部署代码的安全原则。