# 乌云归档：运维安全概述

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2015-09-02T11:31:00Z
Canonical: https://wepostx.com/topics/1015

> 乌云历史资料归档
>
> **原始作者：** iv4n
> **原始编号：** superkieran-wooyundrops:742
> **原始发布时间：** 2015-09-02 19:31
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

# 0x00 前言

运维安全是企业安全保障的基石，不同于Web安全、移动安全或者业务安全，运维安全环节出现问题往往会比较严重。
一方面，运维出现的安全漏洞自身危害比较严重。运维服务位于底层，涉及到服务器，网络设备，基础应用等，一旦出现安全问题，直接影响到服务器的安全；另一方面，一个运维漏洞的出现，通常反映了一个企业的安全规范、流程或者是这些规范、流程的执行出现了问题，这种情况下，可能很多服务器都存在这类安全问题，也有可能这个服务还存在其他的运维安全问题。
本文一方面希望帮助甲方覆盖一些盲点，另一方面也能够为白帽子提供一些漏洞挖掘的方向和思路。

# 0x01 Attack Surface

一图胜千言，下图是个人近期总结的一些常见的运维风险点。

![原文图片](/media/2016/06/87f3fe4982ff575a300f6b2d4f56e235)

附XMIND源地址： [https://github.com/LeoHuang2015/ops_security/blob/master/%E8%BF%90%E7%BB%B4%E5%AE%89%E5%85%A8.xmind](https://github.com/LeoHuang2015/ops_security/blob/master/%E8%BF%90%E7%BB%B4%E5%AE%89%E5%85%A8.xmind)

# 0x02 运维安全对抗发展

攻防对抗本身就是不平等的，防御是一个面，而攻击者只需要一个点。要防住同一level的攻击，需要投入的防御成本是巨大的。 在攻防对抗的各个level，高level的攻击手段是可以随意贯穿低level的防御层面。

### 救火
对于很多小公司（其实也包括很多大公司），对待安全漏洞的态度基本上都是遇到一个坑，填一个坑，这种纯“救火”的态度无法保障运维安全，只会像打地鼠一样，疲于奔命。
然而大部分公司都处在这个level——填坑救火（不救火的公司没有讨论的必要）。一方面是公司自身的安全意识不强；另一方面是小公司的安全资源配备有限。

### 漏网之鱼 VS 建设 + 运营
不同于小公司，一些大公司，特别是互联网公司，安全发展已经逐渐的从“救火”进入到“建设”的阶段。
从甲方的角度而言，这个过程是艰辛的，长久的。
在企业进入安全“建设”的阶段时，运维安全漏洞会呈指数级下降，一些常见和普通的问题不再出现。
这个时候，对抗点会集中在一些比较边缘的点。包括不常见的服务端口，依赖第三方服务的问题，又或者是一些合作方服务器安全漏洞等情况。
比如：
[WooYun: 腾讯内部员工接私活导致某qq.com域服务器shell进入内网](http://www.wooyun.org/bugs/wooyun-2015-0109929)
[WooYun: 腾讯某站配置不当可导致部分地区腾讯视频播放源损坏](http://www.wooyun.org/bugs/wooyun-2015-099916)
通常情况下，造成这些安全问题并非是安全技术的缺陷，更多的是安全规范、标准流程覆盖不全的情况，如新业务、三方业务、收购的业务，运维体系还没有统一，运维安全建设没有及时跟上；即使在安全规范和流程覆盖完全的情况下，在具体的执行也会出现一系列问题。安全规范和标准流程越多，越容易出现执行上的问题。
这两类问题是建设时期比较典型的情况。很多时候，领导都会有这样的疑问，我们的规范、流程已经推到各个部门，看起来各个部门也按照标准执行了，为什么还会有这么多“漏网之鱼”？
于是如何主动的发现这些漏网之鱼也是一个急迫的需求。
这个时候需要安全运营的介入，安全运营在戴明环中扮演的量C/A的角色，定期check安全规范、流程标准的执行情况，然后推动安全问题的Fix，找到根本原因，一方面不断的完善规范和流程，另一方面不断的提升运维安全的覆盖面。
比较常见的就是安全扫描，通过定期扫描发现的问题，反推流程和规范的执行；当然，通过白帽子报告的漏洞，确定是流程和规范的原因后，进行反推也是一种有效的方式。

### “新”漏洞 VS 预警 + 响应
天下武功，唯快不破
在运维安全提醒建设到相对完善的情况下，通常情况下，企业是相对安全的。但是，一旦有新漏洞的出现(在国内，有exp发布的漏洞往往就等于新漏洞），拼的就是响应速度。
一方面是需要安全运营对这些严重漏洞的快速预警；另一方面就是安全专家的技术功底了。在没有官方补丁发布的情况下，如何通过一些hack技巧进行防御也是非常重要的。
比如最近几年比较大的安全事件，如2013年7月17日的struts2漏洞，2014年4月7日的心血漏洞，就算是国内甲方最强安全团队BAT也是难于幸免。 这一level，甲方非常难做，唯一能保障的就是在中招后提示响应和修复的速度。

### 人 安全意识 VS 安全教育
在整个运维安全的对抗中，人这一块尤为重要，运维安全做的越好，这块越发重要。
安全规范和标准可以落实到各个部门，以流程的方式强制执行。但是运维人员安全意识的问题，很难进行控制。
最简单的就是弱口令，弱口令，弱口令！
各种系统的弱口令，各种后台的弱口令，各种服务的弱口令。这么多年了从来没有断过。
很多运维有些“坏”习惯。
比如直接在web目录进行web文件备份、nohup后台运行程序。这样会导致备份文件、程序执行的日志泄露；又或者随便开一个web服务下日志或者传数据，如python -m SimpleHTTPServer，这样就直接把目录映射到所有用户，如果是根目录，影响就更大了；当然，还有些运维喜欢把自动化脚本上传到git，脚本这东西，密码就在里面，一不小心就直接泄露了密码。
比如弱口令： [WooYun: 百度某分站修改了弱口令还更弱（可shell可内网）](http://www.wooyun.org/bugs/wooyun-2015-0115342)
比如web服务开放问题： [WooYun: 腾讯某服务配置不当导致包括数据库文件、密码hash等任意文件可下载](http://www.wooyun.org/bugs/wooyun-2015-092151)
比如运维在Github泄露导致的安全问题： [WooYun: 淘宝敏感信息泄漏可进入某重要后台（使用大量敏感功能和控制内部服务器）](http://www.wooyun.org/bugs/wooyun-2014-062243)

# 0x03 参考

http://drops.wooyun.org/papers/410

## Replies
