#冲刺创作新星#如何保证Serverless应用的安全性 原创
如何保证Serverless应用的安全性
坚持原创,写好每一篇文章
上篇文章我们讲了Serverless与传统应用相比,一些安全性防护的措施对Serverless应用来说无效,安全的测试方法对Serverless应用来说也不好使。那么针对安全性的问题,Serverless可以从哪些方面入手让系统变得更安全呢?这篇文章就带你了解一下
应用操作的追踪
因为Serverless建立在顶层,很多操作我们很难定位,因为我们可以日志来记录应用中的状态,结合ELK这样的日志存储服务,并设置一些报警,方便我们及时知道应用出了问题。还可以一些服务器的占用情况进行统计,对于不需要的资源及时释放,我们还可以添加操作的日志,对于敏感的操作设置报警机制。
数据安全
因为我们把代码是上传到云上的,我们可以在传输过程中使用TLS安全传输层协议进行对传输数据的加密,在云存储上进行加密操作,像阿里云对象存储支持KMS加密,对应各种应用配置信息我们也可以使用加密处理,防止用户名密码登一些重要配置信息的泄露
代码安全
我们可以从代码本身入手,减少应用代码的漏洞,包括引入依赖的时候我们注意一下引入的依赖是否存在安全漏洞,一般依赖包有安全漏洞的话会爆出来。我们可以使用API网关触发器来先对请求进行处理然后再转交给函数,API网关可以对API有一定的保护作用,它还有流量监控,版本记录等功能。同时还从输入的内容入手,针对输入数据进行验证,对执行的SQL的参数进行预处理,防止出现SQL注入的问题。
权限控制
权限控制方面我们尽量使用临时访问凭证来对资源进行操作,比如我们常用的访问OSS对象存储的时候就是先使用AccessKeyId 和 AccessKeySecret获取到临时token之后,然后通过临时的token来对对象存储进行访问,临时token有一定的时效性,所以保证了安全。在角色的权限分配上,我们尽量针对函数分配最小的权限,防止权限不正当应用。身份认证也是重要的一环,一般我们都是使用API网关这一层进行身份认证。
总结
这篇文章我们讲了保证Serverless应用安全的一些措施,分别从代码的角度,数据的角度,权限的角度和操作跟踪的角度,安全问题不可忽视,当然安全性的操作远不止这些,了解的越多,对我们的系统越安全。
❤️ 感谢大家
如果你觉得这篇内容对你挺有有帮助的话:
- 欢迎关注我❤️,点赞👍🏻,评论🤤,转发🙏
- 关注
周结论本人
,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。 - 有不当之处欢迎批评指正。