依赖与代码扫描
在每次提交或拉取请求时自动检查,在代码合并之前发现第三方库中的已知漏洞和常见的代码缺陷。
企业通常是在一次有惊无险之后,才决定迪拜聘请 DevSecOps 工程师:一个已知缺陷的依赖包在生产环境里躺了好几个月,一份凭证被不小心提交到代码仓库,或者团队无法自信地回答客户的安全问卷。DevSecOps 工程师不会把安全当作项目末尾的一道关卡,而是把它嵌入流水线的每一个阶段,让问题在代码写出来的那一刻就被标记,而不是等到发布之后。
OWASP 自己的 DevSecOps 成熟度模型描述的正是这种转变:在常规的 DevOps 流程里,安全往往被忽视,或者到很晚才被硬塞进去,这套模型的作用,就是展示如何把扫描和管控直接融入流水线本身,而不是当作一项独立的、偶尔进行的工作。这和一般的流水线搭建是不同的工作,需要一位候选人像思考部署速度一样自然地思考攻击面。
这个页面介绍了 DevSecOps 工程师实际交付的工作内容、雇用前值得核查的项目,以及让这个角色对处理客户数据的企业来说不只是锦上添花的阿联酋规则。
DevSecOps 工程师搭建的内容
自动化、可重复执行的管控,而不是上线前的一次人工审查。
在每次提交或拉取请求时自动检查,在代码合并之前发现第三方库中的已知漏洞和常见的代码缺陷。
把 API 密钥、密码和令牌从源代码中移出,放进专门的密钥存储中,轮换和访问权限都限制在每个服务真正需要的范围内。
基础镜像和构建好的容器在被允许部署之前会检查已知漏洞,而不是只有在有人想起来才去扫描。
Terraform 或类似的配置在应用之前会被检查常见的配置错误,例如未加限制的存储桶或权限过宽的访问策略。
记录一次构建中究竟包含哪些组件和版本,这样一旦出现新披露的漏洞,就能核对当前运行环境是否受影响。
谁能批准一次部署,谁能修改基础设施,以及这些权限如何被定期审查,而不是无限期地累积下去。
重要技能
实用的安全直觉,而不是一份工具名称清单。
| 技能或工具 | 好的水平是什么样 | 为什么重要 |
|---|---|---|
| 依赖扫描 | 调优过扫描器以减少误报,而不只是打开开关 | 吵闹的扫描器会被忽略,失去检查的意义 |
| 密钥处理 | 能描述自己配置过的真实密钥存储,以及轮换是如何运作的 | 凭证泄露是导致安全事件最常见的原因之一 |
| 威胁建模基础 | 会思考一项功能可能被如何滥用,而不只是它能不能正常运行 | 扫描工具能发现已知模式,但不能覆盖设计中的每一种风险 |
| 流水线关卡 | 清楚什么时候应该自动阻止部署,什么时候应该交给人来判断 | 逢检测必阻止会拖垮团队,什么都不阻止又失去了意义 |
| 阿联酋及地区数据规则 | 清楚处理个人数据会带来法律义务,即便不是律师 | 流水线可能把数据带到企业从未打算送达的地方 |
由 Open Worldwide Application Security Project 发布的 OWASP DevSecOps 成熟度模型,是向候选人说明要求时很有用的共同参考,因为它列出的是成熟度等级,而不是单一的及格线。当迪拜客户请我们通过招聘支持来聘请 DevSecOps 工程师时,我们自己也是用这套框架来评估候选人的。
合作方式
经常发布、真正涉及客户数据风险的企业,最适合找一位专职工程师,把流水线的安全状况当作持续的责任来负责,而不是一次性任务。限定范围的项目适合具体目标,例如为目前既没有扫描也没有密钥存储的现有流水线加入这两项能力,交接时附带完整文档。咨询则适合想对现有配置进行独立审查的团队,通常是在客户审计或新的合规要求之前,暂时还不打算承诺一个长期职位。
评估候选人
能把真正的安全实践和只会背检查清单的思维区分开来的问题。
选择招聘支持的客户,在迪拜聘请 DevSecOps 工程师时,会由我们团队代为完成同一套评估。
不是被他们直接忽略的扫描器警报。问一下这个漏洞是怎么被发现的,是如何在其他工作中排出优先级的,以及之后流水线里发生了什么变化。
优秀的候选人会有一套处理扫描器噪音的流程,而不是养成一种习惯,把警报太多的检查项直接关掉。
问一下凭证需要轮换时会发生什么,这是一次手忙脚乱的临时操作,还是一个经过测试的常规流程。
请他们举一个因为某项发现而真正叫停部署的例子,再举一个他们判断风险足够低、加个说明就放行的例子。
假设有一条完全没有安全管控的流水线,好的候选人会给出一个清晰、有优先顺序的起点,而不是想一次性把所有东西都加上。当您在迪拜聘请 DevSecOps 工程师、想看看对方是怎么思考而不只是知道什么的时候,这往往是最值得问的一个问题。
认证
具体、可核实的证书,而不是一个笼统的安全徽章。
云服务商会颁发专门的安全认证,例如 AWS Certified Security, Specialty,与它们的 DevOps 认证并列,某些扫描工具背后的厂商有时也会自设培训体系。目前并不存在由某个统一权威机构颁发的通用「DevSecOps 证书」,不像其他一些岗位那样有明确的认证标准。
一个有具体名称的云安全认证值得询问,也可以通过颁发机构自己的门户核实。除此之外,在迪拜雇用 DevSecOps 工程师时,OWASP DevSecOps 成熟度模型提供了一套共同的说法,可以用来问候选人过去雇主的流水线处于这个尺度上的哪个位置,以及原因,这比单单一个证书名称能说明更多问题。
阿联酋相关规定
两个来自官方渠道的方面。
根据阿联酋政府官方门户,2021 年第 45 号联邦法令,也就是阿联酋的个人数据保护法,规定了保护个人数据并在取得同意后处理数据的义务。这是迪拜企业选择聘请 DevSecOps 工程师、而不是把扫描和访问控制交给运气的最直接原因之一。
迪拜电子安全中心(Dubai Electronic Security Center)将自身职责描述为保护政府信息系统,并为迪拜制定网络安全标准。与迪拜政府部门合作或有业务往来的企业,在敲定安全架构之前,应该查阅 DESC 已发布的标准。
直接解答
不是。上线前只跑一次的检查清单,更接近传统的安全审查。DevSecOps 指的是扫描、策略检查和密钥处理在每一次流水线运行中自动执行,问题在引入的当天就会被发现,而不是几个月后才发现。
如果您的 DevOps 工程师已经在运行依赖扫描、妥善管理密钥,并在流水线中执行访问控制,您实际上可能已经在做 DevSecOps 的工作。如果安全检查是手动、偶尔进行,或者没有专人负责,专职的 DevSecOps 工程师能补上这个缺口。
通常包括应用自身代码中的已知缺陷、第三方依赖中的已知漏洞、容器镜像在运行前的检查,以及基础设施即代码中的配置错误,还有密钥和访问密钥的存储与轮换方式。
配置不当的扫描确实可能拖慢节奏,主要是因为误报浪费了开发人员的时间。DevSecOps 工程师的工作之一,就是针对您的代码库调优工具,让真正的问题浮现出来,而不是把团队淹没在噪音里。
通常可以,从实际层面描述目前有哪些扫描和管控措施。正式的信息安全管理体系认证是另一套独立的认证流程,我们不提供,也不声称自己持有。
资料来源
书面固定价格
已收到,我们正在为您撰写报价。
工作时间内您将在 45 分钟内收到。请查收确认邮件。