甲方安全建设的思路学习和思考

对甲方安全建设的知识学习以及对未来职业规划的思考

Preface

最近一次偶然的面试被问到了甲方安全,和面试官交流学到了很多思维上面的东西。

面对这从未涉足过的方面,我希望能先从互联网上的文章借鉴一些体系化流程建设的思路,学习一些方法论

当然在学习甲方安全建设的过程中我经常会引发一些对未来的思考

以下几篇文章给我带来的触动颇多:

其中一张图更是引发了我平淡的学习生活中对未来规划的一个思考

此外,和面试官聊了一些关于甲乙方对安全的看法等等,我惭愧的发现自己一直忽略了漏洞的防止和修复这一个关键的点上。每次都只知道个大概,而真正的业务上的修复却不知道如何着手。我决定从现在开始改掉这个坏习惯。

安全建设步骤

下文步骤转自 @pirogue 师傅文章:甲方安全建设步骤

  1. 资产梳理
    • IP列表、业务分组(负责人、联系方向)、业务属性
    • 业务端口
    • 业务应用架构、技术堆栈
  1. 边界安全,防火墙策略控制(需要梳理业务端口)
    • 如果是硬件,使用防火墙统一控制
    • 如果是操作系统,Iptalbes+IPSEC
    • 及时监控业务端口的变化(外部nmap扫描搜集结果比对,或者编写脚步放到运维平台收集系统监听端口和防火墙策略)
    • 跳板机安全控制
  1. 账户安全管理
    • 弱密码
    • root、sudoer权限
    • 账户、授权、访问、审计等等
  1. 服务器安全
    • 安全基线检测
    • 操作审计
    • 异常登录审计(日志收集分析)
    • 漏洞清点/扫描,补丁修复测试和推进
  1. WEB安全
    • 应用渗透测试
    • 接口安全(加密、通信)
    • webshell实时监测
    • Nginx日志分析/Nginx流量旁路分析
  1. 业务风控安全
    • 用户安全机制(密码、验证码、登录)
    • 交易安全
  1. 安全培训
    • 安全意识培训
    • 运维安全培训
    • WEB安全开发
  1. 安全规范和流程
    • 人员入职账户开通
    • 人员离职账户注销
    • 服务器上下架安全管理
    • 安全应急响应机制
  1. 内网安全
    • 内网服务器安全
    • 账户统一验证和管理机制(域ldap协议统一验证OA、RTX、邮件、内网业务系统)
    • 弱口令监测(NTLM/LM)
    • 账户异常登录
    • 网络隔离(物理/虚拟化)
    • 网络准入
    • PC安全(病毒统一管理、通知处理)

关于一些思路这篇文章从多个维度讲解了安全建设的思考,个人感觉写的非常不错:https://www.secrss.com/articles/26532

一、安全与业务的关系

二、互联网企业安全建设整体思路

三、互联网企业面临安全风险与影响

四、互联网企业核心安全目标

五、互联网企业核心安全能力建设

六、互联网企业安全蓝图

七、互联网企业安全整体视角

八、如何落地实施

九、分阶段安全体系建设

十、做好安全建设的必要条件

十一、如何衡量安全建设的效果

十二、安全漏洞管理平台建设实践

十三、写在最后

另一篇着重谈体系化思考的文章也非常不错:企业安全建设的体系思考与落地实践: https://www.secrss.com/articles/11299

关键点就是对知识的学习、提炼、总结、分类,然后根据当前环境分析,最后解决问题

SDL

微软安全开发生命周期(Security Development Lifecycle)简称 SDL

SDL 过程图

更多参看:

[1]【软件安全设计】安全开发生命周期(SDL) http://blog.nsfocus.net/sdl/
[2] 微软SDL官方地址
http://www.microsoft.com/security/sdl/default.aspx
[3] Microsoft SDL 的简化实施
https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=12379
[4] SDL 威胁建模工具入门
https://msdn.microsoft.com/zh-cn/magazine/dd347831.aspx

此外这篇文章 https://xz.aliyun.com/t/6625 在介绍 SDL 的时候花了很大的篇幅在讲 SonarQube 相关的安装和配置,没有接触过 SonarQube 。先留个坑。

DevSecOps

根据网上大多数文章,我发现现在很多大企业都在推进 DevSecOps

SDL与DevSecOps有各自的适用场景,对软件安全开发的发展都有着重要的贡献。

DevSecOps越来越受到周期短、迭代快的互联网业务的欢迎,也成为安全界的流行趋势

什么是 DevSecOps ??

DevSecOps一词最早由Gartner在2012年提出,并从2017年开始逐渐成为热门词汇。DevSecOps可以理解为将安全性融入到DevOps的过程中,在整个开发和运维的过程中将安全作为一项重要的考虑因素,最终实现应用整个生命周期内的安全性。利用DevSecOps实现安全自动化可以在提高研发运维效率的同时增强应用的安全性。

关于 SDL 和 DevSecOps 的对比可以看这篇文章:https://www.secrss.com/articles/28407

业内首次对该模型及配套解决方案进行详细的分析,核心理念为:安全是整个IT团队(包括开发、测试、运维及安全团队)所有成员的责任,需要贯穿整个业务生命周期的每一个环节。每个人都对安全负责,安全工作前置,柔和嵌入现有开发流程体系。

详细一点的我引入 携程DevSecOps实践 一文的图

这一图大概的能理清楚每一个缓解的事项

更详细的可以参考云鼎实验室的图

以下三个例子分别是不同企业在建设 DevSecOps 的思路分享

DevSecOps的安全工具金字塔: https://www.secrss.com/articles/28514

安全测试的自动化

工具链的建设可能是落地的一个重要环节

DAST

SAST

SAST 之前需要了解代码审计

这一篇文章写的非常好:https://www.secrss.com/articles/13724

同时里面附加了商业工具的一个评测

思考和小结

结合现状考虑,作为一个在校生,综合多个因素,在不接触企业中体系化的甲方建设流程情况下,我觉得可以着手的方面如下(其中参杂部分乙方视角)

当然它仅仅只是从 DevSecOps 流程中抽出来的几个板块,并不能代表整个安全流程建设,针对找工作而言,上面的内容应该是对甲乙方安全都有帮助的。

Laravel <= v8.4.2 debug mode RCE 漏洞分析
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×