写点什么

DevOps 与信息安全

  • 2014-05-03
  • 本文字数:2203 字

    阅读完需:约 7 分钟

DevOps 在国内社区逐渐推广,其关注于改善开发与运维团队之间的沟通与协作。最近,来自于 Yellow Spider 公司的 COO Leslie Sachs 和顾问 Bob Aiello撰文分享了如何使用 DevOps 最佳实践来使您的信息安全更加健壮和有效。

首先,作者回答了为何信息安全是 DevOps 的关键组成部分之一:

DevOps 在确保开发人员与运维人员能一起工作并且更有效率方面非常成功。通过 DevOps,运维团队可以获得他们所需要用于了解如何建立有效和可靠应用程序构建、打包和部署过程方面的信息。而信息安全组也同样有许多与运维团队一样的需求。此外,InfoSec 还需要获得他们需要用于确保整个系统是安全和可靠方面的信息。正如 DevOps 帮助开发和运维团队能更有效地一起工作一样,DevOps 也可以帮助开发和信息安全团队更有效地一起工作。在 DevOps 中,持续部署已经成为 DevOps 的一个关键实践,并且关注于通过自动化的构建、打包和部署来自动化部署流水线。通过提供一个平台可以在开发生命周期里尽早访问和定位安全问题,信息安全团队也同样能够从部署流水线上得到显著的获益。只要一旦有风险评估被介入,有效的安全保障就应当永远与之同步进行。

需要强调的是,DevOps 可以帮助定位安全风险。作者指出,作为软件或系统开发工作的一部分,风险需要被理解和定位。安全保障不能仅仅在开发过程的末尾才加入进来。系统需要在开发生命周期的最开始,就将安全保障与设计和开发一道同时得到关注。

  • DevOps 提供了必需的构造来帮助定位众多安全风险,这是创建任何复杂技术系统的内在要求。
  • 安全漏洞往往是各种事件的直接后果。例如,在 C/C++ 系统中进行不恰当的编码实践就可能导致缓冲溢出条件有机会被恶意攻击者用于实施越级程序权限。缓冲溢出攻击经常被攻击者所利用,来获得系统的控制权,甚至可以很有效地获得 root 权限。
  • 运行时事件的发生也可能导致不恰当的安全控制,例如发生在不同组件之间的身份验证与授权。一个常见的安全问题根源就是来自于由于某次部署所应用的不正确的访问权限。
  • 另外一个安全问题领域是确保所部署的是正确的代码。在部署过程中所带来的错误有可能会暴露给恶意攻击者。
  • 在不同接口之间的配置问题经常会曝露给攻击者,以被其用于尝试侵入系统。一旦系统缺乏防范措施,不恰当的安全控制问题就有可能导致非授权的变更变得非常难以识别,而且难于执行鉴定证明来查清到底有哪些变更是由于错误或是由于恶意目的所造成的。

作者指出,通过有效的源代码管理来构建安全的系统,软件质量需要从最开始构建。

DevOps 及部署流水线帮助有效地创建和提供测试环境,以用于评估和测试在组件间接口上的安全漏洞。通过以及时到位的方式提供一个健壮的测试环境可以增强安全性,通过提供一个自动化的测试平台可以用于识别需要被定位的安全问题。一旦代码中的问题被找到,它们就能被定位作为缺陷或变更请求,从而在它们的整个生命周期中被追踪到,以确保已被识别的风险可以被定位。

在“开发、运维和信息安全团队之间的协作”方面,作者强调,信息安全团队通常非常缺乏足够能理解复杂系统常见的内在自有安全漏洞方面的技术专家。

正如 DevOps 能改善开发与运维之间的沟通,DevOps 同样能增强信息安全团队的能力,它允许信息安全团队完全理解整个应用以及它是如何构建、打包和部署的。这一知识可以帮助 InfoSec 维护一个相关的和有效的关注。通过理解系统的基础架构,InfoSec 同样可以帮助理解何时安全会被突破以及应该采取什么样的措施应对该安全漏洞,尤其在基础设施自身缺乏安全免疫力的前提下。在许多案例中,这对使用自动化的过程重建服务器来说非常关键。

在“自动化应用程序的构建、打包和部署”方面,作者指出,可以以多种方式来创建自动化过程来构建、打包和部署代码来支持敏捷迭代开发。

自动化构建过程是实现持续集成(continuous integration)和持续交付(continuous delivery)的一个前提条件。构建过程应当自动化地嵌入不可改变的版本 ID 到每一个由构建过程所使用或所创建的配置项(configuration item,CI)中。这也是加密哈希值(hash)应当被创建的地方。冲刺里程碑发布版本(Sprint milestone release)可以被用于测试和验证在项目启动阶段(inception)尚未被完全理解的需求。更加重要的是,关于如何构建每一个组件的技术细节可以被隐含性地文档记录,并可以被包括了信息安全方面的感兴趣的利益相关者所审阅。在代码中创建变体可以建立应用程序的测试,包括机制化代码来建立与安全相关的测试。

当然,要想实现信息安全,执行入侵测试是是必不可少的步骤。

部署流水线提供了一个有效的框架来创建所必须的测试环境来执行入侵测试。通过 DevOps,入侵测试可以在整个软件和系统生命周期中贯彻进行。通过改善开发和信息安全团队之间的沟通,DevOps 及 InfoSec 都可以在通常专门为入侵测试所留出的短小时间片断里设计和执行更加有效的入侵测试。部署流水线同样可以使信息安全人员可以获得对于有效评估安全漏洞来说非常关键的技术信息。

最后,作者指出,必须要提供安全可信的应用程序基础。

为了确保可信的应用程序基础,应当使用可以安全识别准确二进制代码以及所有其他配置项(包括 XML 及属性配置文件)的过程来构建应用程序代码,以便您可以毫无疑问地证明正确的代码确实被部署和确认没有非授权的变更发生。这些过程通常会使用在应用程序自动化构建和打包过程中就首先创建的加密哈希值。一旦代码被部署,哈希值就可以被重新计算来验证所有的代码是否被正确部署。

2014-05-03 08:042300
用户头像

发布了 501 篇内容, 共 280.4 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

QCon-小布助手对话系统工程实践

安第斯智能云

直播整理 | TDengine 技术内幕分享:兼容 OpenTSDB

TDengine

数据库 tdengine OpenTSDB

TiDB Hackathon 项目白皮书—LotusDB

roseduan

TiDB KV存储引擎 kv

PingCode 技术架构揭秘

PingCode研发中心

架构 技术架构 研发 PingCode

面向 web 开发人员的免费托管服务

开源之巅

【鲲鹏 DevKit黑科技揭秘】│如何实现全链路系统问题90%精准诊断?

华为云开发者联盟

内存 性能分析 内存泄漏 鲲鹏 鲲鹏 DevKit

模块三作业

cqyanbo

在线JSON转MySQL建表语句工具

入门小站

工具

SLICK: Facebook基于SLO的可靠性保障实践

俞凡

facebook 架构 大厂实践

Babel 学习日记(0)

恒生LIGHT云社区

前端 babel

如何把 MySQL 备份验证性能提升 10 倍

Juicedata

MySQL 数据库 云存储 数据备份

如何在 Go 中将 []byte 转换为 io.Reader?

AlwaysBeta

golang Go 语言

持续创新·驱动计算:英特尔2021年技术发展大盘点

科技新消息

近百万条数据、3秒查询,TDengine助力北微云平台的搭建

TDengine

数据库 tdengine 物联网

Flink CDC 系列 - Flink MongoDB CDC 在 XTransfer 的生产实践

XTransfer技术

flink 分布式数据库mongodb

大数据开发之Spark SQL及基础引擎知识分享

@零度

大数据 spark SQL

等保五级怎么划分?适用于哪些系统?

行云管家

网络安全 等级保护 等保测评 信息安全等级保护

FFmpeg的一些应用实践-补充

为自己带盐

ffmpeg 28天写作 12月日更

检索、问答、情感分析场景前沿技术方案分享!

百度开发者中心

自然语言处理

网络编程懒人入门(十三):一泡尿的时间,快速搞懂TCP和UDP的区别

JackJiang

TCP 网络编程 udp 即时通讯 IM

面试官:this和super有什么区别?this能调用到父类吗?

王磊

Hoo虎符研究院 | Mir Protocol 调研报告

区块链前沿News

Hoo虎符 虎符交易所 好项目

Linux云计算之使用rsync+sersync 实现数据实时同步

学神来啦

Linux centos linux运维 rsync linux云计算

Dubbo的预热与停机实践

快看工程技术中心

dubbo 优雅停机 服务预热

59 K8S之Elasticsearch节点

穿过生命散发芬芳

k8s 28天写作 12月日更

SphereEx 亮相 openGauss Summit 2021,同云和恩墨签订战略合作协议

SphereEx

开源 ShardingSphere SphereEx 云和恩墨 战略合作

新官网心体验,腾讯WeTest全新产品功能与解决方案发布!

WeTest

四款常见IT自动化运维工具简单介绍-行云管家

行云管家

运维 IT运维 自动化运维

并发场景加锁优化小技巧

程序员小航

jdk 并发

【Netty技术专题】「原理分析系列」Netty强大特性之ByteBuf零拷贝技术原理分析

码界西柚

Netty 零拷贝 zero copy 12月日更

RandomAccessFile 解决多线程下载及断点续传

李尚智

微服务架构 断点续传 大文件断点续传 RandomAccessFile 微服务附件

DevOps与信息安全_安全_崔康_InfoQ精选文章