7

运维安全概述 | WooYun知识库

 6 years ago
source link:
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

运维安全概述

0x00 前言


运维安全是企业安全保障的基石,不同于Web安全移动安全或者业务安全,运维安全环节出现问题往往会比较严重。

一方面,运维出现的安全漏洞自身危害比较严重。运维服务位于底层,涉及到服务器,网络设备,基础应用等,一旦出现安全问题,直接影响到服务器的安全;另一方面,一个运维漏洞的出现,通常反映了一个企业的安全规范、流程或者是这些规范、流程的执行出现了问题,这种情况下,可能很多服务器都存在这类安全问题,也有可能这个服务还存在其他的运维安全问题。

本文一方面希望帮助甲方覆盖一些盲点,另一方面也能够为白帽子提供一些漏洞挖掘的方向和思路。

0x01 Attack Surface


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

enter image description here

附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进入内网

WooYun: 腾讯某站配置不当可导致部分地区腾讯视频播放源损坏

通常情况下,造成这些安全问题并非是安全技术的缺陷,更多的是安全规范、标准流程覆盖不全的情况,如新业务三方业务收购的业务,运维体系还没有统一,运维安全建设没有及时跟上;即使在安全规范和流程覆盖完全的情况下,在具体的执行也会出现一系列问题。安全规范和标准流程越多,越容易出现执行上的问题。

这两类问题是建设时期比较典型的情况。很多时候,领导都会有这样的疑问,我们的规范、流程已经推到各个部门,看起来各个部门也按照标准执行了,为什么还会有这么多“漏网之鱼”?

于是如何主动的发现这些漏网之鱼也是一个急迫的需求。

这个时候需要安全运营的介入,安全运营在戴明环中扮演的量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可内网)

比如web服务开放问题: WooYun: 腾讯某服务配置不当导致包括数据库文件、密码hash等任意文件可下载

比如运维在Github泄露导致的安全问题: WooYun: 淘宝敏感信息泄漏可进入某重要后台(使用大量敏感功能和控制内部服务器)

0x03 参考


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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK